Skip to content

Commit 4b93c1b

Browse files
committed
Mirror vanilla and don't allow obsidian tnt that goes through a nether portal to destroy the portal, and make use of vanilla's TNT renderer now that it supports custom block states
1 parent 585a0ba commit 4b93c1b

File tree

4 files changed

+8
-59
lines changed

4 files changed

+8
-59
lines changed

src/additions/java/mekanism/additions/client/AdditionsClientRegistration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import mekanism.additions.client.render.entity.RenderBabyCreeper;
77
import mekanism.additions.client.render.entity.RenderBabyEnderman;
88
import mekanism.additions.client.render.entity.RenderBalloon;
9-
import mekanism.additions.client.render.entity.RenderObsidianTNTPrimed;
109
import mekanism.additions.common.MekanismAdditions;
1110
import mekanism.additions.common.item.ItemBalloon;
1211
import mekanism.additions.common.item.ItemWalkieTalkie.WalkieData;
@@ -24,6 +23,7 @@
2423
import net.minecraft.client.renderer.entity.BoggedRenderer;
2524
import net.minecraft.client.renderer.entity.SkeletonRenderer;
2625
import net.minecraft.client.renderer.entity.StrayRenderer;
26+
import net.minecraft.client.renderer.entity.TntRenderer;
2727
import net.minecraft.client.renderer.entity.WitherSkeletonRenderer;
2828
import net.neoforged.api.distmarker.Dist;
2929
import net.neoforged.bus.api.SubscribeEvent;
@@ -57,7 +57,7 @@ public static void registerKeybindings(RegisterKeyMappingsEvent event) {
5757
@SubscribeEvent
5858
public static void registerRenderers(EntityRenderersEvent.RegisterRenderers event) {
5959
//Register entity rendering handlers
60-
event.registerEntityRenderer(AdditionsEntityTypes.OBSIDIAN_TNT.get(), RenderObsidianTNTPrimed::new);
60+
event.registerEntityRenderer(AdditionsEntityTypes.OBSIDIAN_TNT.get(), TntRenderer::new);
6161
event.registerEntityRenderer(AdditionsEntityTypes.BALLOON.get(), RenderBalloon::new);
6262
event.registerEntityRenderer(AdditionsEntityTypes.BABY_BOGGED.get(), BoggedRenderer::new);
6363
event.registerEntityRenderer(AdditionsEntityTypes.BABY_CREEPER.get(), RenderBabyCreeper::new);

src/additions/java/mekanism/additions/client/render/entity/RenderObsidianTNTPrimed.java

Lines changed: 0 additions & 55 deletions
This file was deleted.

src/additions/java/mekanism/additions/common/entity/EntityObsidianTNT.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import net.minecraft.world.entity.LivingEntity;
1010
import net.minecraft.world.entity.item.PrimedTnt;
1111
import net.minecraft.world.item.ItemStack;
12+
import net.minecraft.world.level.Explosion;
1213
import net.minecraft.world.level.Level;
1314
import net.minecraft.world.level.Level.ExplosionInteraction;
1415
import net.minecraft.world.phys.HitResult;
@@ -20,6 +21,7 @@ public class EntityObsidianTNT extends PrimedTnt {
2021
public EntityObsidianTNT(EntityType<EntityObsidianTNT> type, Level world) {
2122
super(type, world);
2223
setFuse(MekanismAdditionsConfig.additions.obsidianTNTDelay.get());
24+
setBlockState(AdditionsBlocks.OBSIDIAN_TNT.defaultState());
2325
}
2426

2527
@Nullable
@@ -37,7 +39,6 @@ public static EntityObsidianTNT create(Level world, double x, double y, double z
3739
tnt.zo = z;
3840
tnt.owner = igniter;
3941
//End TNTEntity constructor
40-
tnt.setFuse(MekanismAdditionsConfig.additions.obsidianTNTDelay.get());
4142
return tnt;
4243
}
4344

@@ -56,7 +57,8 @@ public void tick() {
5657

5758
@Override
5859
protected void explode() {
59-
level().explode(this, getX(), getY() + (double) (getBbHeight() / 16.0F), getZ(), MekanismAdditionsConfig.additions.obsidianTNTBlastRadius.get(), ExplosionInteraction.TNT);
60+
level().explode(this, Explosion.getDefaultDamageSource(level(), this), usedPortal ? USED_PORTAL_DAMAGE_CALCULATOR : null,
61+
getX(), getY(0.0625), getZ(), MekanismAdditionsConfig.additions.obsidianTNTBlastRadius.get(), false, ExplosionInteraction.TNT);
6062
}
6163

6264
@NotNull

src/additions/resources/META-INF/accesstransformer.cfg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
protected net.minecraft.world.entity.item.PrimedTnt owner
2+
protected net.minecraft.world.entity.item.PrimedTnt USED_PORTAL_DAMAGE_CALCULATOR
3+
protected net.minecraft.world.entity.item.PrimedTnt usedPortal
24

35
public net.minecraft.world.entity.EntityType immuneTo
46
public net.minecraft.world.entity.EntityAttachments attachments

0 commit comments

Comments
 (0)