Fix short enderman height - EntityTypes now loads before configs

This commit is contained in:
BillyGalbreath
2021-01-12 19:55:55 -06:00
parent 8bfb9f5c19
commit 17e9e39370
10 changed files with 45 additions and 34 deletions

View File

@@ -17,29 +17,40 @@ index 7b175240e44b0c7eb5044d7bcaf54dac22f50f2a..e3364032669b473c799b759f5f89468b
if (this.tryEscape(EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start
for (int i = 0; i < 64; ++i) {
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index 37b984a5b6c1c6e146e1c4b0947d1e39a051cfbb..7a35a367a5840fd5df72b0bd64e630197562f160 100644
index 37b984a5b6c1c6e146e1c4b0947d1e39a051cfbb..919cf670327bed6faa50f29c9bf7a9b54174f7f2 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -34,7 +34,7 @@ public class EntityTypes<T extends Entity> {
public static final EntityTypes<EntityGuardianElder> ELDER_GUARDIAN = a("elder_guardian", EntityTypes.Builder.a(EntityGuardianElder::new, EnumCreatureType.MONSTER).a(1.9975F, 1.9975F).trackingRange(10));
public static final EntityTypes<EntityEnderCrystal> END_CRYSTAL = a("end_crystal", EntityTypes.Builder.a(EntityEnderCrystal::new, EnumCreatureType.MISC).a(2.0F, 2.0F).trackingRange(16).updateInterval(Integer.MAX_VALUE));
public static final EntityTypes<EntityEnderDragon> ENDER_DRAGON = a("ender_dragon", EntityTypes.Builder.a(EntityEnderDragon::new, EnumCreatureType.MONSTER).c().a(16.0F, 8.0F).trackingRange(10));
- public static final EntityTypes<EntityEnderman> ENDERMAN = a("enderman", EntityTypes.Builder.a(EntityEnderman::new, EnumCreatureType.MONSTER).a(0.6F, 2.9F).trackingRange(8));
+ public static final EntityTypes<EntityEnderman> ENDERMAN = a("enderman", EntityTypes.Builder.a(EntityEnderman::new, EnumCreatureType.MONSTER).a(0.6F, net.pl3x.purpur.PurpurConfig.endermanShortHeight ? 1.9F : 2.9F).trackingRange(8)); // Purpur
public static final EntityTypes<EntityEndermite> ENDERMITE = a("endermite", EntityTypes.Builder.a(EntityEndermite::new, EnumCreatureType.MONSTER).a(0.4F, 0.3F).trackingRange(8));
public static final EntityTypes<EntityEvoker> EVOKER = a("evoker", EntityTypes.Builder.a(EntityEvoker::new, EnumCreatureType.MONSTER).a(0.6F, 1.95F).trackingRange(8));
public static final EntityTypes<EntityEvokerFangs> EVOKER_FANGS = a("evoker_fangs", EntityTypes.Builder.a(EntityEvokerFangs::new, EnumCreatureType.MISC).a(0.5F, 0.8F).trackingRange(6).updateInterval(2));
@@ -137,7 +137,8 @@ public class EntityTypes<T extends Entity> {
private IChatBaseComponent bp;
@Nullable
private MinecraftKey bq;
- private final EntitySize br;
+ public void setEntitySize(EntitySize entitySize) { this.br = entitySize; } // Purpur - OBFHELPER
+ private EntitySize br; // Purpur - remove final
private static <T extends Entity> EntityTypes<T> a(String s, EntityTypes.Builder entitytypes_builder) { // CraftBukkit - decompile error
return (EntityTypes) IRegistry.a((IRegistry) IRegistry.ENTITY_TYPE, s, (Object) entitytypes_builder.a(s));
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 17a8b43892fdab87a80cbf076c7814bfab087142..d2b5c0fb8004c3d9c7825a41f92bf54d07e9402b 100644
index 17a8b43892fdab87a80cbf076c7814bfab087142..c314a8c9a921a95cea43b748e2037521d948e1e7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -191,6 +191,11 @@ public class PurpurConfig {
@@ -2,6 +2,8 @@ package net.pl3x.purpur;
import co.aikar.timings.TimingsManager;
import com.google.common.base.Throwables;
+import net.minecraft.server.EntitySize;
+import net.minecraft.server.EntityTypes;
import net.minecraft.server.MinecraftServer;
import net.pl3x.purpur.command.PurpurCommand;
import org.bukkit.Bukkit;
@@ -191,6 +193,12 @@ public class PurpurConfig {
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
}
+ public static boolean endermanShortHeight = false;
+ private static void entitySettings() {
+ endermanShortHeight = getBoolean("settings.entity.enderman.short-height", endermanShortHeight);
+ if (endermanShortHeight) EntityTypes.ENDERMAN.setEntitySize(EntitySize.b(0.6F, 1.9F));
+ }
+
public static boolean dontSendUselessEntityPackets = false;

View File

@@ -5053,10 +5053,10 @@ index 11893ad0f04311b028ad41352e24dcf10d55dfc7..21b915c0aa4f2192a3eaddbc950734c6
return new Throwable(entity + " Added to world at " + new java.util.Date());
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index d2b5c0fb8004c3d9c7825a41f92bf54d07e9402b..74d24ee574f8153b02d8e70a7a1bc2b498afab53 100644
index c314a8c9a921a95cea43b748e2037521d948e1e7..59f3122aab9940cb3c3c1efb2664ab0835656d48 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -134,11 +134,13 @@ public class PurpurConfig {
@@ -136,11 +136,13 @@ public class PurpurConfig {
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
public static String pingCommandOutput = "§a%s's ping is %sms";

View File

@@ -42,10 +42,10 @@ index 6ef81aeb4c63bc6c23163796dbd977602ca2f540..9ea3c30b679da4e77b86d96d0cc47673
private final GeneratorAccess b;
private final EnumDirection.EnumAxis c;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 74d24ee574f8153b02d8e70a7a1bc2b498afab53..a8a995792653f88bc7ef7bfc0dd0fcd88972266a 100644
index 59f3122aab9940cb3c3c1efb2664ab0835656d48..a5febd7671ae1818edb18955d5e8176303c92c93 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -177,6 +177,7 @@ public class PurpurConfig {
@@ -179,6 +179,7 @@ public class PurpurConfig {
public static boolean barrelSixRows = false;
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
@@ -53,7 +53,7 @@ index 74d24ee574f8153b02d8e70a7a1bc2b498afab53..a8a995792653f88bc7ef7bfc0dd0fcd8
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -191,6 +192,7 @@ public class PurpurConfig {
@@ -193,6 +194,7 @@ public class PurpurConfig {
enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows);
InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);

View File

@@ -63,10 +63,10 @@ index 685deaa0e5d1ddc13e3a7c0471b1cfcf1710c869..2a0ada490b15b0c4939dd4304f86e016
+ }
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index a8a995792653f88bc7ef7bfc0dd0fcd88972266a..eee8b6af02b9009050b64e7dfc0c6b55c9d4b62a 100644
index a5febd7671ae1818edb18955d5e8176303c92c93..966834c737c4f388f76fcc515f266f684de593b5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -217,9 +217,11 @@ public class PurpurConfig {
@@ -220,9 +220,11 @@ public class PurpurConfig {
public static boolean loggerSuppressInitLegacyMaterialError = false;
public static boolean loggerSuppressIgnoredAdvancementWarnings = false;

View File

@@ -17,10 +17,10 @@ index 408cfa460920f74e0394ab27101ecb12cceb9c43..3d4e34f7070a48c436284ba7744a94ae
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index eee8b6af02b9009050b64e7dfc0c6b55c9d4b62a..19c0c16f448d368c1bf2137592272d50a11f592e 100644
index 966834c737c4f388f76fcc515f266f684de593b5..47d323038914fd601e17499802bf3dae5f842d31 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -195,6 +195,16 @@ public class PurpurConfig {
@@ -197,6 +197,16 @@ public class PurpurConfig {
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
}

View File

@@ -22,10 +22,10 @@ index 3c748cca91e5f83701e6ae83f76e7548dad35420..d677b4477a871790377348a112fa2671
((WorldServer) world).everyoneSleeping();
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 19c0c16f448d368c1bf2137592272d50a11f592e..c3e93904e4f431201207989d3afa66a196473cde 100644
index 47d323038914fd601e17499802bf3dae5f842d31..74c76b7f3e0992a90acec338a96077bf4f7afd2a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -133,12 +133,14 @@ public class PurpurConfig {
@@ -135,12 +135,14 @@ public class PurpurConfig {
public static String afkBroadcastAway = "§e§o%s is now AFK";
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";

View File

@@ -30,10 +30,10 @@ index 08cbc787e2bf6587878bdeffa7248e5d23cdcf98..57d39ed441ec7be933f4fce48225f527
public static final PacketPlayOutGameStateChange.a h = new PacketPlayOutGameStateChange.a(7);
public static final PacketPlayOutGameStateChange.a i = new PacketPlayOutGameStateChange.a(8);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index c3e93904e4f431201207989d3afa66a196473cde..eb8714835984dc5a74f25db6b57df5cadb5a61a4 100644
index 74c76b7f3e0992a90acec338a96077bf4f7afd2a..9294bfab12ef88690e359ff90551c5c615cdd3dd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -134,6 +134,7 @@ public class PurpurConfig {
@@ -136,6 +136,7 @@ public class PurpurConfig {
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
public static String afkTabListSuffix = "";
@@ -41,7 +41,7 @@ index c3e93904e4f431201207989d3afa66a196473cde..eb8714835984dc5a74f25db6b57df5ca
public static String pingCommandOutput = "§a%s's ping is %sms";
public static String cannotRideMob = "§cYou cannot mount that mob";
private static void messages() {
@@ -141,6 +142,7 @@ public class PurpurConfig {
@@ -143,6 +144,7 @@ public class PurpurConfig {
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Config migration: disable saving projectiles to disk ->
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index eb8714835984dc5a74f25db6b57df5cadb5a61a4..151cd80a2c76db18aaf35bf28bb61f698447445e 100644
index 9294bfab12ef88690e359ff90551c5c615cdd3dd..e928716d7a2dcb390507b746763e6f7eaae241b5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -1,6 +1,7 @@
@@ -15,9 +15,9 @@ index eb8714835984dc5a74f25db6b57df5cadb5a61a4..151cd80a2c76db18aaf35bf28bb61f69
import co.aikar.timings.TimingsManager;
+import com.destroystokyo.paper.PaperConfig;
import com.google.common.base.Throwables;
import net.minecraft.server.MinecraftServer;
import net.pl3x.purpur.command.PurpurCommand;
@@ -130,6 +131,17 @@ public class PurpurConfig {
import net.minecraft.server.EntitySize;
import net.minecraft.server.EntityTypes;
@@ -132,6 +133,17 @@ public class PurpurConfig {
return config.getString(path, config.getString(path));
}

View File

@@ -20,10 +20,10 @@ index 1d22c45af884a917e77e02c272fcbae74794200c..7bf90f27fdc48440ef229cca0e100d2c
itemstack.setCount(1);
entityitem = entityplayer.drop(itemstack, false);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 151cd80a2c76db18aaf35bf28bb61f698447445e..1a7c274d7a5dc03ff96f05e52941ecea3368c0d9 100644
index e928716d7a2dcb390507b746763e6f7eaae241b5..7aee1687571010da55e8bb776ec1c658748e979a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -189,6 +189,11 @@ public class PurpurConfig {
@@ -191,6 +191,11 @@ public class PurpurConfig {
private static void useAlternateKeepAlive() {
useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive);
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Config migration: climbing should not bypass cramming
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 1a7c274d7a5dc03ff96f05e52941ecea3368c0d9..57571919e566ebc54204aa1b2ba8bd0e9be621a9 100644
index 7aee1687571010da55e8bb776ec1c658748e979a..645213cacb6061f84da7a1c9d6f2fa94670346ff 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -142,6 +142,17 @@ public class PurpurConfig {
@@ -144,6 +144,17 @@ public class PurpurConfig {
}
}