Skip to content

Commit 136c966

Browse files
committed
refactor: bundle crash fix feature implementation
refactor: trident dupe fix feature implementation build: add plugin.bukkit.common_bukkit module
1 parent 0be2d47 commit 136c966

24 files changed

Lines changed: 264 additions & 187 deletions

File tree

plugin/bukkit/api_bukkit/src/main/java/cn/chengzhimeow/mhdftools/bukkit/api/MHDFToolsBukkit.java

Lines changed: 0 additions & 16 deletions
This file was deleted.

plugin/bukkit/api_bukkit/src/main/java/cn/chengzhimeow/mhdftools/bukkit/api/manager/BungeeCordManager.java

Lines changed: 0 additions & 34 deletions
This file was deleted.

plugin/bukkit/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ allprojects {
2626

2727
dependencies {
2828
api(project(":plugin:bukkit:api_bukkit"))
29+
api(project(":plugin:bukkit:common_bukkit"))
2930
api(project(":plugin:bukkit:compatibility"))
3031
api(project(":plugin:bukkit:modules"))
3132

plugin/bukkit/common_bukkit/build.gradle.kts

Whitespace-only changes.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package cn.chengzhimeow.mhdftools.bukkit.common.bungee;
2+
3+
import lombok.Getter;
4+
import lombok.Setter;
5+
6+
import java.util.List;
7+
8+
public abstract class BungeeCordManager {
9+
@Getter
10+
@Setter
11+
private static BungeeCordManager instance;
12+
13+
/**
14+
* 检测是否开启群组模式
15+
*
16+
* @return 结果
17+
*/
18+
public abstract boolean isBungeeCordMode();
19+
20+
/**
21+
* 获取子服在线玩家列表
22+
*
23+
* @return 子服在线玩家列表
24+
*/
25+
public abstract List<String> getBukkitPlayerList();
26+
27+
/**
28+
* 获取在线玩家列表
29+
*
30+
* @return 在线玩家列表
31+
*/
32+
public abstract List<String> getPlayerList();
33+
34+
/**
35+
* 判断指定玩家ID的玩家是否在线
36+
*
37+
* @param name 玩家ID
38+
* @return 结果
39+
*/
40+
public abstract boolean ifPlayerOnline(String name);
41+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package cn.chengzhimeow.mhdftools.bukkit.common.inventory;
2+
3+
import org.bukkit.entity.Player;
4+
import org.bukkit.event.inventory.ClickType;
5+
import org.bukkit.event.inventory.InventoryClickEvent;
6+
import org.bukkit.inventory.ItemStack;
7+
8+
public final class InventoryUtil {
9+
/**
10+
* 获取指定菜单点击事件中点击的物品实例
11+
*
12+
* @param event 菜单点击事件实例
13+
* @return 物品实例
14+
*/
15+
public static ItemStack getClickItem(InventoryClickEvent event) {
16+
if (event.getClickedInventory() == null) return null;
17+
18+
Player player = (Player) event.getWhoClicked();
19+
if (event.getClick() == ClickType.NUMBER_KEY) {
20+
ItemStack item = player.getInventory().getItem(event.getHotbarButton());
21+
if (item == null) return event.getClickedInventory().getItem(event.getRawSlot());
22+
return item;
23+
}
24+
25+
return event.getCurrentItem();
26+
}
27+
}

plugin/bukkit/modules/impl/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ subprojects {
77
allprojects {
88
dependencies {
99
compileOnly(project(":plugin:bukkit:api_bukkit"))
10+
compileOnly(project(":plugin:bukkit:common_bukkit"))
1011
compileOnly(project(":plugin:bukkit:compatibility"))
1112
}
1213
}

plugin/bukkit/modules/impl/module_bugfix/build.gradle.kts

Whitespace-only changes.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package cn.chengzhimeow.mhdftools.bukkit.module.bugfix;
2+
3+
import cn.chengzhimeow.mhdftools.bukkit.module.Module;
4+
import cn.chengzhimeow.mhdftools.bukkit.module.bugfix.config.ConfigSetting;
5+
import cn.chengzhimeow.mhdftools.config.AbstractYamlSetting;
6+
import org.jetbrains.annotations.NotNull;
7+
8+
public final class ModuleMain extends Module {
9+
public static ModuleMain instance;
10+
11+
public ModuleMain() {
12+
super("bugfix");
13+
ModuleMain.instance = this;
14+
}
15+
16+
@Override
17+
public void onLoad() {
18+
ConfigSetting.getInstance().saveDefaultFile();
19+
ConfigSetting.getInstance().update();
20+
ConfigSetting.getInstance().reload();
21+
}
22+
23+
@Override
24+
public @NotNull AbstractYamlSetting getConfig() {
25+
return ConfigSetting.getInstance();
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package cn.chengzhimeow.mhdftools.bukkit.module.bugfix.config;
2+
3+
import cn.chengzhimeow.mhdftools.bukkit.module.bugfix.ModuleMain;
4+
import cn.chengzhimeow.mhdftools.config.AbstractYamlSetting;
5+
import lombok.Getter;
6+
7+
public final class ConfigSetting extends AbstractYamlSetting {
8+
@Getter(lazy = true)
9+
private static final ConfigSetting instance = new ConfigSetting();
10+
11+
private ConfigSetting() {
12+
}
13+
14+
@Override
15+
public String originFilePath() {
16+
return "module/" + ModuleMain.instance.getId() + "/config.yml";
17+
}
18+
19+
@Override
20+
public String filePath() {
21+
return this.originFilePath();
22+
}
23+
}

0 commit comments

Comments
 (0)