mirror of
https://github.com/BX-Team/DivineMC.git
synced 2025-12-19 14:59:25 +00:00
remove resendchunks for now
This commit is contained in:
@@ -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<String, DivineSubCommand> SUBCOMMANDS = Util.make(() -> {
|
||||
final Map<Set<String>, 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()
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user