maruohon / enderutilities

A Minecraft mod that adds various (mostly "ender-themed") blocks and items
GNU Lesser General Public License v3.0
27 stars 15 forks source link

Player disconnect (and kind of "ban") while using Builders Wand #37

Closed Flow86 closed 7 years ago

Flow86 commented 7 years ago

Hi,

I tried to copy a small building, and ran into this:

 net.minecraft.util.ReportedException: Ticking player
Mär 09 17:04:09 ma java[18911]: at net.minecraft.entity.player.EntityPlayerMP.func_71127_g(EntityPlayerMP.java:380) ~[lu.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.network.NetHandlerPlayServer.func_73660_a(NetHandlerPlayServer.java:162) ~[me.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.func_73660_a(NetworkDispatcher.java:213) ~[NetworkDispatcher$1.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:287) ~[eo.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:180) [md.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:732) [MinecraftServer.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [ld.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [MinecraftServer.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
Mär 09 17:04:09 ma java[18911]: at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Mär 09 17:04:09 ma java[18911]: Caused by: java.lang.IllegalArgumentException: Cannot get property PropertyEnum{name=variant, clazz=class vazkii.quark.world.block.BlockMarble$Variants, values=[STONE_MARBLE, STONE_MARBLE_SMOOTH]} as it does not exist in BlockStateContainer{block=minecraft:air, properties=[]}
Mär 09 17:04:09 ma java[18911]: at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_177229_b(BlockStateContainer.java:196) ~[art$a.class:?]
Mär 09 17:04:09 ma java[18911]: at vazkii.arl.block.BlockMetaVariants.func_176201_c(BlockMetaVariants.java:58) ~[BlockMetaVariants.class:?]
Mär 09 17:04:09 ma java[18911]: at vazkii.arl.block.BlockMetaVariants.getPickBlock(BlockMetaVariants.java:76) ~[BlockMetaVariants.class:?]
Mär 09 17:04:09 ma java[18911]: at fi.dy.masa.enderutilities.util.BlockUtils.getStackedItemFromBlock(BlockUtils.java:74) ~[BlockUtils.class:?]
Mär 09 17:04:09 ma java[18911]: at fi.dy.masa.enderutilities.item.ItemBuildersWand.getAndConsumeBuildItem(ItemBuildersWand.java:788) ~[ItemBuildersWand.class:?]
Mär 09 17:04:09 ma java[18911]: at fi.dy.masa.enderutilities.item.ItemBuildersWand.placeBlockToPosition(ItemBuildersWand.java:741) ~[ItemBuildersWand.class:?]
Mär 09 17:04:09 ma java[18911]: at fi.dy.masa.enderutilities.event.tasks.TaskTemplatePlaceBlocks.execute(TaskTemplatePlaceBlocks.java:82) ~[TaskTemplatePlaceBlocks.class:?]
Mär 09 17:04:09 ma java[18911]: at fi.dy.masa.enderutilities.event.tasks.PlayerTaskScheduler.runTasks(PlayerTaskScheduler.java:56) ~[PlayerTaskScheduler.class:?]
Mär 09 17:04:09 ma java[18911]: at fi.dy.masa.enderutilities.event.TickHandler.onPlayerTick(TickHandler.java:137) ~[TickHandler.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_472_TickHandler_onPlayerTick_PlayerTickEvent.invoke(.dynamic) ~[?:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraftforge.fml.common.FMLCommonHandler.onPlayerPostTick(FMLCommonHandler.java:365) ~[FMLCommonHandler.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.entity.player.EntityPlayer.func_184808_cD(EntityPlayer.java:382) ~[zs.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.entity.player.EntityPlayer.func_70071_h_(EntityPlayer.java:292) ~[zs.class:?]
Mär 09 17:04:09 ma java[18911]: at net.minecraft.entity.player.EntityPlayerMP.func_71127_g(EntityPlayerMP.java:303) ~[lu.class:?]
Mär 09 17:04:09 ma java[18911]: ... 9 more

using "enderutilities-1.10.2-0.6.5"

maruohon commented 7 years ago

Hmm, yes this is due to how I'm currently getting the item that is required to actually place the block, based on the blockstate that is stored in the template, but using a method that tries to get it from the block in a way that the block would expect it to be in the world. I'll need to figure out a better way to get the block, maybe I'll just temporarily set the block... although that would likely make the Paste operation slower. hmmm....

If you are worried about getting locked out of the world, you can "fix" it by restarting the game/server and the running block placement task will vanish. I think I'll make the tasks get cleared if the player logs out, so that a simple relog would also fix that part of the issue.