From 8354ed6c09e960d2f48d7bc40b7c7978947524eb Mon Sep 17 00:00:00 2001 From: ketsuban_152 Date: Sat, 4 Jul 2026 21:59:07 +0900 Subject: Initial commit --- .../action/triggers/TrappedRoomTrigger.java | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/java/luckyblock/action/triggers/TrappedRoomTrigger.java (limited to 'src/main/java/luckyblock/action/triggers/TrappedRoomTrigger.java') diff --git a/src/main/java/luckyblock/action/triggers/TrappedRoomTrigger.java b/src/main/java/luckyblock/action/triggers/TrappedRoomTrigger.java new file mode 100644 index 0000000..818fb07 --- /dev/null +++ b/src/main/java/luckyblock/action/triggers/TrappedRoomTrigger.java @@ -0,0 +1,38 @@ +package luckyblock.action.triggers; + + +import luckyblock.action.LuckyActionHolder; +import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; + +public class TrappedRoomTrigger implements ILuckyTrigger { + @Override + public String getName() { + return "trapped_room"; + } + + @Override + public void execute(ServerLevel level, BlockPos pos, LuckyActionHolder holder, RandomSource random) { + Block block = BuiltInRegistries.BLOCK.get(new ResourceLocation(holder.wall_block)); + BlockState wallState = (block != null) ? block.defaultBlockState() : Blocks.STONE_BRICKS.defaultBlockState(); + int r = holder.radius; + for (int x = -r; x <= r; x++) { + for (int y = 0; y <= r * 2; y++) { + for (int z = -r; z <= r; z++) { + BlockPos targetPos = pos.offset(x, y, z); + if (Math.abs(x) == r || Math.abs(z) == r || y == 0 || y == r * 2) { + level.setBlock(targetPos, wallState, 3); + } else { + level.setBlock(targetPos, Blocks.AIR.defaultBlockState(), 3); + } + } + } + } + } +} \ No newline at end of file -- cgit v1.2.1