DailyStruggle / RTP

fun with spatial math
25 stars 6 forks source link

with iris world gen and base RTP, teleport stalls when `CustomWorldChunkManager.getNoiseBiome()` throws an exception #31

Closed Zekernn closed 1 year ago

Zekernn commented 1 year ago

This message keeps flooding my console, and when I /rtp it says "you're already teleporting". No matter how I configure the plugin it does this, and I've reset the files and everything.

[15:47:23 WARN]: java.lang.NullPointerException: Cannot read field "b" because "this" is null [15:47:23 WARN]: at net.minecraft.world.level.biome.WorldChunkManager.b(WorldChunkManager.java:39) [15:47:23 WARN]: at org.bukkit.craftbukkit.v1_19_R1.generator.CustomWorldChunkManager.getNoiseBiome(CustomWorldChunkManager.java:48) [15:47:23 WARN]: at net.minecraft.server.level.WorldServer.a(WorldServer.java:640) [15:47:23 WARN]: at net.minecraft.world.level.IWorldReader.getNoiseBiome(IWorldReader.java:58) [15:47:23 WARN]: at org.bukkit.craftbukkit.v1_19_R1.CraftRegionAccessor.getBiome(CraftRegionAccessor.java:211) [15:47:23 WARN]: at RTP-2.0.8 (1).jar//io.github.dailystruggle.rtp.bukkit.server.substitutions.BukkitRTPWorld.lambda$static$1(BukkitRTPWorld.java:67) [15:47:23 WARN]: at RTP-2.0.8 (1).jar//io.github.dailystruggle.rtp.bukkit.server.substitutions.BukkitRTPWorld.getBiome(BukkitRTPWorld.java:216) [15:47:23 WARN]: at RTP-2.0.8 (1).jar//io.github.dailystruggle.rtp.common.selection.region.Region.getLocation(Region.java:485) [15:47:23 WARN]: at RTP-2.0.8 (1).jar//io.github.dailystruggle.rtp.common.selection.region.Region$Cache.run(Region.java:966) [15:47:23 WARN]: at RTP-2.0.8 (1).jar//io.github.dailystruggle.rtp.common.tasks.RTPTaskPipe.execute(RTPTaskPipe.java:41) [15:47:23 WARN]: at RTP-2.0.8 (1).jar//io.github.dailystruggle.rtp.common.selection.region.Region.execute(Region.java:166) [15:47:23 WARN]: at RTP-2.0.8 (1).jar//io.github.dailystruggle.rtp.common.tasks.tick.AsyncTaskProcessing.run(AsyncTaskProcessing.java:69) [15:47:23 WARN]: at RTP-2.0.8 (1).jar//io.github.dailystruggle.rtp.bukkit.server.AsyncTeleportProcessing.lambda$run$0(AsyncTeleportProcessing.java:65) [15:47:23 WARN]: at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftTask.run(CraftTask.java:101) [15:47:23 WARN]: at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [15:47:23 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [15:47:23 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [15:47:23 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [15:47:23 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)

DailyStruggle commented 1 year ago

Missing vital information to reproduce this, e.g. server software, versions, biome related plugins

DailyStruggle commented 1 year ago

https://github.com/DailyStruggle/RTP/blob/V2/src/main/java/io/github/dailystruggle/rtp/bukkit/server/substitutions/BukkitRTPWorld.java#L67

All that's happening here is biome lookup.

I suspect this is a problem with the server software or a missing integration plugin, not with RTP calling the bukkit API as intended for default behavior.

Zekernn commented 1 year ago

This was working perfectly fine not too long ago, and the only thing I did was make a new world using (Iris) custom world gen.

Which I've been using this entire time. I'm on 1.19.2 purpur, and the only related biome plugin would be Iris.

DailyStruggle commented 1 year ago

The exception location tells me that it's using vanilla biome checks instead of the methods supplied by the rtp iris integration plugin, which is available on spigotmc and in this repository.

Open a new issue if there's a problem initializing the iris Integration plugin.

DailyStruggle commented 1 year ago

I'm not sure why iris causes this exception when it previously supported bukkit methods, but I presume it's related to nms version support or missing method implementations

Zekernn commented 1 year ago

I'll make sure to check this plugin out, thanks for the help. I'll let you know if I have anymore issues

Zekernn commented 1 year ago

Now the main RTP error is gone and I can teleport, however this error with the addon spams my console occasionally. My iris overworld pack is around 5 months old, and I cannot update it or else it would cause me other issues atm. So, some of those biomes listed in the error message may not be in my world generator.

[01:30:17 INFO]: [RTP] [default] failed to generate a location within 37 tries [01:30:17 INFO]: [RTP] [default] failed biome checks: 27 [01:30:17 INFO]: [RTP] [default] biomes: [01:30:17 INFO]: [MESA_VALLEY, SAVANNA, ALPINE_GROVE, SWAMP_BEACH, FROZEN_PLAINS, OAK_FOREST, LUSH_CAVERN, TUNDRA_FOREST_CLIFFS, TUNDRA_TAIGA, MESA_CLIFFS, TEMPERATE_OSAKA_RED_FOREST, SWAMP_HAUNTED_HANDS_FOREST, AMETHYST_CAVERN, TUNDRA_BEACH, RED_SANDSTONE_CAVERN, SWAMP_OCEAN_TREE, OSAKA_VIOLET_FOREST, TEMPERATE_FLOWER_FOREST, SWAMP_WILLOW_FOREST, ALPINE_HIGHLANDS, ROCKY_CAVERN, RUINED_PORTALS_TEMPLATE, MESA_DARK, TROPICAL_RAINFOREST_WICKED_CHILD, FROZEN_SPRUCE_PLAINS, MUSHROOM_OCEAN, JUNGLE_CAVERN, VOLCANIC_CAVERN, SAVANNA_CLIFFS, SWAMP_OCEAN, TROPICAL_VOLCANOES, MESA_BLUE, TUNDRA_MAGIC_FOREST_CLIFFS, TEMPERATE_BIRCH_DENMYRE, TUNDRA_REDWOOD_CLIFFS, TROPICAL_HIGHLANDS, TROPICAL_VOLCANOES_LAVA, STRANGED_PLAINS, TROPICAL_BEACH, FROZEN_REDWOOD_FOREST, TROPICAL_MOUNTAIN_PLAINS, SWAMP_FOREST, FROZEN_PINE_PLAINS, HOT_MOUNTAIN_PLAINS, PLAINS, SAVANNA_PLATEAU, OCEAN_WARM_BOTTOM, MESA_PLATEAU_DIRT, DEEPENED_CAVE, DEEPENED_RAVINE, MOUNTAIN_PLAINS_HILLS, SWAMP_ROOFED_WAYWARD, HOT_DESERT_DUNES_RED, SWAMP_CAMBIAN_DRIFT, SWAMP_MANGROVE_FOREST, FROZEN_HILLS, MOUNTAIN_FOREST, MUSHROOM_FOREST_HILLS, HOT_OCEAN_CLIFFS, TROPICAL_ISLAND_BEACH, MESA_PLATEAU_DIRT_HIGH, TUNDRA_STONE_BEACH, HOT_RIVER, ICE_CAVERN_CHILD, FROSTED_PEAKS, LUSH_PLAINS_RED, MOUNTAIN_RIVER_SOFT, MOUNTAIN_MIDDLE, MESA_PLATEAU_HIGH, FROZEN_MOUNTAINS, RAINFOREST_HILLS, MESA_GREEN, TUNDRA_MOUNTAINS, MESA_PLATEAU, SAVANNA_FOREST, MOUNTAIN_FOREST_HILLS, MEADOWS, TUNDRA_REDWOOD_FOREST, TROPICAL_RIVER_STEEP, TUNDRA_BONSAI_FOREST, FROZEN_SPRUCE_HILLS, TROPICAL_VOLCANIC_PLAINS, TROPICAL_MOUNTAIN_WATER, LONG_TREE_FOREST, DRIPSTONE_CAVERN_CHILD, TEMPERATE_WILDS, TROPICAL_SUBMERGED_VOLCANIC, OCEAN_WARM, MOUNTAIN_CLIFFS, SWAMP_MARSH, MESA_BEACH, SAVANNA_BEACH, TROPICAL_MOUNTAIN_EXTREME, FROZEN_MOUNTAIN_CLIFFS, SWAMP_PUDDLE, BIOME_BASE, LUSH_PLAINS_YELLOW, MUSHROOM_LAKE, CALCITE_CAVERN, TUNDRA_AUTUMN, TUNDRA_SPRUCE_DENMYRE, ANCIENT_SANDS, OCEAN_DEEP, SWAMPY_MARSH, M_CAVE, TROPICAL_PLAINS, SWAMP_CAVERN, EXTREME_MOUNTAINS, HOT_BEACH_GRASS, FROZEN_OCEAN, BIRCH_FOREST, SWAMP_DENMYRE, HOT_MOUNTAINS, TEMPERATE_OCEAN_DEEP, TUNDRA_MAGIC_FOREST, FROZEN_PINES, TEMPERATE_RIVER, TEMPERATE_ISLAND, HOT_OCEAN, TROPICAL_PLAINS_HILLS, MESA_RIVER, MOUNTAIN_BEACH, HOT_DESERT_DUNES, HOT_BEACH, TROPICAL_JUNGLE_DENMYRE, TROPICAL_CORAL_OCEAN_CLIFFS, ARID_HIGHLANDS, GRANITE_CAVERN, FROZEN_VANDER, DEEPSLATE_CAVERN, FROZEN_MOUNTAIN_MIDDLE, TROPICAL_WILDS, TEMPERATE_PLATEAU, TUNDRA_ETHER, COMBO_FOREST, LUSH_PLAINS, FROZEN_BEACH, MUSHROOM_PLAINS, TUNDRA_FOREST, TROPICAL_BEACH_BAMBOO, TEMPERATE_OCEAN, MESA_RED, TROPICAL_RIVER_SOFT, HOT_MOUNTAIN_CLIFFS, TROPICAL_BEACH_CHARRED, TUNDRA_RIVER_ROCKY, FROZEN_PEAK, HOT_OASIS, MESA, TROPICAL_MOUNTAIN_MIDDLE, MOUNTAIN, CRIMSON_MUSHROOM_SWAMP, TUNDRA_RIVER, OCEAN_BEACH, AMETHYST_RAINFOREST, ICE_CAVERN, MUSHROOM_WARPED_FOREST, SWAMP_MARSH_ROTTEN, TUNDRA_LAKE, TROPICAL_RAINFOREST_ISLAND, MOUNTAIN_HILLS, TEMPERATE_BEACH, HOT_MOUNTAIN_MIDDLE, MOUNTAIN_RIVER, FROZEN_PINE_HILLS, MESA_YELLOW, MUSHROOM_FOREST, TROPICAL_BAMBOO_FOREST, SWAMP_ROOFED_FOREST, SAVANNA_ACACIA_DENMYRE, BIRCH_THIN_FOREST, DRIPSTONE_CAVERN, TEMPERATE_OAK_BEACH, OAK_DENMYRE, TROPICAL_RAINFOREST_WICKED, TROPICAL_CORAL_OCEAN, MOUNTAIN_PLAINS, TROPICAL_RAINFOREST, TEMPERATE_HIGHLANDS, SANDSTONE_CAVERN, MUSHROOM_BEACH, TROPICAL_OCEAN, TUNDRA_SEQUOIA_REDWOODS] [01:30:17 INFO]: [RTP] [default] A_BIOME: 25 [01:30:17 INFO]: [RTP] [default] FROZEN_RIVER: 2 [01:30:17 INFO]: [RTP] [default] failed world border checks: 0 [01:30:17 INFO]: [RTP] [default] chunk timeouts: 0 [01:30:17 INFO]: [RTP] [default] failed height checks: 9 [01:30:17 INFO]: [RTP] [default] current vert values: [01:30:17 INFO]: minY: 32 [01:30:17 INFO]: maxY: 127 [01:30:17 INFO]: step: 16 [01:30:17 INFO]: requireSkyLight: false [01:30:17 INFO]: [RTP] [default] failed safety checks: 0 [01:30:17 INFO]: [RTP] [default] failed addon checks: 0 [01:30:17 INFO]: [RTP] [default] range: 193019.45263655687 [01:30:17 INFO]: [RTP] [default] selections: [81=19, 59=-245, 71=-231, -95=-29, 30=-147, -88=45, -94=33, 81=-199, -10=-145, -155=-19]

DailyStruggle commented 1 year ago

Not an error.

The "INFO" level log exists so that you can change configuration files to improve performance. I highly recommend skimming it for important details (like minY, maxY, and ocean biomes that can be skipped), along with your configuration files for behavioral changes (like selection_failure in logging.yml)

DailyStruggle commented 1 year ago

latest commits will catch and log (once) a biome related error/exception and return PLAINS to keep the plugin running despite any custom biome issues

Zekernn commented 1 year ago

I see. I just noticed that it isn't displaying an error, thats my bad. I appreciate it