Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

RNCSKN

Members
  • Joined

  • Last visited

  1. Oh, OK! I will go and watch turtywurty. Thanks for your help!
  2. OK, I found it. Sorry if im being dumb here, but I always made my blocks like this: (This if from one of my old mods) public class RubyBlock extends Block { public RubyBlock() { super(Block.Properties.create(Material.IRON) .hardnessAndResistance(5.0f, 6.0f) .sound(SoundType.METAL) .harvestLevel(2) .harvestTool(ToolType.PICKAXE) ); } } And here is the code from TNTBlock.java: public class TNTBlock extends Block { public static final BooleanProperty UNSTABLE = BlockStateProperties.UNSTABLE; public TNTBlock(Block.Properties properties) { super(properties); this.setDefaultState(this.getDefaultState().with(UNSTABLE, Boolean.valueOf(false))); } public void catchFire(BlockState state, World world, BlockPos pos, @Nullable net.minecraft.util.Direction face, @Nullable LivingEntity igniter) { explode(world, pos, igniter); } public void onBlockAdded(BlockState state, World worldIn, BlockPos pos, BlockState oldState, boolean isMoving) { if (oldState.getBlock() != state.getBlock()) { if (worldIn.isBlockPowered(pos)) { catchFire(state, worldIn, pos, null, null); worldIn.removeBlock(pos, false); } } } public void neighborChanged(BlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos, boolean isMoving) { if (worldIn.isBlockPowered(pos)) { catchFire(state, worldIn, pos, null, null); worldIn.removeBlock(pos, false); } } /** * Called before the Block is set to air in the world. Called regardless of if the player's tool can actually collect * this block */ public void onBlockHarvested(World worldIn, BlockPos pos, BlockState state, PlayerEntity player) { if (!worldIn.isRemote() && !player.isCreative() && state.get(UNSTABLE)) { catchFire(state, worldIn, pos, null, null); } super.onBlockHarvested(worldIn, pos, state, player); } /** * Called when this Block is destroyed by an Explosion */ public void onExplosionDestroy(World worldIn, BlockPos pos, Explosion explosionIn) { if (!worldIn.isRemote) { TNTEntity tntentity = new TNTEntity(worldIn, (double)((float)pos.getX() + 0.5F), (double)pos.getY(), (double)((float)pos.getZ() + 0.5F), explosionIn.getExplosivePlacedBy()); tntentity.setFuse((short)(worldIn.rand.nextInt(tntentity.getFuse() / 4) + tntentity.getFuse() / 8)); worldIn.addEntity(tntentity); } } @Deprecated //Forge: Prefer using IForgeBlock#catchFire public static void explode(World p_196534_0_, BlockPos worldIn) { explode(p_196534_0_, worldIn, (LivingEntity)null); } @Deprecated //Forge: Prefer using IForgeBlock#catchFire private static void explode(World p_196535_0_, BlockPos p_196535_1_, @Nullable LivingEntity p_196535_2_) { if (!p_196535_0_.isRemote) { TNTEntity tntentity = new TNTEntity(p_196535_0_, (double)p_196535_1_.getX() + 0.5D, (double)p_196535_1_.getY(), (double)p_196535_1_.getZ() + 0.5D, p_196535_2_); p_196535_0_.addEntity(tntentity); p_196535_0_.playSound((PlayerEntity)null, tntentity.func_226277_ct_(), tntentity.func_226278_cu_(), tntentity.func_226281_cx_(), SoundEvents.ENTITY_TNT_PRIMED, SoundCategory.BLOCKS, 1.0F, 1.0F); } } public ActionResultType func_225533_a_(BlockState p_225533_1_, World p_225533_2_, BlockPos p_225533_3_, PlayerEntity p_225533_4_, Hand p_225533_5_, BlockRayTraceResult p_225533_6_) { ItemStack itemstack = p_225533_4_.getHeldItem(p_225533_5_); Item item = itemstack.getItem(); if (item != Items.FLINT_AND_STEEL && item != Items.FIRE_CHARGE) { return super.func_225533_a_(p_225533_1_, p_225533_2_, p_225533_3_, p_225533_4_, p_225533_5_, p_225533_6_); } else { catchFire(p_225533_1_, p_225533_2_, p_225533_3_, p_225533_6_.getFace(), p_225533_4_); p_225533_2_.setBlockState(p_225533_3_, Blocks.AIR.getDefaultState(), 11); if (!p_225533_4_.isCreative()) { if (item == Items.FLINT_AND_STEEL) { itemstack.damageItem(1, p_225533_4_, (p_220287_1_) -> { p_220287_1_.sendBreakAnimation(p_225533_5_); }); } else { itemstack.shrink(1); } } return ActionResultType.SUCCESS; } } public void onProjectileCollision(World worldIn, BlockState state, BlockRayTraceResult hit, Entity projectile) { if (!worldIn.isRemote && projectile instanceof AbstractArrowEntity) { AbstractArrowEntity abstractarrowentity = (AbstractArrowEntity)projectile; Entity entity = abstractarrowentity.getShooter(); if (abstractarrowentity.isBurning()) { BlockPos blockpos = hit.getPos(); catchFire(state, worldIn, blockpos, null, entity instanceof LivingEntity ? (LivingEntity)entity : null); worldIn.removeBlock(blockpos, false); } } } /** * Return whether this block can drop from an explosion. */ public boolean canDropFromExplosion(Explosion explosionIn) { return false; } protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) { builder.add(UNSTABLE); } } So, do i need to do it like this: public class EpicTNT extends Block { public EpicTNT() { super(Block.Properties.create(Material.TNT) .catchFire(true) // The rest of the methods in TNTBlock.java ); } } That makes sense, but I dont think that will work.
  3. I am using Eclipse. I am going to find them right now
  4. How can I do that? I know about MCP, but that is discontinued and its latest version is 1.12.2, i think. Do I use MCPReborn?
  5. RNCSKN joined the community
  6. Hi! I am trying to make a mod which adds TNT that has bigger explosion radiuses, or other effects. I know how to make new blocks, but I dont know how to make TNT. Can someone tell me how to do this?

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.