Posted March 9, 20196 yr I'm trying to place a torch at the side of a block with limited success. See the complete class here: https://github.com/ArnoSaxena/buildhelper/blob/master/src/main/java/torojima/buildhelper/common/item/ItemTorchWand.java in the public EnumActionResult onItemUse(ItemUseContext iuc) method I have changed the placing code to this using the WALL_TORCH in case I want to place the torch at a wall instead of the bottom of the selected position (not yet checked in to gitHub). pos is the block clicked at, while torchPos is the calculated position in regards of the clicked on side of the target block. if (isWallTorch) { iuc.getWorld().setBlockState(torchPos, Blocks.WALL_TORCH.getStateForPlacement(Blocks.WALL_TORCH.getDefaultState(), iuc.getFace(), iuc.getWorld().getBlockState(pos), iuc.getWorld(), torchPos, pos, iuc.getPlayer().getActiveHand())); } else { iuc.getWorld().setBlockState(torchPos, Blocks.TORCH.getStateForPlacement(Blocks.TORCH.getDefaultState(), iuc.getFace(), iuc.getWorld().getBlockState(pos), iuc.getWorld(), torchPos, pos, iuc.getPlayer().getActiveHand())); } Now this will have the strange effect the placed WALL_TORCH will always be placed in the same direction, even if this means it will be placed onto an air block. Additionally, if the NORTH face of a block is clicked, with two air blocks in front, the torch will not be set at all... So, my question is, when a WALL_TORCH should be placed how to set the facing direction for it? Edited March 9, 20196 yr by Torojima running minecraft on Mac OS X - Sierra --- creating code since 1986 ... --- मेरा दिल भारतवासी है! http://www.arno-saxena.de/pictures/chococraft/banner_signature.png[/img]
March 9, 20196 yr IBlockState torchBlock = Blocks.WALL_TORCH.getDefaultState(); iuc.getWorld().setBlockState(torchPos, torch_state.with(HORIZONTAL_FACING, iuc.getFace())); I changed facing in this way. I make Mod. https://minecraft.curseforge.com/projects/torchbowmod I am Japanese!!.
March 9, 20196 yr Author thank you iuc.getWorld().setBlockState(torchPos, Blocks.WALL_TORCH.getDefaultState().with(BlockHorizontal.HORIZONTAL_FACING, iuc.getFace())); now does the trick running minecraft on Mac OS X - Sierra --- creating code since 1986 ... --- मेरा दिल भारतवासी है! http://www.arno-saxena.de/pictures/chococraft/banner_signature.png[/img]
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.