Skip to content

Commit

Permalink
Command /mohist reload now can reload bukkit.yml and commands.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
Mgazul committed Feb 12, 2025
1 parent b41689c commit 29d9439
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 19 deletions.
14 changes: 12 additions & 2 deletions src/main/java/com/mohistmc/commands/MohistCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,19 @@
import java.util.Locale;
import java.util.concurrent.atomic.AtomicInteger;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerLevel;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.defaults.BukkitCommand;
import org.bukkit.craftbukkit.v1_20_R1.CraftServer;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
import org.spigotmc.SpigotConfig;

public class MohistCommand extends Command {

Expand Down Expand Up @@ -111,10 +115,17 @@ public boolean execute(@NotNull CommandSender sender, @NotNull String commandLab
return true;
}
case "reload" -> {
MinecraftServer console = MinecraftServer.getServer();
com.mohistmc.MohistConfig.init((File) MinecraftServer.options.valueOf("mohist-settings"));
((CraftServer)Bukkit.getServer()).initConfig();
((CraftServer)Bukkit.getServer()).loadCustomPermissions();
SpigotConfig.init((File) MinecraftServer.options.valueOf("spigot-settings"));
for (ServerLevel world : console.getAllLevels()) {
world.spigotConfig.init();
}
MohistPlugin.initConfig();

MinecraftServer.getServer().server.reloadCount++;
console.server.reloadCount++;
sender.sendMessage(ChatColor.GREEN + I18n.as("mohistcmd.reload.complete"));
if (AIConfig.INSTANCE.enable()) {
sender.sendMessage(ChatColor.GREEN + "QQ 机器人模块已启用!");
Expand Down Expand Up @@ -192,7 +203,6 @@ public boolean execute(@NotNull CommandSender sender, @NotNull String commandLab
}
}


return true;
}

Expand Down
40 changes: 23 additions & 17 deletions src/main/java/org/bukkit/craftbukkit/v1_20_R1/CraftServer.java
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,25 @@ public CraftPlayer apply(ServerPlayer player) {
MobEffects.BLINDNESS.getClass();
// Ugly hack :(

initConfig();
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
pluginManager.useTimings(configuration.getBoolean("settings.plugin-profiling"));
overrideSpawnLimits();
console.autosavePeriod = configuration.getInt("ticks-per.autosave");
warningState = WarningState.value(configuration.getString("settings.deprecated-verbose"));
TicketType.PLUGIN.timeout = configuration.getInt("chunk-gc.period-in-ticks");
minimumAPI = configuration.getString("settings.minimum-api");
loadIcon();

// Set map color cache
if (configuration.getBoolean("settings.use-map-color-cache")) {
MapPalette.setMapColorCache(new org.bukkit.craftbukkit.v1_20_R1.map.CraftMapColorCache(logger));
}
}

// Mohist start
public void initConfig() {
configuration = YamlConfiguration.loadConfiguration(getConfigFile());
configuration.options().copyDefaults(true);
configuration.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(getClass().getClassLoader().getResourceAsStream("configurations/bukkit.yml"), Charsets.UTF_8)));
Expand Down Expand Up @@ -374,31 +393,18 @@ public CraftPlayer apply(ServerPlayer player) {
}

saveCommandsConfig();
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
pluginManager.useTimings(configuration.getBoolean("settings.plugin-profiling"));
overrideSpawnLimits();
console.autosavePeriod = configuration.getInt("ticks-per.autosave");
warningState = WarningState.value(configuration.getString("settings.deprecated-verbose"));
TicketType.PLUGIN.timeout = configuration.getInt("chunk-gc.period-in-ticks");
minimumAPI = configuration.getString("settings.minimum-api");
loadIcon();

// Set map color cache
if (configuration.getBoolean("settings.use-map-color-cache")) {
MapPalette.setMapColorCache(new org.bukkit.craftbukkit.v1_20_R1.map.CraftMapColorCache(logger));
}
}
// Mohist end

public boolean getCommandBlockOverride(String command) {
return overrideAllCommandBlockCommands || commandsConfiguration.getStringList("command-block-overrides").contains(command);
}

private File getConfigFile() {
public File getConfigFile() {
return (File) console.options.valueOf("bukkit-settings");
}

private File getCommandsConfigFile() {
public File getCommandsConfigFile() {
return (File) console.options.valueOf("commands-settings");
}

Expand Down Expand Up @@ -950,7 +956,7 @@ private void loadIcon() {
}

@SuppressWarnings({ "unchecked", "finally" })
private void loadCustomPermissions() {
public void loadCustomPermissions() {
File file = new File(configuration.getString("settings.permissions-file"));
FileInputStream stream;

Expand Down

0 comments on commit 29d9439

Please sign in to comment.