Crash on player being teleported
Closed this issue ยท 8 comments
Forge 35.1.2
java.lang.NoSuchMethodError: net.minecraft.block.BlockState.func_215696_m(Lnet/minecraft/world/IBlockReader;Lnet/minecraft/util/math/BlockPos;)Z
at me.swirtzly.minecraft.angels.utils.WATeleporter.yCoordSanity(WATeleporter.java:28) ~[weeping_angels:1.0.6] {re:classloading}
at me.swirtzly.minecraft.angels.common.entities.WeepingAngelEntity.lambda$teleportInteraction$2(WeepingAngelEntity.java:371) ~[weeping_angels:1.0.6] {re:classloading}
at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] {re:mixin,re:computing_frames,re:classloading}
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:733) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl_mixins.json:common.MixinMinecraftServer,pl:mixin:APP:imm_ptl_mixins.json:common.portal_generation.MixinMinecraftServer_P,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.alternate_dimension.MixinMinecraftServer_A,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.altius_world.MixinMinecraftServer_A,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:159) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl_mixins.json:common.MixinMinecraftServer,pl:mixin:APP:imm_ptl_mixins.json:common.portal_generation.MixinMinecraftServer_P,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.alternate_dimension.MixinMinecraftServer_A,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.altius_world.MixinMinecraftServer_A,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:716) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl_mixins.json:common.MixinMinecraftServer,pl:mixin:APP:imm_ptl_mixins.json:common.portal_generation.MixinMinecraftServer_P,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.alternate_dimension.MixinMinecraftServer_A,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.altius_world.MixinMinecraftServer_A,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:710) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl_mixins.json:common.MixinMinecraftServer,pl:mixin:APP:imm_ptl_mixins.json:common.portal_generation.MixinMinecraftServer_P,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.alternate_dimension.MixinMinecraftServer_A,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.altius_world.MixinMinecraftServer_A,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(SourceFile:103) ~[?:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:695) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl_mixins.json:common.MixinMinecraftServer,pl:mixin:APP:imm_ptl_mixins.json:common.portal_generation.MixinMinecraftServer_P,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.alternate_dimension.MixinMinecraftServer_A,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.altius_world.MixinMinecraftServer_A,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:645) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl_mixins.json:common.MixinMinecraftServer,pl:mixin:APP:imm_ptl_mixins.json:common.portal_generation.MixinMinecraftServer_P,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.alternate_dimension.MixinMinecraftServer_A,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.altius_world.MixinMinecraftServer_A,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:imm_ptl_mixins.json:common.MixinMinecraftServer,pl:mixin:APP:imm_ptl_mixins.json:common.portal_generation.MixinMinecraftServer_P,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.alternate_dimension.MixinMinecraftServer_A,pl:mixin:APP:imm_ptl_peripheral_mixins.json:common.altius_world.MixinMinecraftServer_A,pl:mixin:A,pl:runtimedistcleaner:A}
at java.lang.Thread.run(Unknown Source) [?:1.8.0_261] {}
Hm, initially I thought this was just someone with out of date forge, guess I should have looked at the numbers closer
This will be investigated today
This is caused by Forge mappings providing a misleading name for AbstractBlockState#causesSuffocation in 1.16+, which likely led to an oversight when the teleport method in WATeleporter was ported from 1.14 to 1.16.
AbstractBlockState#causesSuffocation doesn't cause suffocation but rather tells the client if it should render the block if the player is inside it and the block isn't rendertype invisible which has nothing to do with suffocation.
This is a Client Side Only Method, which explains why it instantly crashes on dedicated servers. We'll need to find the replacement method for 1.16+.
This should be fixed in the next build. To verify the fix works for you, could you please try the following build?
http://www.mediafire.com/file/oawykjua27hz8i7/Weeping-Angels-1.16.x-1.0.7-TEST.jar/file
[world_gen]
#Config to toggle the generation of arms in snow biomes
arms = true
#Configure whether Graveyard Structures spawn. This will require a restart when changed.
genGraveyard = true
#Configure whether the mods ores spawn. This MAY require a restart when changed.
genOres = false
[spawn]
#Note: A list of biomes where angels should spawn.
allowedBiomes = ["minecraft:taiga_hills", "minecraft:taiga", "minecraft:desert", "minecraft:desert_hills", "minecraft:plains", "minecraft:swamp", "minecraft:beach", "minecraft:snowy_taiga", "minecraft:dark_forest", "minecraft:jungle", "minecraft:modified_jungle", "minecraft:tall_birch_forest", "minecraft:bamboo_jungle_hills", "minecraft:river"]
#This will only accept: MONSTER || CREATURE || AMBIENT || MISC || Anything else WILL crash your game.
spawnType = "MONSTER"
#The maximum amount of angels per biome
#Range: 1 ~ 100
maximumSpawn = 1
#The angel spawn spawn weight
#Range: 1 ~ 100
spawnWeight = 1
#The minimum amount of angels per biome
#Range: 1 ~ 100
minimumSpawn = 1
[angel]
#if enabled, Only pickaxes and generators will work on the angels
pickaxeOnly = true
#The damage dealt by an angel
#Range: 1.0 ~ 1.7976931348623157E308
damage = 8.0
#XP gained from angels
#Range: > 1
xpGained = 25
#Determines the range the angels will look for players within, personally, I'd stay under 100
#Range: 1 ~ 100
stalkRange = 56
#The maximum range a angel can break blocks within
#Range: 1 ~ 120
blockBreakRange = 15
#If this is enabled, baby angels will blow out light items from the players hand
torchBlowOut = true
#if enabled, No way to attack/kill angels. Just running.
hardcoreMode = false
#if enabled, angels will freeze when they see one another. (Impacts performance a bit)
freezeOnAngel = false
#If this is enabled, angels will break blocks (If gamerules allow)
blockBreaking = true
#Toggle seen sounds
playSeenSounds = true
#If this is enabled, the timey wimey detector can blow up chickens when in use randomly
chickenGoboom = true
#Non-child angels play scraping sounds when moving, this toggles that
playScrapeSound = true
#Determines the angels move speed
#Range: 0.1 ~ 1.7976931348623157E308
angelMovementSpeed = 0.5
[teleport]
#Note: This a list of dimensions that angels should NOT teleport you to.
notAllowedDimensions = ["minecraft:the_end", "minecraft:the_end"]
#The maximum range a user can be teleported by the Angels
#Range: > 1
teleportRange = 320
#If this is enabled, angel teleporting can also tp the player to other dimensions
angelDimTeleport = false
#Teleport type, Acceptable entries: RANDOM_PLACE, DONT, STRUCTURES
teleportType = "RANDOM_PLACE"
#just teleport. no damage.
justTeleport = false
That issue with the config was caused by a logic bug in our code. This has been fixed in (c589f90) which will be included in the next release build.
Thanks again for the report!
The build with the server crash fix and config fixes is now available at: https://www.curseforge.com/minecraft/mc-mods/weeping-angels-mod/files/3128433
I will close this issue now.