nsporillo / GlobalWarming

Server side global warming mechanics in Minecraft!
GNU Lesser General Public License v3.0
473 stars 46 forks source link

entityMethaneModel #51

Open voigtman opened 4 years ago

voigtman commented 4 years ago

Describe the bug I am editing the models to expand the creatures and materials and to slow down the plugin. While editing the entityMethaneModel, I discovered there seems to be a limit to how far one can go with it and that it's an irregular limit. I have run test after test to determine what the cause is and so far, this is what I can tell you it's not: Spelling Error, Missing data, Improper formatting, Too many mobs, too small of numerical input, 1.16 mobs

Things I believe it Could be but am too tired to test any further: Mob incompatibility (most likely) A miss-spelled mob within the plugin coding, too many large named mobs, oompa loopas (this cannot be tested for.)

To Reproduce Steps to reproduce the behavior: use either of the following inputs as your entityMethaneModel and start the server

short: { "CREEPER": 0.99, "EVOKER": 1.0, "ILLUSIONER": 1.20, "PILAGER": 1.0, "VINDICATOR": 1.35, "WITCH": 1.45, "ZOMBIE_HORSE": 0.75, "ZOMBIE_VILLAGER": 1.45, "CAT": 0.25, "CHICKEN": 0.25, "COW": 1.05, "DOLPHIN": 1.45, "DONKEY": 0.65, "FOX": 0.13, "HORSE": 0.85, "LLAMA": 0.45, "MULE": 0.75, "MUSHROOM_COW": 0.975, "OCELOT": 0.35, "POLAR_BEAR": 0.95, "PANDA": 0.85, "PAROT": 0.25, "PIG": 0.85, "SHEEP": 0.75, "SQUID": 0.15, "TURTLE": 0.15, "WOLF": 0.25, "PLAYER": 0.95, "VILLAGER": 1.65, "WANDERING_TRADER": 1.85 }

long: { "BLAZE": 0.045, "CAVE_SPIDER": 0.0025, "CREEPER": 0.99, "DROWNED": 0.085, "ELDER_GUARDIAN": 0.3, "ENDERMAN": 0.19, "ENDERMITE": 0.01, "EVOKER": 1.0, "GUARDIAN": 0.45, "HOGLIN": 0.45, "HUSK": 0.05, "ILLUSIONER": 1.2, "PIGLIN": 0.075, "PILAGER": 1.00, "RAVAGER": 0.075, "SHULKER": 0.025, "SILVERFISH": 0.0025, "SKELETON": 0.0015, "SKELETON_HORSE": 0.025, "SLIME": 0.0065, "SPIDER": 0.0025, "STRAY": 0.05, "VEX": 0.055, "VINDICATOR": 1.35, "WITCH": 1.45, "WITHER": 0.395, "ZOGLIN": 0.25, "ZOMBIE": 0.05, "ZOMBIE_HORSE": 0.075, "ZOMBIE_VILLAGER": 0.055, "ZOMBIFIED_PIGLIN": 0.1, "CAT": 0.25, "CHICKEN": 0.25, "COD": 0.015, "COW": 1.05, "DOLPHIN": 1.45, "DONKEY": 0.65, "FOX": 0.13, "HORSE": 0.85, "IRON_GOLEM": 2.55, "LLAMA": 0.45, "MULE": 0.75, "MUSHROOM_COW": 0.975, "OCELOT": 0.35, "POLAR_BEAR": 0.95, "PANDA": 0.85, "PAROT": 0.25, "PIG": 0.85, "PUFFERFISH": 0.015, "RABBIT": 0.015, "SALMON": 0.015, "SHEEP": 0.75, "SQUID": 0.15, "TROPICAL_FISH": 0.015, "TURTLE": 0.15, "WOLF": 0.25, "PLAYER": 0.95, "VILLAGER": 1.65, "WANDERING_TRADER": 1.85, "TRADER_LLAMA": 1.35 } Expected behavior To have slept last night instead of trouble shooting this plugin until well into the afternoon.

Screenshots [12:57:50] [Server thread/INFO]: [GlobalWarming] Enabling GlobalWarming v1.3.0 [12:57:50] [Server thread/INFO]: [GlobalWarming] Lang loaded: [en-US] [12:57:52] [Server thread/INFO]: [GlobalWarming] Record created for world: [Ultimate_Survival] [12:57:52] [Server thread/INFO]: [GlobalWarming] Record created for world: [Ultimate_Survival_nether] [12:57:52] [Server thread/INFO]: [GlobalWarming] Record created for world: [Ultimate_Survival_the_end] [12:57:52] [Server thread/INFO]: [GlobalWarming] Loading climate engine for: [Ultimate_Survival] [12:57:52] [Server thread/WARN]: com.google.gson.JsonSyntaxException: duplicate key: null [12:57:52] [Server thread/WARN]: at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:190) [12:57:52] [Server thread/WARN]: at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) [12:57:52] [Server thread/WARN]: at com.google.gson.Gson.fromJson(Gson.java:887) [12:57:52] [Server thread/WARN]: at com.google.gson.Gson.fromJson(Gson.java:852) [12:57:52] [Server thread/WARN]: at com.google.gson.Gson.fromJson(Gson.java:801) [12:57:52] [Server thread/WARN]: at net.porillo.engine.models.EntityMethaneModel.loadModel(EntityMethaneModel.java:25) [12:57:52] [Server thread/WARN]: at net.porillo.engine.models.EntityMethaneModel.<init>(EntityMethaneModel.java:19) [12:57:52] [Server thread/WARN]: at net.porillo.engine.api.WorldClimateEngine.<init>(WorldClimateEngine.java:49) [12:57:52] [Server thread/WARN]: at net.porillo.engine.ClimateEngine.loadWorldClimateEngine(ClimateEngine.java:39) [12:57:52] [Server thread/WARN]: at net.porillo.engine.ClimateEngine.loadWorldClimateEngines(ClimateEngine.java:60) [12:57:52] [Server thread/WARN]: at net.porillo.GlobalWarming.onEnable(GlobalWarming.java:101) [12:57:52] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) [12:57:52] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) [12:57:52] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) [12:57:52] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugin(CraftServer.java:500) [12:57:52] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugins(CraftServer.java:414) [12:57:52] [Server thread/WARN]: at net.minecraft.server.v1_16_R1.MinecraftServer.loadWorld(MinecraftServer.java:471) [12:57:52] [Server thread/WARN]: at net.minecraft.server.v1_16_R1.DedicatedServer.init(DedicatedServer.java:241) [12:57:52] [Server thread/WARN]: at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:940) [12:57:52] [Server thread/WARN]: at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) [12:57:52] [Server thread/WARN]: at java.base/java.lang.Thread.run(Thread.java:835) [12:57:52] [Server thread/ERROR]: [GlobalWarming] Error loading model file: plugins/GlobalWarming/models/Ultimate_Survival/entityMethaneModel.json [12:57:52] [Server thread/ERROR]: [GlobalWarming] Could not load into the expected <EntityType, MobDistribution> mapping. [12:57:52] [Server thread/ERROR]: [GlobalWarming] Please check the formatting and verify the types are correct. [12:57:52] [Server thread/ERROR]: Error occurred while enabling GlobalWarming v1.3.0 (Is it up to date?) java.lang.RuntimeException: No values found in: [plugins/GlobalWarming/models/Ultimate_Survival/entityMethaneModel.json] at net.porillo.engine.models.EntityMethaneModel.loadModel(EntityMethaneModel.java:37) ~[?:?] at net.porillo.engine.models.EntityMethaneModel.<init>(EntityMethaneModel.java:19) ~[?:?] at net.porillo.engine.api.WorldClimateEngine.<init>(WorldClimateEngine.java:49) ~[?:?] at net.porillo.engine.ClimateEngine.loadWorldClimateEngine(ClimateEngine.java:39) ~[?:?] at net.porillo.engine.ClimateEngine.loadWorldClimateEngines(ClimateEngine.java:60) ~[?:?] at net.porillo.GlobalWarming.onEnable(GlobalWarming.java:101) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugin(CraftServer.java:500) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugins(CraftServer.java:414) ~[patched_1.16.1.jar:git-Paper-101] at net.minecraft.server.v1_16_R1.MinecraftServer.loadWorld(MinecraftServer.java:471) ~[patched_1.16.1.jar:git-Paper-101] at net.minecraft.server.v1_16_R1.DedicatedServer.init(DedicatedServer.java:241) ~[patched_1.16.1.jar:git-Paper-101] at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:940) ~[patched_1.16.1.jar:git-Paper-101] at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.1.jar:git-Paper-101] at java.lang.Thread.run(Thread.java:835) [?:?] [12:57:52] [Server thread/INFO]: [GlobalWarming] Disabling GlobalWarming v1.3.0 [12:57:52] [Server thread/INFO]: [GlobalWarming] Syncing database... [12:57:52] [Server thread/INFO]: [GlobalWarming] Finished syncing database. [12:57:52] [Server thread/ERROR]: Error occurred while disabling GlobalWarming v1.3.0 (Is it up to date?) org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register net.porillo.effect.negative.formation.IceForm@3a7962fe while not enabled at org.bukkit.plugin.SimplePluginManager.registerEvents(SimplePluginManager.java:636) ~[patched_1.16.1.jar:git-Paper-101] at net.porillo.effect.EffectEngine.loadEffects(EffectEngine.java:65) ~[?:?] at net.porillo.effect.EffectEngine.<init>(EffectEngine.java:44) ~[?:?] at net.porillo.effect.EffectEngine.getInstance(EffectEngine.java:110) ~[?:?] at net.porillo.GlobalWarming.onDisable(GlobalWarming.java:132) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:265) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:415) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:516) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:384) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugin(CraftServer.java:500) ~[patched_1.16.1.jar:git-Paper-101] at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugins(CraftServer.java:414) ~[patched_1.16.1.jar:git-Paper-101] at net.minecraft.server.v1_16_R1.MinecraftServer.loadWorld(MinecraftServer.java:471) ~[patched_1.16.1.jar:git-Paper-101] at net.minecraft.server.v1_16_R1.DedicatedServer.init(DedicatedServer.java:241) ~[patched_1.16.1.jar:git-Paper-101] at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:940) ~[patched_1.16.1.jar:git-Paper-101] at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.1.jar:git-Paper-101] at java.lang.Thread.run(Thread.java:835) [?:?]

Additional context As I've said, it's irregular. I have gone through the model algorithmically and learned that the model will load with every entity in the long list if the list is broken down, leaving some out. However I have not determined which mobs are incompatible together in this list..

Further Notes YOU'RE A GENIUS! this is an amazing plugin and I LOVE how it works and what it brings to the server environment. it really rounds out my Ultimate Survival server. Thank you! I will be sending some feature requests soon, once I've had a chance to sleep a bit. Thank you for this amazing plugin and for the work you've done. I hope all is well with you.... cheers

p.s. please update for 1.16