diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java index 591499729..feb3b73f0 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java @@ -48,6 +48,7 @@ public class BukkitCommandManager extends AbstractCommandManager new DebugTargetBlockCommand(this, plugin), new DebugIsSectionInjectedCommand(this, plugin), new DebugMigrateTemplatesCommand(this, plugin), + new DebugIsChunkPersistentLoadedCommand(this, plugin), new DebugEntityId2UUIDCommand(this, plugin), new TotemAnimationCommand(this, plugin), new EnableResourceCommand(this, plugin), diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/DebugIsChunkPersistentLoadedCommand.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/DebugIsChunkPersistentLoadedCommand.java new file mode 100644 index 000000000..7382c9865 --- /dev/null +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/DebugIsChunkPersistentLoadedCommand.java @@ -0,0 +1,37 @@ +package net.momirealms.craftengine.bukkit.plugin.command.feature; + +import net.kyori.adventure.text.Component; +import net.momirealms.craftengine.bukkit.nms.FastNMS; +import net.momirealms.craftengine.bukkit.plugin.command.BukkitCommandFeature; +import net.momirealms.craftengine.bukkit.plugin.injector.WorldStorageInjector; +import net.momirealms.craftengine.core.plugin.CraftEngine; +import net.momirealms.craftengine.core.plugin.command.CraftEngineCommandManager; +import net.momirealms.craftengine.core.plugin.command.sender.Sender; +import org.bukkit.Chunk; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.incendo.cloud.Command; + +public class DebugIsChunkPersistentLoadedCommand extends BukkitCommandFeature { + + public DebugIsChunkPersistentLoadedCommand(CraftEngineCommandManager commandManager, CraftEngine plugin) { + super(commandManager, plugin); + } + + @Override + public Command.Builder assembleCommand(org.incendo.cloud.CommandManager manager, Command.Builder builder) { + return builder + .senderType(Player.class) + .handler(context -> { + Player player = context.sender(); + Chunk chunk = player.getChunk(); + Sender sender = plugin().senderFactory().wrap(player); + sender.sendMessage(Component.text(chunk.isForceLoaded())); + }); + } + + @Override + public String getFeatureID() { + return "debug_is_chunk_persistent_loaded"; + } +} diff --git a/common-files/src/main/resources/commands.yml b/common-files/src/main/resources/commands.yml index 17aa9c83e..1c5582ebf 100644 --- a/common-files/src/main/resources/commands.yml +++ b/common-files/src/main/resources/commands.yml @@ -196,6 +196,13 @@ debug_migrate_templates: - /craftengine debug migrate-templates - /ce debug migrate-templates +debug_is_chunk_persistent_loaded: + enable: true + permission: ce.command.debug.is_chunk_persistent_loaded + usage: + - /craftengine debug is-chunk-persistent-loaded + - /ce debug is-chunk-persistent-loaded + debug_test: enable: true permission: ce.command.debug.test diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/pebble.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/pebble.png new file mode 100644 index 000000000..efc872a2d Binary files /dev/null and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/pebble.png differ