Remove pearl glitch fix

This is a remnant of pre-2017 civ, and has been fixed by Mojang in recent versions
This commit is contained in:
okx-code
2024-06-09 00:56:53 +01:00
parent b0ad341d42
commit bb56a28a59
2 changed files with 0 additions and 174 deletions

View File

@@ -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;
}

View File

@@ -129,12 +129,6 @@ public class GameFixes extends SimpleHack<GameFixesConfig> 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<GameFixesConfig> 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