diff --git a/divinemc-server/src/main/java/org/bxteam/divinemc/command/DivineCommand.java b/divinemc-server/src/main/java/org/bxteam/divinemc/command/DivineCommand.java index a2ca513..2a16973 100644 --- a/divinemc-server/src/main/java/org/bxteam/divinemc/command/DivineCommand.java +++ b/divinemc-server/src/main/java/org/bxteam/divinemc/command/DivineCommand.java @@ -28,14 +28,12 @@ public final class DivineCommand extends Command { private static final DivineSubCommand MSPT_SUBCOMMAND = new MSPTCommand(); private static final DivineSubCommand RELOAD_SUBCOMMAND = new ReloadCommand(); - private static final DivineSubCommand RESEND_CHUNKS_SUBCOMMAND = new ResendChunksCommand(); private static final DivineSubCommand VERSION_SUBCOMMAND = new VersionCommand(); private static final Map SUBCOMMANDS = Util.make(() -> { final Map, DivineSubCommand> commands = new HashMap<>(); commands.put(Set.of(MSPTCommand.LITERAL_ARGUMENT), MSPT_SUBCOMMAND); commands.put(Set.of(ReloadCommand.LITERAL_ARGUMENT), RELOAD_SUBCOMMAND); - commands.put(Set.of(ResendChunksCommand.LITERAL_ARGUMENT), RESEND_CHUNKS_SUBCOMMAND); commands.put(Set.of(VersionCommand.LITERAL_ARGUMENT), VERSION_SUBCOMMAND); return commands.entrySet().stream() diff --git a/divinemc-server/src/main/java/org/bxteam/divinemc/command/subcommands/ResendChunksCommand.java b/divinemc-server/src/main/java/org/bxteam/divinemc/command/subcommands/ResendChunksCommand.java deleted file mode 100644 index 71e89a1..0000000 --- a/divinemc-server/src/main/java/org/bxteam/divinemc/command/subcommands/ResendChunksCommand.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.bxteam.divinemc.command.subcommands; - -import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.PlayerChunkSender; -import net.minecraft.world.level.ChunkPos; -import org.bukkit.Chunk; -import org.bukkit.command.CommandSender; -import org.bukkit.craftbukkit.entity.CraftPlayer; -import org.bukkit.entity.Player; -import org.bukkit.permissions.PermissionDefault; -import org.bxteam.divinemc.command.DivineCommand; -import org.bxteam.divinemc.command.DivineSubCommandPermission; -import org.checkerframework.checker.nullness.qual.NonNull; -import org.checkerframework.framework.qual.DefaultQualifier; -import org.jetbrains.annotations.NotNull; -import java.util.stream.Collectors; - -@DefaultQualifier(NonNull.class) -public final class ResendChunksCommand extends DivineSubCommandPermission { - public static final String LITERAL_ARGUMENT = "resendchunks"; - public static final String PERM = DivineCommand.BASE_PERM + "." + LITERAL_ARGUMENT; - - public ResendChunksCommand() { - super(PERM, PermissionDefault.TRUE); - } - - @Override - public boolean execute(final CommandSender sender, final String subCommand, final String[] args) { - if (sender instanceof Player player) { - final ServerPlayer serverPlayer = ((CraftPlayer) player).getHandle(); - PlayerChunkSender chunkSender = serverPlayer.connection.chunkSender; - int resent = 0; - - for (ChunkPos chunkPos : serverPlayer.getBukkitEntity().getSentChunks().stream().map(ResendChunksCommand::bukkitChunk2ChunkPos).collect(Collectors.toSet())) { - chunkSender.dropChunk(serverPlayer, chunkPos); - PlayerChunkSender.sendChunk(serverPlayer.connection, serverPlayer.level(), serverPlayer.level().getChunk(chunkPos.x, chunkPos.z)); - resent++; - } - serverPlayer.sendSystemMessage(Component.literal("Resent " + resent + " chunks to client")); - } else { - sender.sendMessage("Only a player can execute this command."); - } - - return true; - } - - public static @NotNull ChunkPos bukkitChunk2ChunkPos(@NotNull Chunk chunk) { - return new ChunkPos(chunk.getX(), chunk.getZ()); - } -}