This commit is contained in:
parent
5896a30928
commit
78bb6c9447
12
README.md
12
README.md
@ -76,15 +76,21 @@
|
||||
### 配置文件参考
|
||||
|
||||
```yaml
|
||||
# 地图画阵列的最大尺寸 宽
|
||||
MaxFrameX: 32
|
||||
|
||||
# 地图画阵列的最大尺寸 高
|
||||
MaxFrameY: 18
|
||||
|
||||
CheckUpdate: true
|
||||
|
||||
# 是否启用经济系统 消耗玩家金钱生成地图画
|
||||
Economy:
|
||||
Enable: false
|
||||
CostPerMap: 100.0
|
||||
CostPerMap: 100.0 # 每张地图画的单价 - 3*3的地图画需要9张地图画 也就是 9*100 = 900
|
||||
|
||||
# 图床地址白名单,不在白名单中的图床将无法使用,留空表示不启用地址白名单
|
||||
AddressWhiteList: []
|
||||
|
||||
CheckUpdate: true
|
||||
|
||||
Debug: false
|
||||
```
|
||||
|
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>cn.lunadeer</groupId>
|
||||
<artifactId>ColorfulMap</artifactId>
|
||||
<version>2.1</version>
|
||||
<version>2.2</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>ColorfulMap</name>
|
||||
|
@ -4,6 +4,8 @@ import cn.lunadeer.colorfulmap.utils.VaultConnect.VaultConnect;
|
||||
import cn.lunadeer.colorfulmap.utils.XLogger;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Configuration {
|
||||
|
||||
public Configuration(ColorfulMap plugin) {
|
||||
@ -22,10 +24,12 @@ public class Configuration {
|
||||
_check_update = _file.getBoolean("CheckUpdate", true);
|
||||
_economy_enable = _file.getBoolean("Economy.Enable", false);
|
||||
_price = (float) _file.getDouble("Economy.CostPerMap", 100.0);
|
||||
_address_white_list = _file.getStringList("AddressWhiteList");
|
||||
if (_economy_enable) {
|
||||
XLogger.info("已启用经济系统");
|
||||
new VaultConnect(_plugin);
|
||||
}
|
||||
saveAll();
|
||||
}
|
||||
|
||||
public void saveAll() {
|
||||
@ -35,6 +39,7 @@ public class Configuration {
|
||||
_file.set("CheckUpdate", _check_update);
|
||||
_file.set("Economy.Enable", _economy_enable);
|
||||
_file.set("Economy.CostPerMap", _price);
|
||||
_file.set("AddressWhiteList", _address_white_list);
|
||||
_plugin.saveConfig();
|
||||
}
|
||||
|
||||
@ -98,6 +103,16 @@ public class Configuration {
|
||||
_plugin.saveConfig();
|
||||
}
|
||||
|
||||
public List<String> getAddressWhiteList() {
|
||||
return _address_white_list;
|
||||
}
|
||||
|
||||
public void setAddressWhiteList(List<String> address_white_list) {
|
||||
_address_white_list = address_white_list;
|
||||
_file.set("AddressWhiteList", address_white_list);
|
||||
_plugin.saveConfig();
|
||||
}
|
||||
|
||||
private final ColorfulMap _plugin;
|
||||
private FileConfiguration _file;
|
||||
private Boolean _debug;
|
||||
@ -106,4 +121,5 @@ public class Configuration {
|
||||
private Boolean _check_update;
|
||||
private Boolean _economy_enable;
|
||||
private Float _price;
|
||||
private List<String > _address_white_list;
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import cn.lunadeer.colorfulmap.ColorfulMap;
|
||||
import cn.lunadeer.colorfulmap.StorageMaps;
|
||||
import cn.lunadeer.colorfulmap.utils.ImageTool;
|
||||
import cn.lunadeer.colorfulmap.utils.Notification;
|
||||
import cn.lunadeer.colorfulmap.utils.UrlTools;
|
||||
import cn.lunadeer.colorfulmap.utils.VaultConnect.VaultConnect;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -24,6 +25,10 @@ public class Multi {
|
||||
|
||||
public static ItemStack generate(Player player, String url, Float scale) {
|
||||
try {
|
||||
if (!UrlTools.isInWhiteList(url)) {
|
||||
Notification.error(player, "无法生成地图画: 此图床地址不被允许使用");
|
||||
return null;
|
||||
}
|
||||
URL _url = new URL(url);
|
||||
BufferedImage raw_image = ImageIO.read(_url);
|
||||
BufferedImage resized_image;
|
||||
|
25
src/main/java/cn/lunadeer/colorfulmap/utils/UrlTools.java
Normal file
25
src/main/java/cn/lunadeer/colorfulmap/utils/UrlTools.java
Normal file
@ -0,0 +1,25 @@
|
||||
package cn.lunadeer.colorfulmap.utils;
|
||||
|
||||
import cn.lunadeer.colorfulmap.ColorfulMap;
|
||||
|
||||
public class UrlTools {
|
||||
|
||||
public static boolean isInWhiteList(String url) {
|
||||
if (ColorfulMap.config.getAddressWhiteList().isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
for (String whiteUrl : ColorfulMap.config.getAddressWhiteList()) {
|
||||
if (url.startsWith(whiteUrl)) {
|
||||
return true;
|
||||
}
|
||||
if (url.startsWith("http://" + whiteUrl)) {
|
||||
return true;
|
||||
}
|
||||
if (url.startsWith("https://" + whiteUrl)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
@ -6,6 +6,8 @@ Economy:
|
||||
Enable: false
|
||||
CostPerMap: 100.0
|
||||
|
||||
AddressWhiteList: []
|
||||
|
||||
CheckUpdate: true
|
||||
|
||||
Debug: false
|
Loading…
Reference in New Issue
Block a user