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