From cbb0f876762e5ce254cb1bc0f9a181fa393d45b7 Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Wed, 15 May 2019 11:59:40 +0200 Subject: [PATCH 1/6] Remove overriding properties --- bungee/pom.xml | 5 ----- sponge-legacy/pom.xml | 5 ----- sponge/pom.xml | 5 ----- velocity/pom.xml | 5 ----- 4 files changed, 20 deletions(-) diff --git a/bungee/pom.xml b/bungee/pom.xml index c653889a0..9a6abe901 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -11,11 +11,6 @@ viaversion-bungee - - 1.8 - 1.8 - - diff --git a/sponge-legacy/pom.xml b/sponge-legacy/pom.xml index b63fd662b..4ea138948 100644 --- a/sponge-legacy/pom.xml +++ b/sponge-legacy/pom.xml @@ -12,11 +12,6 @@ viaversion-sponge-legacy jar - - 1.8 - 1.8 - - sponge diff --git a/sponge/pom.xml b/sponge/pom.xml index 4a12c8421..9059e9156 100644 --- a/sponge/pom.xml +++ b/sponge/pom.xml @@ -11,11 +11,6 @@ viaversion-sponge - - 1.8 - 1.8 - - sponge diff --git a/velocity/pom.xml b/velocity/pom.xml index a7060246f..d5be30b57 100644 --- a/velocity/pom.xml +++ b/velocity/pom.xml @@ -11,11 +11,6 @@ viaversion-velocity - - 1.8 - 1.8 - - velocity From f8f20097a9d086bbe6271148ef1df8b95a3cb2f5 Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Wed, 15 May 2019 12:04:56 +0200 Subject: [PATCH 2/6] Move some default methods to EntityType --- .../api/entities/Entity1_11Types.java | 25 +----------------- .../api/entities/Entity1_12Types.java | 25 +----------------- .../api/entities/Entity1_13Types.java | 26 +------------------ .../api/entities/Entity1_14Types.java | 25 +----------------- .../ViaVersion/api/entities/EntityType.java | 23 ++++++++++++++++ 5 files changed, 27 insertions(+), 97 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_11Types.java b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_11Types.java index 2191835a8..358b69cdd 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_11Types.java +++ b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_11Types.java @@ -10,6 +10,7 @@ import java.util.Map; // 1.11 Entity / Object ids TODO maybe in the future instead of copying it, some api. public class Entity1_11Types { + public static EntityType getTypeFromId(int typeID, boolean isObject) { Optional type; @@ -164,30 +165,6 @@ public class Entity1_11Types { return Optional.absent(); return Optional.fromNullable(TYPES.get(id)); } - - public boolean is(EntityType... types) { - for (EntityType type : types) - if (is(type)) - return true; - return false; - } - - public boolean is(EntityType type) { - return this == type; - } - - public boolean isOrHasParent(EntityType type) { - EntityType parent = this; - - do { - if (parent.equals(type)) - return true; - - parent = parent.getParent(); - } while (parent != null); - - return false; - } } @AllArgsConstructor diff --git a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_12Types.java b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_12Types.java index 943ea486d..bf2deac7e 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_12Types.java +++ b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_12Types.java @@ -20,6 +20,7 @@ import java.util.Map; // 1.12 Entity / Object taken from https://github.com/Matsv/ViaBackwards/blob/master/core/src/main/java/nl/matsv/viabackwards/api/entities/types/EntityType1_12.java public class Entity1_12Types { + public static EntityType getTypeFromId(int typeID, boolean isObject) { Optional type; @@ -177,30 +178,6 @@ public class Entity1_12Types { return Optional.absent(); return Optional.fromNullable(TYPES.get(id)); } - - public boolean is(EntityType... types) { - for (EntityType type : types) - if (is(type)) - return true; - return false; - } - - public boolean is(EntityType type) { - return this == type; - } - - public boolean isOrHasParent(EntityType type) { - EntityType parent = this; - - do { - if (parent.equals(type)) - return true; - - parent = parent.getParent(); - } while (parent != null); - - return false; - } } @AllArgsConstructor diff --git a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java index 09eaf8ab0..f58eeaa10 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java +++ b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_13Types.java @@ -8,9 +8,9 @@ import us.myles.ViaVersion.api.Via; import java.util.HashMap; import java.util.Map; - // TODO auto generate 18w11a with PAaaS public class Entity1_13Types { + public static EntityType getTypeFromId(int typeID, boolean isObject) { Optional type; @@ -220,30 +220,6 @@ public class Entity1_13Types { return Optional.absent(); return Optional.fromNullable(TYPES.get(id)); } - - public boolean is(EntityType... types) { - for (EntityType type : types) - if (is(type)) - return true; - return false; - } - - public boolean is(EntityType type) { - return this == type; - } - - public boolean isOrHasParent(EntityType type) { - EntityType parent = this; - - do { - if (parent.equals(type)) - return true; - - parent = parent.getParent(); - } while (parent != null); - - return false; - } } @AllArgsConstructor diff --git a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_14Types.java b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_14Types.java index fc9242e76..8ef1f4511 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_14Types.java +++ b/common/src/main/java/us/myles/ViaVersion/api/entities/Entity1_14Types.java @@ -10,6 +10,7 @@ import java.util.Map; public class Entity1_14Types { + public static EntityType getTypeFromId(int typeID) { Optional type = Entity1_14Types.EntityType.findById(typeID); @@ -220,29 +221,5 @@ public class Entity1_14Types { return Optional.absent(); return Optional.fromNullable(TYPES.get(id)); } - - public boolean is(EntityType... types) { - for (EntityType type : types) - if (is(type)) - return true; - return false; - } - - public boolean is(EntityType type) { - return this == type; - } - - public boolean isOrHasParent(EntityType type) { - EntityType parent = this; - - do { - if (parent == type) - return true; - - parent = parent.getParent(); - } while (parent != null); - - return false; - } } } diff --git a/common/src/main/java/us/myles/ViaVersion/api/entities/EntityType.java b/common/src/main/java/us/myles/ViaVersion/api/entities/EntityType.java index f9516cac0..a022b932f 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/entities/EntityType.java +++ b/common/src/main/java/us/myles/ViaVersion/api/entities/EntityType.java @@ -6,4 +6,27 @@ public interface EntityType { EntityType getParent(); + default boolean is(EntityType... types) { + for (EntityType type : types) + if (is(type)) + return true; + return false; + } + + default boolean is(EntityType type) { + return this == type; + } + + default boolean isOrHasParent(EntityType type) { + EntityType parent = this; + + do { + if (parent.equals(type)) + return true; + + parent = parent.getParent(); + } while (parent != null); + + return false; + } } From eb9520cdc30d67626e8057f1712f5c71d7cf6395 Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Wed, 15 May 2019 12:22:56 +0200 Subject: [PATCH 3/6] Reduce duplicated code in config classes --- .../bukkit/platform/BukkitViaConfig.java | 243 +----------------- .../bungee/platform/BungeeViaConfig.java | 218 +--------------- .../myles/ViaVersion/AbstractViaConfig.java | 240 +++++++++++++++++ .../ViaVersion/api/ViaVersionConfig.java | 8 +- .../sponge/platform/SpongeViaConfig.java | 222 +--------------- .../velocity/platform/VelocityViaConfig.java | 219 +--------------- 6 files changed, 270 insertions(+), 880 deletions(-) create mode 100644 common/src/main/java/us/myles/ViaVersion/AbstractViaConfig.java diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaConfig.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaConfig.java index 8b2033918..49d7cf670 100644 --- a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaConfig.java +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaConfig.java @@ -1,9 +1,8 @@ package us.myles.ViaVersion.bukkit.platform; +import us.myles.ViaVersion.AbstractViaConfig; import us.myles.ViaVersion.ViaVersionPlugin; import us.myles.ViaVersion.api.Via; -import us.myles.ViaVersion.api.ViaVersionConfig; -import us.myles.ViaVersion.util.Config; import java.io.File; import java.net.URL; @@ -11,8 +10,8 @@ import java.util.Arrays; import java.util.List; import java.util.Map; -public class BukkitViaConfig extends Config implements ViaVersionConfig { - private static List UNSUPPORTED = Arrays.asList("bungee-ping-interval", "bungee-ping-save", "bungee-servers", "velocity-ping-interval", "velocity-ping-save", "velocity-servers"); +public class BukkitViaConfig extends AbstractViaConfig { + private static final List UNSUPPORTED = Arrays.asList("bungee-ping-interval", "bungee-ping-save", "bungee-servers", "velocity-ping-interval", "velocity-ping-save", "velocity-servers"); public BukkitViaConfig() { super(new File(((ViaVersionPlugin) Via.getPlatform()).getDataFolder(), "config.yml")); @@ -20,176 +19,6 @@ public class BukkitViaConfig extends Config implements ViaVersionConfig { reloadConfig(); } - @Override - public boolean isCheckForUpdates() { - return getBoolean("checkforupdates", true); - } - - @Override - public boolean isPreventCollision() { - return getBoolean("prevent-collision", true); - } - - @Override - public boolean isNewEffectIndicator() { - return getBoolean("use-new-effect-indicator", true); - } - - @Override - public boolean isShowNewDeathMessages() { - return getBoolean("use-new-deathmessages", true); - } - - @Override - public boolean isSuppressMetadataErrors() { - return getBoolean("suppress-metadata-errors", false); - } - - @Override - public boolean isShieldBlocking() { - return getBoolean("shield-blocking", true); - } - - @Override - public boolean isHologramPatch() { - return getBoolean("hologram-patch", false); - } - - @Override - public boolean isPistonAnimationPatch() { - return getBoolean("piston-animation-patch", false); - } - - @Override - public boolean isBossbarPatch() { - return getBoolean("bossbar-patch", true); - } - - @Override - public boolean isBossbarAntiflicker() { - return getBoolean("bossbar-anti-flicker", false); - } - - @Override - public boolean isUnknownEntitiesSuppressed() { - return false; - } - - @Override - public double getHologramYOffset() { - return getDouble("hologram-y", -0.96D); - } - - @Override - public boolean isBlockBreakPatch() { - return false; - } - - @Override - public int getMaxPPS() { - return getInt("max-pps", 800); - } - - @Override - public String getMaxPPSKickMessage() { - return getString("max-pps-kick-msg", "Sending packets too fast? lag?"); - } - - @Override - public int getTrackingPeriod() { - return getInt("tracking-period", 6); - } - - @Override - public int getWarningPPS() { - return getInt("tracking-warning-pps", 120); - } - - @Override - public int getMaxWarnings() { - return getInt("tracking-max-warnings", 3); - } - - @Override - public String getMaxWarningsKickMessage() { - return getString("tracking-max-kick-msg", "You are sending too many packets, :("); - } - - @Override - public boolean isAntiXRay() { - return getBoolean("anti-xray-patch", true); - } - - @Override - public boolean isSendSupportedVersions() { - return getBoolean("send-supported-versions", false); - } - - @Override - public boolean isStimulatePlayerTick() { - return getBoolean("simulate-pt", true); - } - - @Override - public boolean isItemCache() { - return getBoolean("item-cache", true); - } - - @Override - public boolean isNMSPlayerTicking() { - return getBoolean("nms-player-ticking", true); - } - - @Override - public boolean isReplacePistons() { - return getBoolean("replace-pistons", false); - } - - @Override - public int getPistonReplacementId() { - return getInt("replacement-piston-id", 0); - } - - public boolean isAutoTeam() { - // Collision has to be enabled first - return isPreventCollision() && getBoolean("auto-team", true); - } - - @Override - public boolean isForceJsonTransform() { - return getBoolean("force-json-transform", false); - } - - @Override - public boolean is1_12NBTArrayFix() { - return getBoolean("chat-nbt-fix", true); - } - - @Override - public boolean is1_12QuickMoveActionFix() { - return getBoolean("quick-move-action-fix", false); - } - - @Override - public List getBlockedProtocols() { - return getIntegerList("block-protocols"); - } - - @Override - public String getBlockedDisconnectMsg() { - return getString("block-disconnect-msg", "You are using an unsupported Minecraft version!"); - } - - @Override - public String getReloadDisconnectMsg() { - return getString("reload-disconnect-msg", "Server reload, please rejoin!"); - } - - @Override - public boolean isMinimizeCooldown() { - return getBoolean("minimize-cooldown", true); - } - @Override public URL getDefaultConfigURL() { return BukkitViaConfig.class.getClassLoader().getResource("assets/viaversion/config.yml"); @@ -197,76 +26,10 @@ public class BukkitViaConfig extends Config implements ViaVersionConfig { @Override protected void handleConfig(Map config) { - // Nothing currently } @Override public List getUnsupportedOptions() { return UNSUPPORTED; } - - @Override - public boolean is1_13TeamColourFix() { - return getBoolean("team-colour-fix", true); - } - - @Override - public boolean isSuppress1_13ConversionErrors() { - return getBoolean("suppress-1_13-conversion-errors", false); - } - - @Override - public boolean isDisable1_13AutoComplete() { - return getBoolean("disable-1_13-auto-complete", false); - } - - @Override - public boolean isServersideBlockConnections() { - return getBoolean("serverside-blockconnections", false); - } - - @Override - public String getBlockConnectionMethod() { - return getString("blockconnection-method", "packet"); - } - - @Override - public boolean isReduceBlockStorageMemory() { - return getBoolean("reduce-blockstorage-memory", false); - } - - @Override - public boolean isStemWhenBlockAbove() { - return getBoolean("flowerstem-when-block-above", false); - } - - @Override - public boolean isSnowCollisionFix() { - return getBoolean("fix-low-snow-collision", false); - } - - @Override - public int get1_13TabCompleteDelay() { - return getInt("1_13-tab-complete-delay", 0); - } - - @Override - public boolean isTruncate1_14Books() { - return getBoolean("truncate-1_14-books", false); - } - - @Override - public boolean isLeftHandedHandling() { - return getBoolean("left-handed-handling", true); - } - - @Override - public boolean is1_9HitboxFix() { - return getBoolean("change-1_9-hitbox", false); - } - - @Override - public boolean is1_14HitboxFix() { - return getBoolean("change-1_14-hitbox", false); - } } diff --git a/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaConfig.java b/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaConfig.java index d77ff934d..2484e07cf 100644 --- a/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaConfig.java +++ b/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaConfig.java @@ -1,16 +1,15 @@ package us.myles.ViaVersion.bungee.platform; -import us.myles.ViaVersion.api.ViaVersionConfig; +import us.myles.ViaVersion.AbstractViaConfig; import us.myles.ViaVersion.api.protocol.ProtocolVersion; import us.myles.ViaVersion.bungee.providers.BungeeVersionProvider; -import us.myles.ViaVersion.util.Config; import java.io.File; import java.net.URL; import java.util.*; -public class BungeeViaConfig extends Config implements ViaVersionConfig { - private static List UNSUPPORTED = Arrays.asList("nms-player-ticking", "item-cache", "anti-xray-patch", "quick-move-action-fix", "velocity-ping-interval", "velocity-ping-save", "velocity-servers", "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); +public class BungeeViaConfig extends AbstractViaConfig { + private static final List UNSUPPORTED = Arrays.asList("nms-player-ticking", "item-cache", "anti-xray-patch", "quick-move-action-fix", "velocity-ping-interval", "velocity-ping-save", "velocity-servers", "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); public BungeeViaConfig(File configFile) { super(new File(configFile, "config.yml")); @@ -60,115 +59,11 @@ public class BungeeViaConfig extends Config implements ViaVersionConfig { return UNSUPPORTED; } - public boolean isCheckForUpdates() { - return getBoolean("checkforupdates", true); - } - - @Override - public boolean isPreventCollision() { - return getBoolean("prevent-collision", true); - } - - @Override - public boolean isNewEffectIndicator() { - return getBoolean("use-new-effect-indicator", true); - } - - @Override - public boolean isShowNewDeathMessages() { - return getBoolean("use-new-deathmessages", true); - } - - @Override - public boolean isSuppressMetadataErrors() { - return getBoolean("suppress-metadata-errors", false); - } - - @Override - public boolean isShieldBlocking() { - return getBoolean("shield-blocking", true); - } - - @Override - public boolean isHologramPatch() { - return getBoolean("hologram-patch", false); - } - - @Override - public boolean isPistonAnimationPatch() { - return getBoolean("piston-animation-patch", false); - } - - @Override - public boolean isBossbarPatch() { - return getBoolean("bossbar-patch", true); - } - - @Override - public boolean isBossbarAntiflicker() { - return getBoolean("bossbar-anti-flicker", false); - } - - @Override - public boolean isUnknownEntitiesSuppressed() { - return false; - } - - @Override - public double getHologramYOffset() { - return getDouble("hologram-y", -0.96D); - } - - @Override - public boolean isBlockBreakPatch() { - return false; - } - - @Override - public int getMaxPPS() { - return getInt("max-pps", 800); - } - - @Override - public String getMaxPPSKickMessage() { - return getString("max-pps-kick-msg", "Sending packets too fast? lag?"); - } - - @Override - public int getTrackingPeriod() { - return getInt("tracking-period", 6); - } - - @Override - public int getWarningPPS() { - return getInt("tracking-warning-pps", 120); - } - - @Override - public int getMaxWarnings() { - return getInt("tracking-max-warnings", 3); - } - - @Override - public String getMaxWarningsKickMessage() { - return getString("tracking-max-kick-msg", "You are sending too many packets, :("); - } - @Override public boolean isAntiXRay() { return false; } - @Override - public boolean isSendSupportedVersions() { - return getBoolean("send-supported-versions", false); - } - - @Override - public boolean isStimulatePlayerTick() { - return getBoolean("simulate-pt", true); - } - @Override public boolean isItemCache() { return false; @@ -179,54 +74,24 @@ public class BungeeViaConfig extends Config implements ViaVersionConfig { return false; } - @Override - public boolean isReplacePistons() { - return getBoolean("replace-pistons", false); - } - - @Override - public int getPistonReplacementId() { - return getInt("replacement-piston-id", 0); - } - - public boolean isAutoTeam() { - // Collision has to be enabled first - return isPreventCollision() && getBoolean("auto-team", true); - } - - @Override - public boolean isForceJsonTransform() { - return getBoolean("force-json-transform", false); - } - - @Override - public boolean is1_12NBTArrayFix() { - return getBoolean("chat-nbt-fix", true); - } - @Override public boolean is1_12QuickMoveActionFix() { return false; } @Override - public List getBlockedProtocols() { - return getIntegerList("block-protocols"); + public String getBlockConnectionMethod() { + return "packet"; } @Override - public String getBlockedDisconnectMsg() { - return getString("block-disconnect-msg", "You are using an unsupported Minecraft version!"); + public boolean is1_9HitboxFix() { + return false; } @Override - public String getReloadDisconnectMsg() { - return getString("reload-disconnect-msg", "Server reload, please rejoin!"); - } - - @Override - public boolean isMinimizeCooldown() { - return getBoolean("minimize-cooldown", true); + public boolean is1_14HitboxFix() { + return false; } /** @@ -257,69 +122,4 @@ public class BungeeViaConfig extends Config implements ViaVersionConfig { public Map getBungeeServerProtocols() { return get("bungee-servers", Map.class, new HashMap<>()); } - - @Override - public boolean is1_13TeamColourFix() { - return getBoolean("team-colour-fix", true); - } - - @Override - public boolean isSuppress1_13ConversionErrors() { - return getBoolean("suppress-1_13-conversion-errors", false); - } - - @Override - public boolean isDisable1_13AutoComplete() { - return getBoolean("disable-1_13-auto-complete", false); - } - - @Override - public boolean isServersideBlockConnections() { - return getBoolean("serverside-blockconnections", false); - } - - @Override - public String getBlockConnectionMethod() { - return "packet"; - } - - @Override - public boolean isReduceBlockStorageMemory() { - return getBoolean("reduce-blockstorage-memory", false); - } - - @Override - public boolean isStemWhenBlockAbove() { - return getBoolean("flowerstem-when-block-above", false); - } - - @Override - public boolean isSnowCollisionFix() { - return getBoolean("fix-low-snow-collision", false); - } - - @Override - public int get1_13TabCompleteDelay() { - return getInt("1_13-tab-complete-delay", 0); - } - - @Override - public boolean isTruncate1_14Books() { - return getBoolean("truncate-1_14-books", false); - } - - @Override - public boolean isLeftHandedHandling() { - return getBoolean("left-handed-handling", true); - } - - @Override - public boolean is1_9HitboxFix() { - return false; - } - - @Override - public boolean is1_14HitboxFix() { - return false; - } } diff --git a/common/src/main/java/us/myles/ViaVersion/AbstractViaConfig.java b/common/src/main/java/us/myles/ViaVersion/AbstractViaConfig.java new file mode 100644 index 000000000..94a69c280 --- /dev/null +++ b/common/src/main/java/us/myles/ViaVersion/AbstractViaConfig.java @@ -0,0 +1,240 @@ +package us.myles.ViaVersion; + +import us.myles.ViaVersion.api.ViaVersionConfig; +import us.myles.ViaVersion.util.Config; + +import java.io.File; +import java.util.List; + +public abstract class AbstractViaConfig extends Config implements ViaVersionConfig { + + public AbstractViaConfig(File configFile) { + super(configFile); + } + + @Override + public boolean isCheckForUpdates() { + return getBoolean("checkforupdates", true); + } + + @Override + public boolean isPreventCollision() { + return getBoolean("prevent-collision", true); + } + + @Override + public boolean isNewEffectIndicator() { + return getBoolean("use-new-effect-indicator", true); + } + + @Override + public boolean isShowNewDeathMessages() { + return getBoolean("use-new-deathmessages", true); + } + + @Override + public boolean isSuppressMetadataErrors() { + return getBoolean("suppress-metadata-errors", false); + } + + @Override + public boolean isShieldBlocking() { + return getBoolean("shield-blocking", true); + } + + @Override + public boolean isHologramPatch() { + return getBoolean("hologram-patch", false); + } + + @Override + public boolean isPistonAnimationPatch() { + return getBoolean("piston-animation-patch", false); + } + + @Override + public boolean isBossbarPatch() { + return getBoolean("bossbar-patch", true); + } + + @Override + public boolean isBossbarAntiflicker() { + return getBoolean("bossbar-anti-flicker", false); + } + + @Override + public double getHologramYOffset() { + return getDouble("hologram-y", -0.96D); + } + + @Override + public int getMaxPPS() { + return getInt("max-pps", 800); + } + + @Override + public String getMaxPPSKickMessage() { + return getString("max-pps-kick-msg", "Sending packets too fast? lag?"); + } + + @Override + public int getTrackingPeriod() { + return getInt("tracking-period", 6); + } + + @Override + public int getWarningPPS() { + return getInt("tracking-warning-pps", 120); + } + + @Override + public int getMaxWarnings() { + return getInt("tracking-max-warnings", 3); + } + + @Override + public String getMaxWarningsKickMessage() { + return getString("tracking-max-kick-msg", "You are sending too many packets, :("); + } + + @Override + public boolean isAntiXRay() { + return getBoolean("anti-xray-patch", true); + } + + @Override + public boolean isSendSupportedVersions() { + return getBoolean("send-supported-versions", false); + } + + @Override + public boolean isStimulatePlayerTick() { + return getBoolean("simulate-pt", true); + } + + @Override + public boolean isItemCache() { + return getBoolean("item-cache", true); + } + + @Override + public boolean isNMSPlayerTicking() { + return getBoolean("nms-player-ticking", true); + } + + @Override + public boolean isReplacePistons() { + return getBoolean("replace-pistons", false); + } + + @Override + public int getPistonReplacementId() { + return getInt("replacement-piston-id", 0); + } + + @Override + public boolean isAutoTeam() { + // Collision has to be enabled first + return isPreventCollision() && getBoolean("auto-team", true); + } + + @Override + public boolean isForceJsonTransform() { + return getBoolean("force-json-transform", false); + } + + @Override + public boolean is1_12NBTArrayFix() { + return getBoolean("chat-nbt-fix", true); + } + + @Override + public boolean is1_12QuickMoveActionFix() { + return getBoolean("quick-move-action-fix", false); + } + + @Override + public List getBlockedProtocols() { + return getIntegerList("block-protocols"); + } + + @Override + public String getBlockedDisconnectMsg() { + return getString("block-disconnect-msg", "You are using an unsupported Minecraft version!"); + } + + @Override + public String getReloadDisconnectMsg() { + return getString("reload-disconnect-msg", "Server reload, please rejoin!"); + } + + @Override + public boolean isMinimizeCooldown() { + return getBoolean("minimize-cooldown", true); + } + + @Override + public boolean is1_13TeamColourFix() { + return getBoolean("team-colour-fix", true); + } + + @Override + public boolean isSuppress1_13ConversionErrors() { + return getBoolean("suppress-1_13-conversion-errors", false); + } + + @Override + public boolean isDisable1_13AutoComplete() { + return getBoolean("disable-1_13-auto-complete", false); + } + + @Override + public boolean isServersideBlockConnections() { + return getBoolean("serverside-blockconnections", false); + } + + @Override + public String getBlockConnectionMethod() { + return getString("blockconnection-method", "packet"); + } + + @Override + public boolean isReduceBlockStorageMemory() { + return getBoolean("reduce-blockstorage-memory", false); + } + + @Override + public boolean isStemWhenBlockAbove() { + return getBoolean("flowerstem-when-block-above", false); + } + + @Override + public boolean isSnowCollisionFix() { + return getBoolean("fix-low-snow-collision", false); + } + + @Override + public int get1_13TabCompleteDelay() { + return getInt("1_13-tab-complete-delay", 0); + } + + @Override + public boolean isTruncate1_14Books() { + return getBoolean("truncate-1_14-books", false); + } + + @Override + public boolean isLeftHandedHandling() { + return getBoolean("left-handed-handling", true); + } + + @Override + public boolean is1_9HitboxFix() { + return getBoolean("change-1_9-hitbox", false); + } + + @Override + public boolean is1_14HitboxFix() { + return getBoolean("change-1_14-hitbox", false); + } +} diff --git a/common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java b/common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java index d3b34cac4..987ee4c91 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java +++ b/common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java @@ -81,7 +81,9 @@ public interface ViaVersionConfig { * @return true if boss bar patching is enabled */ @Deprecated - boolean isUnknownEntitiesSuppressed(); + default boolean isUnknownEntitiesSuppressed() { + return false; + } /** * Get the vertical offset armor stands are being moved with when the hologram patch is enabled @@ -103,7 +105,9 @@ public interface ViaVersionConfig { * @return true if it is enabled. */ @Deprecated - boolean isBlockBreakPatch(); + default boolean isBlockBreakPatch() { + return false; + } /** * Get the maximum number of packets a client can send per second. diff --git a/sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeViaConfig.java b/sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeViaConfig.java index 045be1926..5193ebe3e 100644 --- a/sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeViaConfig.java +++ b/sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeViaConfig.java @@ -2,8 +2,7 @@ package us.myles.ViaVersion.sponge.platform; import org.spongepowered.api.asset.Asset; import org.spongepowered.api.plugin.PluginContainer; -import us.myles.ViaVersion.api.ViaVersionConfig; -import us.myles.ViaVersion.util.Config; +import us.myles.ViaVersion.AbstractViaConfig; import java.io.File; import java.net.URL; @@ -12,8 +11,8 @@ import java.util.List; import java.util.Map; import java.util.Optional; -public class SpongeViaConfig extends Config implements ViaVersionConfig { - private static List UNSUPPORTED = Arrays.asList("anti-xray-patch", "bungee-ping-interval", "bungee-ping-save", "bungee-servers", "velocity-ping-interval", "velocity-ping-save", "velocity-servers", "quick-move-action-fix", "change-1_9-hitbox", "change-1_14-hitbox"); +public class SpongeViaConfig extends AbstractViaConfig { + private static final List UNSUPPORTED = Arrays.asList("anti-xray-patch", "bungee-ping-interval", "bungee-ping-save", "bungee-servers", "velocity-ping-interval", "velocity-ping-save", "velocity-servers", "quick-move-action-fix", "change-1_9-hitbox", "change-1_14-hitbox"); private final PluginContainer pluginContainer; public SpongeViaConfig(PluginContainer pluginContainer, File configFile) { @@ -34,7 +33,6 @@ public class SpongeViaConfig extends Config implements ViaVersionConfig { @Override protected void handleConfig(Map config) { - // Nothing Currently } @Override @@ -42,230 +40,16 @@ public class SpongeViaConfig extends Config implements ViaVersionConfig { return UNSUPPORTED; } - public boolean isCheckForUpdates() { - return getBoolean("checkforupdates", true); - } - - @Override - public boolean isPreventCollision() { - return getBoolean("prevent-collision", true); - } - - @Override - public boolean isNewEffectIndicator() { - return getBoolean("use-new-effect-indicator", true); - } - - @Override - public boolean isShowNewDeathMessages() { - return getBoolean("use-new-deathmessages", true); - } - - @Override - public boolean isSuppressMetadataErrors() { - return getBoolean("suppress-metadata-errors", false); - } - - @Override - public boolean isShieldBlocking() { - return getBoolean("shield-blocking", true); - } - - @Override - public boolean isHologramPatch() { - return getBoolean("hologram-patch", false); - } - - @Override - public boolean isPistonAnimationPatch() { - return getBoolean("piston-animation-patch", false); - } - - @Override - public boolean isBossbarPatch() { - return getBoolean("bossbar-patch", true); - } - - @Override - public boolean isBossbarAntiflicker() { - return getBoolean("bossbar-anti-flicker", false); - } - - @Override - public boolean isUnknownEntitiesSuppressed() { - return false; - } - - @Override - public double getHologramYOffset() { - return getDouble("hologram-y", -0.96D); - } - - @Override - public boolean isBlockBreakPatch() { - return false; - } - - @Override - public int getMaxPPS() { - return getInt("max-pps", 800); - } - - @Override - public String getMaxPPSKickMessage() { - return getString("max-pps-kick-msg", "Sending packets too fast? lag?"); - } - - @Override - public int getTrackingPeriod() { - return getInt("tracking-period", 6); - } - - @Override - public int getWarningPPS() { - return getInt("tracking-warning-pps", 120); - } - - @Override - public int getMaxWarnings() { - return getInt("tracking-max-warnings", 3); - } - - @Override - public String getMaxWarningsKickMessage() { - return getString("tracking-max-kick-msg", "You are sending too many packets, :("); - } - @Override public boolean isAntiXRay() { return false; } - @Override - public boolean isSendSupportedVersions() { - return getBoolean("send-supported-versions", false); - } - - @Override - public boolean isStimulatePlayerTick() { - return getBoolean("simulate-pt", true); - } - - @Override - public boolean isItemCache() { - return getBoolean("item-cache", true); - } - - @Override - public boolean isNMSPlayerTicking() { - return getBoolean("nms-player-ticking", true); - } - - @Override - public boolean isReplacePistons() { - return getBoolean("replace-pistons", false); - } - - @Override - public int getPistonReplacementId() { - return getInt("replacement-piston-id", 0); - } - - public boolean isAutoTeam() { - // Collision has to be enabled first - return isPreventCollision() && getBoolean("auto-team", true); - } - - @Override - public boolean isForceJsonTransform() { - return getBoolean("force-json-transform", false); - } - - @Override - public boolean is1_12NBTArrayFix() { - return getBoolean("chat-nbt-fix", true); - } - @Override public boolean is1_12QuickMoveActionFix() { return false; } - @Override - public List getBlockedProtocols() { - return getIntegerList("block-protocols"); - } - - @Override - public String getBlockedDisconnectMsg() { - return getString("block-disconnect-msg", "You are using an unsupported Minecraft version!"); - } - - @Override - public String getReloadDisconnectMsg() { - return getString("reload-disconnect-msg", "Server reload, please rejoin!"); - } - - @Override - public boolean isMinimizeCooldown() { - return getBoolean("minimize-cooldown", true); - } - - @Override - public boolean is1_13TeamColourFix() { - return getBoolean("team-colour-fix", true); - } - - @Override - public boolean isSuppress1_13ConversionErrors() { - return getBoolean("suppress-1_13-conversion-errors", false); - } - - @Override - public boolean isDisable1_13AutoComplete() { - return getBoolean("disable-1_13-auto-complete", false); - } - - @Override - public boolean isServersideBlockConnections() { - return getBoolean("serverside-blockconnections", false); - } - - @Override - public String getBlockConnectionMethod() { - return getString("blockconnection-method", "packet"); - } - - @Override - public boolean isReduceBlockStorageMemory() { - return getBoolean("reduce-blockstorage-memory", false); - } - - @Override - public boolean isStemWhenBlockAbove() { - return getBoolean("flowerstem-when-block-above", false); - } - - @Override - public boolean isSnowCollisionFix() { - return getBoolean("fix-low-snow-collision", false); - } - - @Override - public int get1_13TabCompleteDelay() { - return getInt("1_13-tab-complete-delay", 0); - } - - @Override - public boolean isTruncate1_14Books() { - return getBoolean("truncate-1_14-books", false); - } - - @Override - public boolean isLeftHandedHandling() { - return getBoolean("left-handed-handling", true); - } - @Override public boolean is1_9HitboxFix() { return false; diff --git a/velocity/src/main/java/us/myles/ViaVersion/velocity/platform/VelocityViaConfig.java b/velocity/src/main/java/us/myles/ViaVersion/velocity/platform/VelocityViaConfig.java index 1c86a21a9..ff0489b68 100644 --- a/velocity/src/main/java/us/myles/ViaVersion/velocity/platform/VelocityViaConfig.java +++ b/velocity/src/main/java/us/myles/ViaVersion/velocity/platform/VelocityViaConfig.java @@ -1,15 +1,14 @@ package us.myles.ViaVersion.velocity.platform; -import us.myles.ViaVersion.api.ViaVersionConfig; +import us.myles.ViaVersion.AbstractViaConfig; import us.myles.ViaVersion.api.protocol.ProtocolVersion; -import us.myles.ViaVersion.util.Config; import java.io.File; import java.net.URL; import java.util.*; -public class VelocityViaConfig extends Config implements ViaVersionConfig { - private static List UNSUPPORTED = Arrays.asList("nms-player-ticking", "item-cache", "anti-xray-patch", "quick-move-action-fix", "bungee-ping-interval", "bungee-ping-save", "bungee-servers", "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); +public class VelocityViaConfig extends AbstractViaConfig { + private static final List UNSUPPORTED = Arrays.asList("nms-player-ticking", "item-cache", "anti-xray-patch", "quick-move-action-fix", "bungee-ping-interval", "bungee-ping-save", "bungee-servers", "blockconnection-method", "change-1_9-hitbox", "change-1_14-hitbox"); public VelocityViaConfig(File configFile) { super(new File(configFile, "config.yml")); @@ -65,115 +64,11 @@ public class VelocityViaConfig extends Config implements ViaVersionConfig { return UNSUPPORTED; } - public boolean isCheckForUpdates() { - return getBoolean("checkforupdates", true); - } - - @Override - public boolean isPreventCollision() { - return getBoolean("prevent-collision", true); - } - - @Override - public boolean isNewEffectIndicator() { - return getBoolean("use-new-effect-indicator", true); - } - - @Override - public boolean isShowNewDeathMessages() { - return getBoolean("use-new-deathmessages", true); - } - - @Override - public boolean isSuppressMetadataErrors() { - return getBoolean("suppress-metadata-errors", false); - } - - @Override - public boolean isShieldBlocking() { - return getBoolean("shield-blocking", true); - } - - @Override - public boolean isHologramPatch() { - return getBoolean("hologram-patch", false); - } - - @Override - public boolean isPistonAnimationPatch() { - return getBoolean("piston-animation-patch", false); - } - - @Override - public boolean isBossbarPatch() { - return getBoolean("bossbar-patch", true); - } - - @Override - public boolean isBossbarAntiflicker() { - return getBoolean("bossbar-anti-flicker", false); - } - - @Override - public boolean isUnknownEntitiesSuppressed() { - return false; - } - - @Override - public double getHologramYOffset() { - return getDouble("hologram-y", -0.96D); - } - - @Override - public boolean isBlockBreakPatch() { - return false; - } - - @Override - public int getMaxPPS() { - return getInt("max-pps", 800); - } - - @Override - public String getMaxPPSKickMessage() { - return getString("max-pps-kick-msg", "Sending packets too fast? lag?"); - } - - @Override - public int getTrackingPeriod() { - return getInt("tracking-period", 6); - } - - @Override - public int getWarningPPS() { - return getInt("tracking-warning-pps", 120); - } - - @Override - public int getMaxWarnings() { - return getInt("tracking-max-warnings", 3); - } - - @Override - public String getMaxWarningsKickMessage() { - return getString("tracking-max-kick-msg", "You are sending too many packets, :("); - } - @Override public boolean isAntiXRay() { return false; } - @Override - public boolean isSendSupportedVersions() { - return getBoolean("send-supported-versions", false); - } - - @Override - public boolean isStimulatePlayerTick() { - return getBoolean("simulate-pt", true); - } - @Override public boolean isItemCache() { return false; @@ -184,54 +79,24 @@ public class VelocityViaConfig extends Config implements ViaVersionConfig { return false; } - @Override - public boolean isReplacePistons() { - return getBoolean("replace-pistons", false); - } - - @Override - public int getPistonReplacementId() { - return getInt("replacement-piston-id", 0); - } - - public boolean isAutoTeam() { - // Collision has to be enabled first - return isPreventCollision() && getBoolean("auto-team", true); - } - - @Override - public boolean isForceJsonTransform() { - return getBoolean("force-json-transform", false); - } - - @Override - public boolean is1_12NBTArrayFix() { - return getBoolean("chat-nbt-fix", true); - } - @Override public boolean is1_12QuickMoveActionFix() { return false; } @Override - public List getBlockedProtocols() { - return getIntegerList("block-protocols"); + public String getBlockConnectionMethod() { + return "packet"; } @Override - public String getBlockedDisconnectMsg() { - return getString("block-disconnect-msg", "You are using an unsupported Minecraft version!"); + public boolean is1_9HitboxFix() { + return false; } @Override - public String getReloadDisconnectMsg() { - return getString("reload-disconnect-msg", "Server reload, please rejoin!"); - } - - @Override - public boolean isMinimizeCooldown() { - return getBoolean("minimize-cooldown", true); + public boolean is1_14HitboxFix() { + return false; } /** @@ -262,70 +127,4 @@ public class VelocityViaConfig extends Config implements ViaVersionConfig { public Map getVelocityServerProtocols() { return get("velocity-servers", Map.class, new HashMap<>()); } - - @Override - public boolean is1_13TeamColourFix() { - return getBoolean("team-colour-fix", true); - } - - @Override - public boolean isSuppress1_13ConversionErrors() { - return getBoolean("suppress-1_13-conversion-errors", false); - } - - @Override - public boolean isDisable1_13AutoComplete() { - return getBoolean("disable-1_13-auto-complete", false); - } - - @Override - public boolean isServersideBlockConnections() { - return getBoolean("serverside-blockconnections", false); - } - - @Override - public String getBlockConnectionMethod() { - return "packet"; - } - - @Override - public boolean isReduceBlockStorageMemory() { - return getBoolean("reduce-blockstorage-memory", false); - } - - @Override - public boolean isStemWhenBlockAbove() { - return getBoolean("flowerstem-when-block-above", false); - } - - @Override - public boolean isSnowCollisionFix() { - return getBoolean("fix-low-snow-collision", false); - } - - @Override - public int get1_13TabCompleteDelay() { - return getInt("1_13-tab-complete-delay", 0); - } - - @Override - public boolean isTruncate1_14Books() { - return getBoolean("truncate-1_14-books", false); - } - - @Override - public boolean isLeftHandedHandling() { - return getBoolean("left-handed-handling", true); - } - - - @Override - public boolean is1_9HitboxFix() { - return false; - } - - @Override - public boolean is1_14HitboxFix() { - return false; - } } From ae6cff5325fb8bceda6c8a7819ae1539e60bb36e Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Wed, 15 May 2019 12:48:40 +0200 Subject: [PATCH 4/6] Remove deprecated config methods --- .../ViaVersion/api/ViaVersionConfig.java | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java b/common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java index 987ee4c91..7d7f8657a 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java +++ b/common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java @@ -75,16 +75,6 @@ public interface ViaVersionConfig { */ boolean isBossbarAntiflicker(); - /** - * Get if unknown entity errors will be suppressed - * - * @return true if boss bar patching is enabled - */ - @Deprecated - default boolean isUnknownEntitiesSuppressed() { - return false; - } - /** * Get the vertical offset armor stands are being moved with when the hologram patch is enabled * @@ -99,16 +89,6 @@ public interface ViaVersionConfig { */ boolean isAutoTeam(); - /** - * Get if our block break patch is enabled to prevent weird ghost glitches. - * - * @return true if it is enabled. - */ - @Deprecated - default boolean isBlockBreakPatch() { - return false; - } - /** * Get the maximum number of packets a client can send per second. * From a191d0de1664289fe5d20b762e2c612aa2529b56 Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Wed, 15 May 2019 13:32:29 +0200 Subject: [PATCH 5/6] Reduce code duplication MappingData in (also regarding future versions) --- .../api/data/MappingDataLoader.java | 100 +++++++++++++ .../myles/ViaVersion/api/data/Mappings.java | 6 + .../Protocol1_13To1_12_2.java | 2 +- .../providers/BlockConnectionProvider.java | 2 +- .../data/MappingData.java | 134 +++--------------- .../packets/InventoryPackets.java | 2 +- .../packets/WorldPackets.java | 4 +- .../storage/BlockConnectionStorage.java | 2 +- .../Protocol1_14_1To1_14.java | 18 +-- .../Protocol1_14To1_13_2.java | 6 +- .../data/MappingData.java | 124 +++------------- .../packets/WorldPackets.java | 6 +- 12 files changed, 164 insertions(+), 242 deletions(-) create mode 100644 common/src/main/java/us/myles/ViaVersion/api/data/MappingDataLoader.java create mode 100644 common/src/main/java/us/myles/ViaVersion/api/data/Mappings.java diff --git a/common/src/main/java/us/myles/ViaVersion/api/data/MappingDataLoader.java b/common/src/main/java/us/myles/ViaVersion/api/data/MappingDataLoader.java new file mode 100644 index 000000000..66332acea --- /dev/null +++ b/common/src/main/java/us/myles/ViaVersion/api/data/MappingDataLoader.java @@ -0,0 +1,100 @@ +package us.myles.ViaVersion.api.data; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import us.myles.ViaVersion.api.Via; +import us.myles.ViaVersion.util.GsonUtil; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Map; + +public class MappingDataLoader { + + public static JsonObject loadData(String name) { + InputStream stream = MappingDataLoader.class.getClassLoader().getResourceAsStream("assets/viaversion/data/" + name); + InputStreamReader reader = new InputStreamReader(stream); + try { + return GsonUtil.getGson().fromJson(reader, JsonObject.class); + } finally { + try { + reader.close(); + } catch (IOException ignored) { + // Ignored + } + } + } + + public static void mapIdentifiers(Map output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { + for (Map.Entry entry : oldIdentifiers.entrySet()) { + Map.Entry value = findValue(newIdentifiers, entry.getValue().getAsString()); + if (value == null) { + if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { + Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); + } + continue; + } + output.put(Integer.parseInt(entry.getKey()), Integer.parseInt(value.getKey())); + } + } + + public static void mapIdentifiers(short[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { + for (Map.Entry entry : oldIdentifiers.entrySet()) { + Map.Entry value = findValue(newIdentifiers, entry.getValue().getAsString()); + if (value == null) { + if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { + Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); + } + continue; + } + output[Integer.parseInt(entry.getKey())] = Short.parseShort(value.getKey()); + } + } + + public static void mapIdentifiers(short[] output, JsonArray oldIdentifiers, JsonArray newIdentifiers) { + for (int i = 0; i < oldIdentifiers.size(); i++) { + JsonElement v = oldIdentifiers.get(i); + Integer index = findIndex(newIdentifiers, v.getAsString()); + if (index == null) { + if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { + Via.getPlatform().getLogger().warning("No key for " + v + " :( "); + } + continue; + } + output[i] = index.shortValue(); + } + } + + public static void mapIdentifiers(byte[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { + for (Map.Entry entry : oldIdentifiers.entrySet()) { + Map.Entry value = MappingDataLoader.findValue(newIdentifiers, entry.getValue().getAsString()); + if (value == null) { + Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); + continue; + } + output[Integer.parseInt(entry.getKey())] = Byte.parseByte(value.getKey()); + } + } + + public static Map.Entry findValue(JsonObject object, String needle) { + for (Map.Entry entry : object.entrySet()) { + String value = entry.getValue().getAsString(); + if (value.equals(needle)) { + return entry; + } + } + return null; + } + + public static Integer findIndex(JsonArray array, String value) { + for (int i = 0; i < array.size(); i++) { + JsonElement v = array.get(i); + if (v.getAsString().equals(value)) { + return i; + } + } + return null; + } +} diff --git a/common/src/main/java/us/myles/ViaVersion/api/data/Mappings.java b/common/src/main/java/us/myles/ViaVersion/api/data/Mappings.java new file mode 100644 index 000000000..3999c5a9c --- /dev/null +++ b/common/src/main/java/us/myles/ViaVersion/api/data/Mappings.java @@ -0,0 +1,6 @@ +package us.myles.ViaVersion.api.data; + +public interface Mappings { + + int getNewId(int old); +} diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java index 3fdcbcbf4..539021720 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java @@ -1159,7 +1159,7 @@ public class Protocol1_13To1_12_2 extends Protocol { } private int getNewSoundID(final int oldID) { - return MappingData.soundMappings.getNewSound(oldID); + return MappingData.soundMappings.getNewId(oldID); } // Based on method from https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/ChatColor.java diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/blockconnections/providers/BlockConnectionProvider.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/blockconnections/providers/BlockConnectionProvider.java index 4cac4c0fa..26330d7d9 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/blockconnections/providers/BlockConnectionProvider.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/blockconnections/providers/BlockConnectionProvider.java @@ -9,7 +9,7 @@ public class BlockConnectionProvider implements Provider { public int getBlockdata(UserConnection connection, Position position) { int oldId = getWorldBlockData(connection, position); - return MappingData.blockMappings.getNewBlock(oldId); + return MappingData.blockMappings.getNewId(oldId); } public int getWorldBlockData(UserConnection connection, Position position) { diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/data/MappingData.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/data/MappingData.java index 45c1efd1f..02b93706d 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/data/MappingData.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/data/MappingData.java @@ -8,10 +8,11 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import us.myles.ViaVersion.api.Via; +import us.myles.ViaVersion.api.data.MappingDataLoader; +import us.myles.ViaVersion.api.data.Mappings; import us.myles.ViaVersion.util.GsonUtil; import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.nio.charset.StandardCharsets; @@ -27,18 +28,18 @@ public class MappingData { public static BiMap oldEnchantmentsIds = HashBiMap.create(); public static Map translateMapping = new HashMap<>(); public static Map mojangTranslation = new HashMap<>(); - public static EnchantmentMappings enchantmentMappings; - public static SoundMappings soundMappings; - public static BlockMappings blockMappings; + public static Mappings enchantmentMappings; + public static Mappings soundMappings; + public static Mappings blockMappings; public static void init() { - JsonObject mapping1_12 = loadData("mapping-1.12.json"); - JsonObject mapping1_13 = loadData("mapping-1.13.json"); + JsonObject mapping1_12 = MappingDataLoader.loadData("mapping-1.12.json"); + JsonObject mapping1_13 = MappingDataLoader.loadData("mapping-1.13.json"); Via.getPlatform().getLogger().info("Loading 1.12.2 -> 1.13 block mapping..."); blockMappings = new BlockMappingsShortArray(mapping1_12.getAsJsonObject("blocks"), mapping1_13.getAsJsonObject("blocks")); Via.getPlatform().getLogger().info("Loading 1.12.2 -> 1.13 item mapping..."); - mapIdentifiers(oldToNewItems, mapping1_12.getAsJsonObject("items"), mapping1_13.getAsJsonObject("items")); + MappingDataLoader.mapIdentifiers(oldToNewItems, mapping1_12.getAsJsonObject("items"), mapping1_13.getAsJsonObject("items")); Via.getPlatform().getLogger().info("Loading new 1.13 tags..."); loadTags(blockTags, mapping1_13.getAsJsonObject("block_tags")); loadTags(itemTags, mapping1_13.getAsJsonObject("item_tags")); @@ -55,7 +56,8 @@ public class MappingData { MappingData.class.getClassLoader() .getResourceAsStream("assets/viaversion/data/mapping-lang-1.12-1.13.json") ), - (new TypeToken>(){}).getType()); + (new TypeToken>() { + }).getType()); try { String[] lines; try (Reader reader = new InputStreamReader(MappingData.class.getClassLoader() @@ -82,72 +84,6 @@ public class MappingData { } } - public static JsonObject loadData(String name) { - InputStream stream = MappingData.class.getClassLoader().getResourceAsStream("assets/viaversion/data/" + name); - InputStreamReader reader = new InputStreamReader(stream); - try { - JsonObject jsonObject = GsonUtil.getGson().fromJson(reader, JsonObject.class); - return jsonObject; - } finally { - try { - reader.close(); - } catch (IOException ignored) { - // Ignored - } - } - } - - private static void mapIdentifiers(Map output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { - for (Map.Entry entry : oldIdentifiers.entrySet()) { - Map.Entry value = findValue(newIdentifiers, entry.getValue().getAsString()); - if (value == null) { - if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); - } - continue; - } - output.put(Integer.parseInt(entry.getKey()), Integer.parseInt(value.getKey())); - } - } - - private static void mapIdentifiers(short[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { - for (Map.Entry entry : oldIdentifiers.entrySet()) { - Map.Entry value = findValue(newIdentifiers, entry.getValue().getAsString()); - if (value == null) { - if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); - } - continue; - } - output[Integer.parseInt(entry.getKey())] = Short.parseShort(value.getKey()); - } - } - - private static void mapIdentifiers(byte[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { - for (Map.Entry entry : oldIdentifiers.entrySet()) { - Map.Entry value = findValue(newIdentifiers, entry.getValue().getAsString()); - if (value == null) { - Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); - continue; - } - output[Integer.parseInt(entry.getKey())] = Byte.parseByte(value.getKey()); - } - } - - private static void mapIdentifiers(short[] output, JsonArray oldIdentifiers, JsonArray newIdentifiers) { - for (int i = 0; i < oldIdentifiers.size(); i++) { - JsonElement v = oldIdentifiers.get(i); - Integer index = findIndex(newIdentifiers, v.getAsString()); - if (index == null) { - if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("No key for " + v + " :( "); - } - continue; - } - output[i] = index.shortValue(); - } - } - private static void loadTags(Map output, JsonObject newTags) { for (Map.Entry entry : newTags.entrySet()) { JsonArray ids = entry.getValue().getAsJsonArray(); @@ -165,36 +101,12 @@ public class MappingData { } } - private static Map.Entry findValue(JsonObject object, String needle) { - for (Map.Entry entry : object.entrySet()) { - String value = entry.getValue().getAsString(); - if (value.equals(needle)) { - return entry; - } - } - return null; - } - - private static Integer findIndex(JsonArray array, String value) { - for (int i = 0; i < array.size(); i++) { - JsonElement v = array.get(i); - if (v.getAsString().equals(value)) { - return i; - } - } - return null; - } - - public interface BlockMappings { - int getNewBlock(int old); - } - - private static class BlockMappingsShortArray implements BlockMappings { + private static class BlockMappingsShortArray implements Mappings { private short[] oldToNew = new short[4084]; private BlockMappingsShortArray(JsonObject mapping1_12, JsonObject mapping1_13) { Arrays.fill(oldToNew, (short) -1); - mapIdentifiers(oldToNew, mapping1_12, mapping1_13); + MappingDataLoader.mapIdentifiers(oldToNew, mapping1_12, mapping1_13); // Map minecraft:snow[layers=1] of 1.12 to minecraft:snow[layers=2] in 1.13 if (Via.getConfig().isSnowCollisionFix()) { oldToNew[1248] = 3416; @@ -202,43 +114,35 @@ public class MappingData { } @Override - public int getNewBlock(int old) { + public int getNewId(int old) { return old >= 0 && old < oldToNew.length ? oldToNew[old] : -1; } } - public interface SoundMappings { - int getNewSound(int old); - } - - private static class SoundMappingShortArray implements SoundMappings { + private static class SoundMappingShortArray implements Mappings { private short[] oldToNew = new short[662]; private SoundMappingShortArray(JsonArray mapping1_12, JsonArray mapping1_13) { Arrays.fill(oldToNew, (short) -1); - mapIdentifiers(oldToNew, mapping1_12, mapping1_13); + MappingDataLoader.mapIdentifiers(oldToNew, mapping1_12, mapping1_13); } @Override - public int getNewSound(int old) { + public int getNewId(int old) { return old >= 0 && old < oldToNew.length ? oldToNew[old] : -1; } } - public interface EnchantmentMappings { - int getNewEnchantment(int old); - } - - private static class EnchantmentMappingByteArray implements EnchantmentMappings { + private static class EnchantmentMappingByteArray implements Mappings { private byte[] oldToNew = new byte[72]; private EnchantmentMappingByteArray(JsonObject m1_12, JsonObject m1_13) { Arrays.fill(oldToNew, (byte) -1); - mapIdentifiers(oldToNew, m1_12, m1_13); + MappingDataLoader.mapIdentifiers(oldToNew, m1_12, m1_13); } @Override - public int getNewEnchantment(int old) { + public int getNewId(int old) { return old >= 0 && old < oldToNew.length ? oldToNew[old] : -1; } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/packets/InventoryPackets.java index 2d8ad2522..6bfb3aec9 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/packets/InventoryPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/packets/InventoryPackets.java @@ -81,7 +81,7 @@ public class InventoryPackets { public void handle(PacketWrapper wrapper) throws Exception { short property = wrapper.get(Type.SHORT, 0); if (property >= 4 && property <= 6) { // Enchantment id - wrapper.set(Type.SHORT, 1, (short) MappingData.enchantmentMappings.getNewEnchantment( + wrapper.set(Type.SHORT, 1, (short) MappingData.enchantmentMappings.getNewId( wrapper.get(Type.SHORT, 1) )); } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/packets/WorldPackets.java index a5b82467d..17680c8e0 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/packets/WorldPackets.java @@ -496,11 +496,11 @@ public class WorldPackets { if (oldId < 0) { oldId = 0; // Some plugins use negative numbers to clear blocks, remap them to air. } - int newId = MappingData.blockMappings.getNewBlock(oldId); + int newId = MappingData.blockMappings.getNewId(oldId); if (newId != -1) { return newId; } - newId = MappingData.blockMappings.getNewBlock(oldId & ~0xF); // Remove data + newId = MappingData.blockMappings.getNewId(oldId & ~0xF); // Remove data if (newId != -1) { if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { Via.getPlatform().getLogger().warning("Missing block " + oldId); diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/storage/BlockConnectionStorage.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/storage/BlockConnectionStorage.java index 176e66563..96de6245a 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/storage/BlockConnectionStorage.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/storage/BlockConnectionStorage.java @@ -28,7 +28,7 @@ public class BlockConnectionStorage extends StoredObject { } reverseBlockMappings = new HashMap<>(); for (int i = 0; i < 4096; i++) { - int newBlock = MappingData.blockMappings.getNewBlock(i); + int newBlock = MappingData.blockMappings.getNewId(i); if (newBlock != -1) reverseBlockMappings.put((short) newBlock, (short) i); } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14_1to1_14/Protocol1_14_1To1_14.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14_1to1_14/Protocol1_14_1To1_14.java index 0758c64e1..298913ccc 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14_1to1_14/Protocol1_14_1To1_14.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14_1to1_14/Protocol1_14_1To1_14.java @@ -8,15 +8,15 @@ import us.myles.ViaVersion.protocols.protocol1_14_1to1_14.storage.EntityTracker1 public class Protocol1_14_1To1_14 extends Protocol { - @Override - protected void registerPackets() { - put(new MetadataRewriter1_14_1To1_14()); + @Override + protected void registerPackets() { + put(new MetadataRewriter1_14_1To1_14()); - EntityPackets.register(this); - } + EntityPackets.register(this); + } - @Override - public void init(UserConnection userConnection) { - userConnection.put(new EntityTracker1_14_1(userConnection)); - } + @Override + public void init(UserConnection userConnection) { + userConnection.put(new EntityTracker1_14_1(userConnection)); + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java index f99f45c6e..4cce427be 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/Protocol1_14To1_13_2.java @@ -296,7 +296,7 @@ public class Protocol1_14To1_13_2 extends Protocol { } public static int getNewSoundId(int id) { - int newId = MappingData.soundMappings.getNewSound(id); + int newId = MappingData.soundMappings.getNewId(id); if (newId == -1) { Via.getPlatform().getLogger().warning("Missing 1.14 sound for 1.13.2 sound " + id); return 0; @@ -305,7 +305,7 @@ public class Protocol1_14To1_13_2 extends Protocol { } public static int getNewBlockStateId(int id) { - int newId = MappingData.blockStateMappings.getNewBlock(id); + int newId = MappingData.blockStateMappings.getNewId(id); if (newId == -1) { Via.getPlatform().getLogger().warning("Missing 1.14 blockstate for 1.13.2 blockstate " + id); return 0; @@ -314,7 +314,7 @@ public class Protocol1_14To1_13_2 extends Protocol { } public static int getNewBlockId(int id) { - int newId = MappingData.blockMappings.getNewBlock(id); + int newId = MappingData.blockMappings.getNewId(id); if (newId == -1) { Via.getPlatform().getLogger().warning("Missing 1.14 block for 1.13.2 block " + id); return 0; diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/data/MappingData.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/data/MappingData.java index f85760213..739a43336 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/data/MappingData.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/data/MappingData.java @@ -6,34 +6,28 @@ import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import us.myles.ViaVersion.api.Via; -import us.myles.ViaVersion.util.GsonUtil; +import us.myles.ViaVersion.api.data.MappingDataLoader; +import us.myles.ViaVersion.api.data.Mappings; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import java.util.*; public class MappingData { public static BiMap oldToNewItems = HashBiMap.create(); - public static BlockMappings blockStateMappings; - public static BlockMappings blockMappings; - public static SoundMappings soundMappings; + public static Mappings blockStateMappings; + public static Mappings blockMappings; + public static Mappings soundMappings; public static Set motionBlocking; public static void init() { - JsonObject mapping1_13_2 = loadData("mapping-1.13.2.json"); - JsonObject mapping1_14 = loadData("mapping-1.14.json"); + JsonObject mapping1_13_2 = MappingDataLoader.loadData("mapping-1.13.2.json"); + JsonObject mapping1_14 = MappingDataLoader.loadData("mapping-1.14.json"); Via.getPlatform().getLogger().info("Loading 1.13.2 -> 1.14 blockstate mapping..."); blockStateMappings = new BlockMappingsShortArray(mapping1_13_2.getAsJsonObject("blockstates"), mapping1_14.getAsJsonObject("blockstates")); Via.getPlatform().getLogger().info("Loading 1.13.2 -> 1.14 block mapping..."); blockMappings = new BlockMappingsShortArray(mapping1_13_2.getAsJsonObject("blocks"), mapping1_14.getAsJsonObject("blocks")); Via.getPlatform().getLogger().info("Loading 1.13.2 -> 1.14 item mapping..."); - mapIdentifiers(oldToNewItems, mapping1_13_2.getAsJsonObject("items"), mapping1_14.getAsJsonObject("items")); + MappingDataLoader.mapIdentifiers(oldToNewItems, mapping1_13_2.getAsJsonObject("items"), mapping1_14.getAsJsonObject("items")); Via.getPlatform().getLogger().info("Loading 1.13.2 -> 1.14 sound mapping..."); soundMappings = new SoundMappingShortArray(mapping1_13_2.getAsJsonArray("sounds"), mapping1_14.getAsJsonArray("sounds")); @@ -45,128 +39,46 @@ public class MappingData { } Via.getPlatform().getLogger().info("Loading 1.14 heightmap data..."); - JsonObject heightMapData = loadData("heightMapData-1.14.json"); + JsonObject heightMapData = MappingDataLoader.loadData("heightMapData-1.14.json"); JsonArray motionBlocking = heightMapData.getAsJsonArray("MOTION_BLOCKING"); - MappingData.motionBlocking = new HashSet<>(motionBlocking.size()); + us.myles.ViaVersion.protocols.protocol1_14to1_13_2.data.MappingData.motionBlocking = new HashSet<>(motionBlocking.size()); for (JsonElement blockState : motionBlocking) { String key = blockState.getAsString(); Integer id = blockStateMap.get(key); if (id == null) { Via.getPlatform().getLogger().warning("Unknown blockstate " + key + " :("); } else { - MappingData.motionBlocking.add(id); + us.myles.ViaVersion.protocols.protocol1_14to1_13_2.data.MappingData.motionBlocking.add(id); } } } - public static JsonObject loadData(String name) { - InputStream stream = MappingData.class.getClassLoader().getResourceAsStream("assets/viaversion/data/" + name); - InputStreamReader reader = new InputStreamReader(stream); - try { - return GsonUtil.getGson().fromJson(reader, JsonObject.class); - } finally { - try { - reader.close(); - } catch (IOException ignored) { - // Ignored - } - } - } - - private static void mapIdentifiers(Map output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { - for (Map.Entry entry : oldIdentifiers.entrySet()) { - Map.Entry value = findValue(newIdentifiers, entry.getValue().getAsString()); - if (value == null) { - if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); - } - continue; - } - output.put(Integer.parseInt(entry.getKey()), Integer.parseInt(value.getKey())); - } - } - - private static void mapIdentifiers(short[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { - for (Map.Entry entry : oldIdentifiers.entrySet()) { - Map.Entry value = findValue(newIdentifiers, entry.getValue().getAsString()); - if (value == null) { - if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); - } - continue; - } - output[Integer.parseInt(entry.getKey())] = Short.parseShort(value.getKey()); - } - } - - private static void mapIdentifiers(short[] output, JsonArray oldIdentifiers, JsonArray newIdentifiers) { - for (int i = 0; i < oldIdentifiers.size(); i++) { - JsonElement v = oldIdentifiers.get(i); - Integer index = findIndex(newIdentifiers, v.getAsString()); - if (index == null) { - if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - Via.getPlatform().getLogger().warning("No key for " + v + " :( "); - } - continue; - } - output[i] = index.shortValue(); - } - } - - private static Map.Entry findValue(JsonObject object, String needle) { - for (Map.Entry entry : object.entrySet()) { - String value = entry.getValue().getAsString(); - if (value.equals(needle)) { - return entry; - } - } - return null; - } - - private static Integer findIndex(JsonArray array, String value) { - for (int i = 0; i < array.size(); i++) { - JsonElement v = array.get(i); - if (v.getAsString().equals(value)) { - return i; - } - } - return null; - } - - public interface SoundMappings { - int getNewSound(int old); - } - - private static class SoundMappingShortArray implements SoundMappings { + private static class SoundMappingShortArray implements Mappings { private short[] oldToNew; private SoundMappingShortArray(JsonArray mapping1_13_2, JsonArray mapping1_14) { oldToNew = new short[mapping1_13_2.size()]; Arrays.fill(oldToNew, (short) -1); - mapIdentifiers(oldToNew, mapping1_13_2, mapping1_14); + MappingDataLoader.mapIdentifiers(oldToNew, mapping1_13_2, mapping1_14); } @Override - public int getNewSound(int old) { + public int getNewId(int old) { return old >= 0 && old < oldToNew.length ? oldToNew[old] : -1; } } - public interface BlockMappings { - int getNewBlock(int old); - } - - private static class BlockMappingsShortArray implements BlockMappings { + private static class BlockMappingsShortArray implements Mappings { private short[] oldToNew; private BlockMappingsShortArray(JsonObject mapping1_13_2, JsonObject mapping1_14) { oldToNew = new short[mapping1_13_2.entrySet().size()]; Arrays.fill(oldToNew, (short) -1); - mapIdentifiers(oldToNew, mapping1_13_2, mapping1_14); + MappingDataLoader.mapIdentifiers(oldToNew, mapping1_13_2, mapping1_14); } @Override - public int getNewBlock(int old) { + public int getNewId(int old) { return old >= 0 && old < oldToNew.length ? oldToNew[old] : -1; } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java index f4fd5c29d..0301339e9 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_14to1_13_2/packets/WorldPackets.java @@ -23,9 +23,9 @@ import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.types.Chunk1_14Type; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; public class WorldPackets { - private static final int AIR = MappingData.blockStateMappings.getNewBlock(0); - private static final int VOID_AIR = MappingData.blockStateMappings.getNewBlock(8591); - private static final int CAVE_AIR = MappingData.blockStateMappings.getNewBlock(8592); + private static final int AIR = MappingData.blockStateMappings.getNewId(0); + private static final int VOID_AIR = MappingData.blockStateMappings.getNewId(8591); + private static final int CAVE_AIR = MappingData.blockStateMappings.getNewId(8592); public static final int SERVERSIDE_VIEW_DISTANCE = 64; public static void register(final Protocol protocol) { From 82da5e5a600c28cc55364fc933290109bc812ca3 Mon Sep 17 00:00:00 2001 From: KennyTV <28825609+KennyTV@users.noreply.github.com> Date: Wed, 15 May 2019 13:37:23 +0200 Subject: [PATCH 6/6] Fix MappingData reference --- .../blockconnections/ConnectionData.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/blockconnections/ConnectionData.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/blockconnections/ConnectionData.java index 8fc49d24f..4403a1a05 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/blockconnections/ConnectionData.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/blockconnections/ConnectionData.java @@ -5,6 +5,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import us.myles.ViaVersion.api.PacketWrapper; import us.myles.ViaVersion.api.Via; +import us.myles.ViaVersion.api.data.MappingDataLoader; import us.myles.ViaVersion.api.data.UserConnection; import us.myles.ViaVersion.api.minecraft.BlockChangeRecord; import us.myles.ViaVersion.api.minecraft.BlockFace; @@ -15,7 +16,6 @@ import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.Protocol1_13To1_12_2; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.blockconnections.providers.BlockConnectionProvider; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.blockconnections.providers.PacketBlockConnectionProvider; -import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.data.MappingData; import java.util.*; import java.util.Map.Entry; @@ -198,7 +198,7 @@ public class ConnectionData { public static void init() { if (!Via.getConfig().isServersideBlockConnections()) return; Via.getPlatform().getLogger().info("Loading block connection mappings ..."); - JsonObject mapping1_13 = MappingData.loadData("mapping-1.13.json"); + JsonObject mapping1_13 = MappingDataLoader.loadData("mapping-1.13.json"); JsonObject blocks1_13 = mapping1_13.getAsJsonObject("blocks"); for (Entry blockState : blocks1_13.entrySet()) { Integer id = Integer.parseInt(blockState.getKey()); @@ -208,7 +208,7 @@ public class ConnectionData { } if (!Via.getConfig().isReduceBlockStorageMemory()) { - JsonObject mappingBlockConnections = MappingData.loadData("blockConnections.json"); + JsonObject mappingBlockConnections = MappingDataLoader.loadData("blockConnections.json"); for (Entry entry : mappingBlockConnections.entrySet()) { int id = keyToId.get(entry.getKey()); BlockData blockData = new BlockData(); @@ -231,7 +231,7 @@ public class ConnectionData { } } - JsonObject blockData = MappingData.loadData("blockData.json"); + JsonObject blockData = MappingDataLoader.loadData("blockData.json"); JsonArray occluding = blockData.getAsJsonArray("occluding"); for (JsonElement jsonElement : occluding) { occludingStates.add(keyToId.get(jsonElement.getAsString()));