Doctor Who - Weeping Angels

Doctor Who - Weeping Angels

1M Downloads

Crash on player being teleported

No3371 opened this issue ยท 8 comments

commented

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] {}
commented

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

commented

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+.

commented

It works now but it teleports me to other dimensions while the configs says no.

commented

Please uploads your config

commented

[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


commented

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

commented

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!

commented

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.