mirror of
https://github.com/CarmJos/MoeTeleport.git
synced 2026-06-05 00:28:16 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ce3226ee18 | |||
| 5461063263 | |||
| c7b0bf8261 |
@@ -0,0 +1,38 @@
|
|||||||
|
name: Release Version
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published # 创建release的时候触发
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: "Set up JDK"
|
||||||
|
uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
java-version: '11'
|
||||||
|
distribution: 'adopt'
|
||||||
|
cache: maven
|
||||||
|
server-id: github
|
||||||
|
server-username: MAVEN_USERNAME
|
||||||
|
server-password: MAVEN_TOKEN
|
||||||
|
- name: "Package"
|
||||||
|
run: mvn -B package --file pom.xml -Dmaven.javadoc.skip=true -DskipTests
|
||||||
|
env:
|
||||||
|
MAVEN_USERNAME: ${{ github.repository_owner }}
|
||||||
|
MAVEN_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||||
|
|
||||||
|
- name: "Upload Release Asset"
|
||||||
|
id: upload-release-asset
|
||||||
|
uses: shogo82148/actions-upload-release-asset@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
|
asset_path: asset/*.jar
|
||||||
|
asset_content_type: application/java-archive
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<groupId>cc.carm.plugin</groupId>
|
<groupId>cc.carm.plugin</groupId>
|
||||||
<artifactId>moeteleport</artifactId>
|
<artifactId>moeteleport</artifactId>
|
||||||
<version>1.0.4</version>
|
<version>1.1.0</version>
|
||||||
|
|
||||||
<name>MoeTeleport</name>
|
<name>MoeTeleport</name>
|
||||||
<description>喵喵传送,简单的传送、设置家的插件。</description>
|
<description>喵喵传送,简单的传送、设置家的插件。</description>
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import cc.carm.plugin.moeteleport.configuration.values.ConfigValueMap;
|
|||||||
|
|
||||||
public class PluginConfig {
|
public class PluginConfig {
|
||||||
|
|
||||||
public static final ConfigValueMap<String, Integer> PERMISSIONS = new ConfigValueMap<>(
|
public static final ConfigValueMap<Integer, String> PERMISSIONS = new ConfigValueMap<>(
|
||||||
"permissions", s -> s, Integer.class
|
"permissions", Integer::parseInt, String.class
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final ConfigValueList<String> DANGEROUS_TYPES = new ConfigValueList<>(
|
public static final ConfigValueList<String> DANGEROUS_TYPES = new ConfigValueList<>(
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import org.bukkit.configuration.file.FileConfiguration;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -50,13 +49,13 @@ public class ConfigValueMap<K, V> {
|
|||||||
if (valueCache != null) return valueCache;
|
if (valueCache != null) return valueCache;
|
||||||
ConfigurationSection section = getConfiguration().getConfigurationSection(this.configSection);
|
ConfigurationSection section = getConfiguration().getConfigurationSection(this.configSection);
|
||||||
if (section == null) return new LinkedHashMap<>();
|
if (section == null) return new LinkedHashMap<>();
|
||||||
Set<String> keys = getConfiguration().getKeys(false);
|
Set<String> keys = section.getKeys(false);
|
||||||
if (keys.isEmpty()) return new LinkedHashMap<>();
|
if (keys.isEmpty()) return new LinkedHashMap<>();
|
||||||
else {
|
else {
|
||||||
LinkedHashMap<K, V> result = new LinkedHashMap<>();
|
LinkedHashMap<K, V> result = new LinkedHashMap<>();
|
||||||
for (String key : keys) {
|
for (String key : keys) {
|
||||||
K finalKey = keyCast.apply(key);
|
K finalKey = keyCast.apply(key);
|
||||||
Object val = getConfiguration().get(this.configSection);
|
Object val = section.get(key);
|
||||||
V finalValue = this.valueClazz.isInstance(val) ? this.valueClazz.cast(val) : null;
|
V finalValue = this.valueClazz.isInstance(val) ? this.valueClazz.cast(val) : null;
|
||||||
if (finalKey != null && finalValue != null) {
|
if (finalKey != null && finalValue != null) {
|
||||||
result.put(finalKey, finalValue);
|
result.put(finalKey, finalValue);
|
||||||
@@ -67,7 +66,8 @@ public class ConfigValueMap<K, V> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void set(HashMap<K, V> valuesMap) {
|
public void set(LinkedHashMap<K, V> valuesMap) {
|
||||||
|
this.valueCache = valuesMap;
|
||||||
getConfiguration().createSection(this.configSection, valuesMap);
|
getConfiguration().createSection(this.configSection, valuesMap);
|
||||||
this.save();
|
this.save();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class UserListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onDeath(PlayerQuitEvent event) {
|
public void onQuit(PlayerQuitEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
Main.getRequestManager().cancelAllRequests(player);
|
Main.getRequestManager().cancelAllRequests(player);
|
||||||
Main.getUserManager().getData(player).save(); //保存
|
Main.getUserManager().getData(player).save(); //保存
|
||||||
|
|||||||
@@ -41,16 +41,17 @@ public class UserManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getMaxHome(Player player) {
|
public int getMaxHome(Player player) {
|
||||||
Map<String, Integer> permissions = PluginConfig.PERMISSIONS.get();
|
Map<Integer, String> permissions = PluginConfig.PERMISSIONS.get();
|
||||||
int value = PluginConfig.DEFAULT_HOME.get();
|
int current = PluginConfig.DEFAULT_HOME.get();
|
||||||
for (Map.Entry<String, Integer> entry : permissions.entrySet()) {
|
|
||||||
if (entry.getValue() > value && player.hasPermission(
|
for (Map.Entry<Integer, String> entry : permissions.entrySet()) {
|
||||||
Main.getInstance().getName() + "." + entry.getKey()
|
if (entry.getKey() > current && player.hasPermission(
|
||||||
|
Main.getInstance().getName() + "." + entry.getValue()
|
||||||
)) {
|
)) {
|
||||||
value = entry.getValue();
|
current = entry.getKey();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return value;
|
return current;
|
||||||
}
|
}
|
||||||
|
|
||||||
public HashMap<UUID, UserData> getUserDataMap() {
|
public HashMap<UUID, UserData> getUserDataMap() {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ defaultHome: 1
|
|||||||
permissions:
|
permissions:
|
||||||
# 以下命令全部为 MoeTeleport 的子节点
|
# 以下命令全部为 MoeTeleport 的子节点
|
||||||
# 如 "home.vip" 的权限全拼就是 "MoeTeleport.home.vip"
|
# 如 "home.vip" 的权限全拼就是 "MoeTeleport.home.vip"
|
||||||
"home.vip": 10 # 最多可以设置10个家
|
10: "home.vip" # 最多可以设置10个家
|
||||||
|
|
||||||
# 传送请求过期时间
|
# 传送请求过期时间
|
||||||
expireTime: 30
|
expireTime: 30
|
||||||
|
|||||||
Reference in New Issue
Block a user