From 6a449f8db1a9502f890592c155edba587261bd59 Mon Sep 17 00:00:00 2001 From: Myles Date: Mon, 7 Mar 2016 22:55:57 +0000 Subject: [PATCH] Allow the suppressing of metadata errors. --- .../us/myles/ViaVersion/ViaVersionPlugin.java | 4 ++++ .../ViaVersion/metadata/MetadataRewriter.java | 22 +++++++++++-------- src/main/resources/config.yml | 2 ++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java b/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java index e6cd9e365..18c698aae 100644 --- a/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java +++ b/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java @@ -184,6 +184,10 @@ public class ViaVersionPlugin extends JavaPlugin implements ViaVersionAPI { return getConfig().getBoolean("prevent-collision", true); } + public boolean isSuppressMetadataErrors() { + return getConfig().getBoolean("suppress-metadata-errors", false); + } + public boolean isAutoTeam() { // Collision has to be enabled first if (!isPreventCollision()) return false; diff --git a/src/main/java/us/myles/ViaVersion/metadata/MetadataRewriter.java b/src/main/java/us/myles/ViaVersion/metadata/MetadataRewriter.java index 8ff470911..8727bcb2b 100644 --- a/src/main/java/us/myles/ViaVersion/metadata/MetadataRewriter.java +++ b/src/main/java/us/myles/ViaVersion/metadata/MetadataRewriter.java @@ -6,6 +6,8 @@ import lombok.Setter; import org.bukkit.entity.EntityType; import org.bukkit.util.EulerAngle; import org.bukkit.util.Vector; +import us.myles.ViaVersion.ViaVersionPlugin; +import us.myles.ViaVersion.api.ViaVersion; import us.myles.ViaVersion.slot.ItemSlotRewriter; import us.myles.ViaVersion.slot.ItemSlotRewriter.ItemStack; import us.myles.ViaVersion.transformers.OutgoingTransformer; @@ -117,16 +119,18 @@ public class MetadataRewriter { } } } catch (Exception e) { - System.out.println("INCLUDE THIS IN YOUR ERROR LOG!"); - if (type != null) - System.out.println("An error occurred with entity meta data for " + type + " OldID: " + entry.oldID); - else - System.out.println("An error occurred with entity meta data for UNKOWN_ENTITY OldID: " + entry.oldID); - if (metaIndex != null) { - System.out.println("Old ID: " + metaIndex.getIndex() + " New ID: " + metaIndex.getNewIndex()); - System.out.println("Old Type: " + metaIndex.getOldType() + " New Type: " + metaIndex.getNewType()); + if (!((ViaVersionPlugin) ViaVersion.getInstance()).isSuppressMetadataErrors()) { + System.out.println("INCLUDE THIS IN YOUR ERROR LOG!"); + if (type != null) + System.out.println("An error occurred with entity meta data for " + type + " OldID: " + entry.oldID); + else + System.out.println("An error occurred with entity meta data for UNKNOWN_ENTITY OldID: " + entry.oldID); + if (metaIndex != null) { + System.out.println("Old ID: " + metaIndex.getIndex() + " New ID: " + metaIndex.getNewIndex()); + System.out.println("Old Type: " + metaIndex.getOldType() + " New Type: " + metaIndex.getNewType()); + } + e.printStackTrace(); } - e.printStackTrace(); } } output.writeByte(255); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 63b8ad02c..a442449ca 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -8,3 +8,5 @@ sync-chunks: true prevent-collision: true # If the above is true, should we automatically team players until you do? auto-team: true +# When enabled if certain metadata can't be read we won't tell you about it +suppress-metadata-errors: false \ No newline at end of file