chirptheboy Posted January 21, 2020 Share Posted January 21, 2020 When I right-click my mod block with torches in my off-hand, it tries to place the torch on the block--briefly emitting light--then consumes the torch (count decreases by one), and finally still opens up the GUI. Then, if I exit to the menu and then return, I have all my torches back. When right-clicking my mod block with any placeable block, the animation of placing the block appears before opening the GUI. These blocks remain in the hotbar when this happens. Instead of pasting huge codeblocks--unless that is preferable--here are links to my code: Block Block TileEntity Block Container Block Screen Any and all help is appreciated! Quote Link to comment Share on other sites More sharing options...
Vinyarion Posted January 21, 2020 Share Posted January 21, 2020 Take a look at your disenchanter block class: @Override public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult result) { if (!world.isRemote) { TileEntity tileEntity = world.getTileEntity(pos); if (tileEntity instanceof INamedContainerProvider){ NetworkHooks.openGui((ServerPlayerEntity) player, (INamedContainerProvider) tileEntity, tileEntity.getPos()); } else { throw new IllegalStateException("Our named container provider is missing."); } return true; } return super.onBlockActivated(state, world, pos, player, hand, result); } If you follow the control flow, the client-side block will always return super.onBlockActivated(state, world, pos, player, hand, result); The effects you are describing seem to be caused by the client and server following different paths here, the server returning true after opening the gui, and the client returning super.onBlockActivated, which I'm pretty sure defaults to false. 2 Quote Have you ever want the new operator to return a type that you didn't ask for? Well, now you can! Link to comment Share on other sites More sharing options...
chirptheboy Posted January 21, 2020 Author Share Posted January 21, 2020 (edited) Thanks for the info, I'll take a look into that. Edit: I made modifications to that method since there were items that should have fired independently of which world it was in. @Override public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult result) { TileEntity tileEntity = world.getTileEntity(pos); if (tileEntity instanceof INamedContainerProvider){ if (!world.isRemote) { NetworkHooks.openGui((ServerPlayerEntity) player, (INamedContainerProvider) tileEntity, tileEntity.getPos()); } } else { throw new IllegalStateException("Our named container provider is missing."); } return true; //return super.onBlockActivated(state, world, pos, player, hand, result); } Edited January 21, 2020 by chirptheboy Added fix Quote Link to comment Share on other sites More sharing options...
Cadiboo Posted January 22, 2020 Share Posted January 22, 2020 On 1/22/2020 at 1:47 AM, chirptheboy said: I made modifications to that method since there were items that should have fired independently of which world it was in. Um... You still only do stuff on the server. Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme) Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.