Skip to content

Commit

Permalink
feat(module): Refactoring modules and adding new features
Browse files Browse the repository at this point in the history
-Added DamageDisable module for monitoring and handling player damage events
-Refactoring the Data Process module and changing it to a public static method
-Update the QQCheck module to use a new data processing method - modify the Main class and remove the direct registration of DamageDisableListener
-Update ModuleManager and unify module loading logic
  • Loading branch information
Suisuroru committed Feb 6, 2025
1 parent ac9f44c commit fe6f6f7
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 9 deletions.
1 change: 1 addition & 0 deletions src/main/java/fun/suya/suisuroru/config/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* function: Initialize config
*/
public class Config {
public static boolean BotModeOfficial = true;
public static boolean QQCheckEnabled = true;
public static boolean QQRobotEnabled = true;
public static boolean RconEnabled = true;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
package fun.suya.suisuroru.module.impl;

import fun.xd.suka.module.Module;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;

public class DamageDisableListener implements Listener {
public class DamageDisable extends Module implements Listener {

public DamageDisable() {
super("DamageDisable");
}

@EventHandler
public void onEntityDamage(EntityDamageEvent event) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package fun.xd.suka.module.impl;
package fun.suya.suisuroru.module.impl;

import fun.xd.suka.Main;
import fun.xd.suka.data.Data;
Expand All @@ -15,7 +15,7 @@ public DataProcess() {
super("DataProcess");
}

static void BaseDataProcess(AsyncPlayerPreLoginEvent event, Data data) {
public static void BaseDataProcess(AsyncPlayerPreLoginEvent event, Data data) {
data = NullCheck(data);
if (data.playerData == null) {
PlayerData playerData = new PlayerData();
Expand Down
3 changes: 0 additions & 3 deletions src/main/java/fun/xd/suka/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import fun.suya.suisuroru.config.ConfigManager;
import fun.suya.suisuroru.data.DirectoryActions;
import fun.suya.suisuroru.message.DefaultMessages;
import fun.suya.suisuroru.module.impl.DamageDisableListener;
import fun.suya.suisuroru.module.impl.UnionBanModule;
import fun.xd.suka.data.DataManager;
import fun.xd.suka.module.ModuleManager;
Expand Down Expand Up @@ -101,9 +100,7 @@ public void onLoad() {

@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(new DamageDisableListener(), this);
Bukkit.getPluginManager().registerEvents(this, this); // 注册事件

LoggerAdapters.useLog4j2(); // 使用 Log4j2 作为日志记录器
Boot_QQBot();
DefaultMessages.TurnOnPlugin();
Expand Down
8 changes: 6 additions & 2 deletions src/main/java/fun/xd/suka/module/ModuleManager.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package fun.xd.suka.module;

import fun.suya.suisuroru.config.Config;
import fun.suya.suisuroru.module.impl.DamageDisable;
import fun.suya.suisuroru.module.impl.DataProcess;
import fun.suya.suisuroru.module.impl.RconPreCheck;
import fun.xd.suka.Main;
import fun.xd.suka.module.impl.DataProcess;
import fun.xd.suka.module.impl.QQCheck;
import fun.xd.suka.module.impl.Reporter;
import fun.xd.suka.module.impl.SyncChat;
Expand All @@ -18,13 +19,16 @@ public class ModuleManager {

public void load() {
if (Config.QQRobotEnabled) {
modules.add(new SyncChat());
modules.add(new QQCheck());
modules.add(new RconPreCheck());
if (!Config.BotModeOfficial) {
modules.add(new SyncChat());
}
} else {
modules.add(new DataProcess());
LOGGER.info("QQRobot is disabled, DataProcess will be enabled.");
}
modules.add(new DamageDisable());
modules.add(new Reporter());

modules.forEach(Module::onLoad);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/fun/xd/suka/module/impl/QQCheck.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import java.util.Map;
import java.util.Random;

import static fun.xd.suka.module.impl.DataProcess.BaseDataProcess;
import static fun.suya.suisuroru.module.impl.DataProcess.BaseDataProcess;

public class QQCheck extends Module implements Listener {
private static final HashMap<PlayerData, Integer> playerCodeMap = new HashMap<>();
Expand Down

0 comments on commit fe6f6f7

Please sign in to comment.