Quark

Quark

143M Downloads

1.14 beta - piston TE moving issues

Hubry opened this issue ยท 1 comments

commented

Moving TEs with pistons very often causes a flash as the chunk render incorrectly and a stacktrace is thrown into the log. Most of those issues are:

  • mismatched properties in blockstates of the block pushing the TE and the TE block itself (blacklisting the block pushing it).
  • the TE not having a TESR, throwing an NPE.

Game log showcasing this on many different blocks. On a side note, please use the logger because the location prefix makes this hard to read. (Why even make that exception when you print it anyways? Just log the caught one)

Moving an enchantment table, breaking it, and placing a different block in that spot will cause using the piston to show the enchanting table book when moved. Using a block with blockstate properties like a chest will instead throw and blacklist the block. Moving the piston 1 block in the direction of the moved block will cause it to show the book when retracting the piston only.

In addition, blocks lose their data when pushed.

commented

Please reopen, the enchantment table issue still happens, and, got this on latest beta when moving chests with slime blocks:

[Client thread/INFO] [STDERR/]: [vazkii.quark.automation.client.render.PistonTileEntityRenderer:renderPistonBlock:47]: java.lang.RuntimeException: quark:red_slime_block can't be rendered for piston TE moving
 	at vazkii.quark.automation.client.render.PistonTileEntityRenderer.renderPistonBlock(PistonTileEntityRenderer.java:47)
 	at vazkii.quark.base.handler.AsmHooks.renderPistonBlock(AsmHooks.java:90)
 	at net.minecraft.client.renderer.tileentity.PistonTileEntityRenderer.func_199341_a(PistonTileEntityRenderer.java)
 	at net.minecraft.client.renderer.tileentity.PistonTileEntityRenderer.func_199341_a(PistonTileEntityRenderer.java:24)
 	at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.func_203602_a(TileEntityRendererDispatcher.java:139)
 	at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.func_180546_a(TileEntityRendererDispatcher.java:117)
 	at net.minecraft.client.renderer.WorldRenderer.func_215326_a(WorldRenderer.java:601)
 	at net.minecraft.client.renderer.GameRenderer.func_181560_a(GameRenderer.java:713)
 	at net.minecraft.client.renderer.GameRenderer.func_78471_a(GameRenderer.java:640)
 	at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:494)
 	at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:886)
 	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:384)
 	at net.minecraft.client.main.Main.main(SourceFile:155)
 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 	at java.lang.reflect.Method.invoke(Unknown Source)
 	at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:56)
 	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
 	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:50)
 	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:68)
 	at cpw.mods.modlauncher.Launcher.run(Launcher.java:80)
 	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)
Caused by: java.lang.IllegalArgumentException: Cannot get property DirectionProperty{name=facing, clazz=class net.minecraft.util.Direction, values=[north, south, west, east]} as it does not exist in Block{quark:red_slime_block}
	at net.minecraft.state.StateHolder.func_177229_b(SourceFile:95)
	at net.minecraft.client.renderer.tileentity.ChestTileEntityRenderer.func_199341_a(SourceFile:70)
	at vazkii.quark.decoration.client.render.VariantChestTileEntityRenderer.render(VariantChestTileEntityRenderer.java:19)
	at vazkii.quark.decoration.client.render.VariantChestTileEntityRenderer.func_199341_a(VariantChestTileEntityRenderer.java:10)
	at vazkii.quark.automation.client.render.PistonTileEntityRenderer.renderPistonBlock(PistonTileEntityRenderer.java:42)
	... 22 more