From bb56a28a59a00f23e9b5c395bd89f842439a2374 Mon Sep 17 00:00:00 2001 From: okx-code Date: Sun, 9 Jun 2024 00:56:53 +0100 Subject: [PATCH] Remove pearl glitch fix This is a remnant of pre-2017 civ, and has been fixed by Mojang in recent versions --- .../configs/GameFixesConfig.java | 8 - .../simpleadminhacks/hacks/GameFixes.java | 166 ------------------ 2 files changed, 174 deletions(-) diff --git a/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/configs/GameFixesConfig.java b/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/configs/GameFixesConfig.java index 90c1c2809..247351709 100644 --- a/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/configs/GameFixesConfig.java +++ b/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/configs/GameFixesConfig.java @@ -25,7 +25,6 @@ public class GameFixesConfig extends SimpleHackConfig { private boolean preventTreeWrap; private boolean maintainFlatBedrock; - private boolean fixPearlGlitch; private boolean preventLongSigns; private int signLengthLimit; private boolean preventLongSignsAbsolute; @@ -66,9 +65,6 @@ public class GameFixesConfig extends SimpleHackConfig { maintainFlatBedrock = config.getBoolean("maintainFlatBedrock", false); if (maintainFlatBedrock) plugin().log(" Maintaining bedrock flatness."); - fixPearlGlitch = config.getBoolean("fixPearlGlitch", false); - if (fixPearlGlitch) plugin().log(" Pearl glitch fix enabled."); - preventLongSigns = config.getBoolean("preventLongSigns", true); signLengthLimit = config.getInt("signLengthLimit", 100); preventLongSignsAbsolute = config.getBoolean("preventLongSignsAbsolute", true); @@ -171,10 +167,6 @@ public class GameFixesConfig extends SimpleHackConfig { return maintainFlatBedrock; } - public boolean fixPearlGlitch() { - return fixPearlGlitch; - } - public boolean isPreventLongSigns() { return preventLongSigns; } diff --git a/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/GameFixes.java b/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/GameFixes.java index ba52a1fe3..169fc9cbb 100644 --- a/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/GameFixes.java +++ b/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/GameFixes.java @@ -129,12 +129,6 @@ public class GameFixes extends SimpleHack implements Listener { } else { genStatus.append(ChatColor.RED).append("disabled\n").append(ChatColor.RESET); } - genStatus.append(" Fix pearl glitches "); - if (config.fixPearlGlitch()) { - genStatus.append(ChatColor.GREEN).append("enabled\n").append(ChatColor.RESET); - } else { - genStatus.append(ChatColor.RED).append("disabled\n").append(ChatColor.RESET); - } genStatus.append(" Prevent long signs "); if (config.isPreventLongSigns()) { genStatus.append(ChatColor.GREEN).append("enabled\n").append(ChatColor.RESET); @@ -352,166 +346,6 @@ public class GameFixes extends SimpleHack implements Listener { } } - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onPearlTeleport(PlayerTeleportEvent event) { - if(config.isEnabled() && config.fixPearlGlitch() && event.getCause() == TeleportCause.ENDER_PEARL) { - Location to = event.getTo(); - World world = to.getWorld(); - - Block toBlock = to.getBlock(); - Block above = toBlock.getRelative(BlockFace.UP); - Block below = toBlock.getRelative(BlockFace.DOWN); - boolean lowerBlockBypass = false; - double height = 0.0; - switch (toBlock.getType()) { - case CHEST: - case ENDER_CHEST: - height = 0.875; - break; - case ACACIA_SLAB: - case ANDESITE_SLAB: - case BIRCH_SLAB: - case BRICK_SLAB: - case COBBLESTONE_SLAB: - case CUT_RED_SANDSTONE_SLAB: - case CUT_SANDSTONE_SLAB: - case DARK_OAK_SLAB: - case DARK_PRISMARINE_SLAB: - case DIORITE_SLAB: - case END_STONE_BRICK_SLAB: - case GRANITE_SLAB: - case JUNGLE_SLAB: - case MOSSY_COBBLESTONE_SLAB: - case STONE_SLAB: - case STONE_BRICK_SLAB: - case SPRUCE_SLAB: - case SMOOTH_STONE_SLAB: - case SMOOTH_SANDSTONE_SLAB: - case SMOOTH_RED_SANDSTONE_SLAB: - case SMOOTH_QUARTZ_SLAB: - case SANDSTONE_SLAB: - case RED_SANDSTONE_SLAB: - case RED_NETHER_BRICK_SLAB: - case QUARTZ_SLAB: - case PURPUR_SLAB: - case PRISMARINE_SLAB: - case PRISMARINE_BRICK_SLAB: - case POLISHED_GRANITE_SLAB: - case POLISHED_DIORITE_SLAB: - case POLISHED_ANDESITE_SLAB: - case PETRIFIED_OAK_SLAB: - case OAK_SLAB: - case NETHER_BRICK_SLAB: - case MOSSY_STONE_BRICK_SLAB: - lowerBlockBypass = true; - height = 0.5; - break; - case LILY_PAD: - height = 0.016; - break; - case ENCHANTING_TABLE: - lowerBlockBypass = true; - height = 0.75; - break; - case BLACK_BED: - case BLUE_BED: - case BROWN_BED: - case CYAN_BED: - case GRAY_BED: - case GREEN_BED: - case LIME_BED: - case MAGENTA_BED: - case LIGHT_GRAY_BED: - case PURPLE_BED: - case PINK_BED: - case YELLOW_BED: - case WHITE_BED: - case RED_BED: - case ORANGE_BED: - case LIGHT_BLUE_BED: - break; - case FLOWER_POT: - height = 0.375; - break; - case SKELETON_SKULL: - case WITHER_SKELETON_WALL_SKULL: - case WITHER_SKELETON_SKULL: - case SKELETON_WALL_SKULL: - case PLAYER_HEAD: - case PLAYER_WALL_HEAD: - case CREEPER_HEAD: - case CREEPER_WALL_HEAD: - case DRAGON_HEAD: - case DRAGON_WALL_HEAD: - case ZOMBIE_HEAD: - case ZOMBIE_WALL_HEAD: - height = 0.5; - break; - default: - break; - } - switch (below.getType()) { - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case BIRCH_FENCE: - case BIRCH_FENCE_GATE: - case DARK_OAK_FENCE: - case DARK_OAK_FENCE_GATE: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case SPRUCE_FENCE_GATE: - case SPRUCE_FENCE: - case OAK_FENCE_GATE: - case OAK_FENCE: - case NETHER_BRICK_FENCE: - case ANDESITE_WALL: - case BRICK_WALL: - case STONE_BRICK_WALL: - case COBBLESTONE_WALL: - case DIORITE_WALL: - case END_STONE_BRICK_WALL: - case GRANITE_WALL: - case SANDSTONE_WALL: - case RED_SANDSTONE_WALL: - case MOSSY_COBBLESTONE_WALL: - case MOSSY_STONE_BRICK_WALL: - case PRISMARINE_WALL: - case RED_NETHER_BRICK_WALL: - case NETHER_BRICK_WALL: - height = 0.5; - break; - default: - break; - } - - boolean upperBlockBypass = false; - if (height >= 0.5) { - Block aboveHeadBlock = above.getRelative(BlockFace.UP); - if (!aboveHeadBlock.getType().isSolid()) { - height = 0.5; - } else { - upperBlockBypass = true; - } - } - - to.setX(Math.floor(to.getX() + 0.5000)); - to.setY(Math.floor(to.getY() + height)); - to.setZ(Math.floor(to.getZ() + 0.5000)); - - if (above.getType().isSolid() || (toBlock.getType().isSolid() && !lowerBlockBypass) - || upperBlockBypass) { - boolean bypass = false; - if (world.getEnvironment() == Environment.NETHER && - to.getBlockY() > 124 && to.getBlockY() < 129) { - bypass = true; - } - if (!bypass) { - event.setCancelled(true); - } - } - } - } - //fixes a small side effect of the above BlockFace[] faces = new BlockFace[] {BlockFace.NORTH,BlockFace.SOUTH,BlockFace.EAST,BlockFace.WEST}; @EventHandler