Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

aquila_zyy

Members
  • Posts

    5
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

aquila_zyy's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. I used to work in minecraft version 1.12.2, but now I'd like to update my mod to 1.15.2. However, when I try to sync the project, it always gives me this Java compiler error. This has never happened in 1.12.2, can anyone tell me if this is a serious issue and what is happening here? Should I have a tweak on my Java, IDE (its Intellij) or forge installation? Thanks in advance for any help.
  2. I get it now. Here's the working code: @Override public void onPlayerDestroy(IWorld worldIn, BlockPos pos, IBlockState state) { ((World)worldIn).setBlockState(pos, Blocks.LAVA.getDefaultState()); } @Override public void harvestBlock(World worldIn, EntityPlayer player, BlockPos pos, IBlockState state, @Nullable TileEntity te, ItemStack stack) { player.addStat(StatList.BLOCK_MINED.get(this)); player.addExhaustion(0.005F); if (this.canSilkHarvest(state, worldIn, pos, player) && EnchantmentHelper.getEnchantmentLevel(Enchantments.SILK_TOUCH, stack) > 0) { NonNullList<ItemStack> items = NonNullList.create(); ItemStack itemstack = this.getSilkTouchDrop(state); if (!itemstack.isEmpty()) items.add(itemstack); net.minecraftforge.event.ForgeEventFactory.fireBlockHarvesting(items, worldIn, pos, state, 0, 1.0f, true, player); items.forEach(e -> spawnAsEntity(worldIn, pos, e)); worldIn.setBlockState(pos, Blocks.AIR.getDefaultState()); } else { harvesters.set(player); int i = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, stack); state.dropBlockAsItem(worldIn, pos, i); harvesters.set(null); } }
  3. And sorry for the slow reply. I had 502 problem for several hours connecting forge forum.
  4. Oh I see. Did not expect such a quick reply, thanks. I’m kinda busy right now, any suggestions on which method I should use? I’ll look into it later.
  5. Hi, thanks for the help! I'm trying to make a block which if you mine it without silk touch or are not using a proper tool, it will leave a block of lava. I overridden the harvestBlock method in my block's class, and here is the code: @Override public void harvestBlock(World worldIn, EntityPlayer player, BlockPos pos, IBlockState state, @Nullable TileEntity te, ItemStack stack) { player.addStat(StatList.BLOCK_MINED.get(this)); player.addExhaustion(0.005F); if (this.canSilkHarvest(state, worldIn, pos, player) && EnchantmentHelper.getEnchantmentLevel(Enchantments.SILK_TOUCH, stack) > 0) { NonNullList<ItemStack> items = NonNullList.create(); ItemStack itemstack = this.getSilkTouchDrop(state); if (!itemstack.isEmpty()) items.add(itemstack); net.minecraftforge.event.ForgeEventFactory.fireBlockHarvesting(items, worldIn, pos, state, 0, 1.0f, true, player); items.forEach(e -> spawnAsEntity(worldIn, pos, e)); } else { harvesters.set(player); int i = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, stack); state.dropBlockAsItem(worldIn, pos, i); harvesters.set(null); worldIn.setBlockState(pos, Blocks.LAVA.getDefaultState()); } if (!player.canHarvestBlock(state)) { worldIn.setBlockState(pos, Blocks.LAVA.getDefaultState()); } } Now the silk touch part is working fine (it probably should because I just copied them from Block class), but when I mine it with an iron pickaxe, nothing happens. I think I misused the method canHarvestBlock. By the way, this block's material is ROCK, and required harvestLevel 3 or higher.
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.