diff --git a/gradle.properties b/gradle.properties index 23e885c..240a8bd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,7 +38,7 @@ mod_name=Enhanced Explosives # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=All Rights Reserved # The mod version. See https://semver.org/ -mod_version=0.8.1 +mod_version=0.8.2 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/com/jenny/enhancedexplosives/entities/arrows/baseArrow.java b/src/main/java/com/jenny/enhancedexplosives/entities/arrows/baseArrow.java index 0f0ec5e..56c1559 100644 --- a/src/main/java/com/jenny/enhancedexplosives/entities/arrows/baseArrow.java +++ b/src/main/java/com/jenny/enhancedexplosives/entities/arrows/baseArrow.java @@ -33,6 +33,7 @@ public class baseArrow extends AbstractArrow { private Potion potion = Potions.EMPTY; private final Set effects = Sets.newHashSet(); private boolean fixedColor; + private int tick = 0; public baseArrow(EntityType pEntityType, Level pLevel) { super(pEntityType, pLevel); @@ -105,13 +106,13 @@ public class baseArrow extends AbstractArrow { } else { this.makeParticle(2); } + this.tick++; } else if (this.inGround && this.inGroundTime != 0 && !this.effects.isEmpty() && this.inGroundTime >= 600) { this.level().broadcastEntityEvent(this, (byte)0); this.potion = Potions.EMPTY; this.effects.clear(); this.entityData.set(ID_EFFECT_COLOR, -1); } - } private void makeParticle(int pParticleAmount) { @@ -232,4 +233,8 @@ public class baseArrow extends AbstractArrow { public void spawnParticles() { } + + public int getTick() { + return this.tick; + } } diff --git a/src/main/java/com/jenny/enhancedexplosives/entities/client/TNTArrowRenderer.java b/src/main/java/com/jenny/enhancedexplosives/entities/client/TNTArrowRenderer.java index bc1740e..cc032e4 100644 --- a/src/main/java/com/jenny/enhancedexplosives/entities/client/TNTArrowRenderer.java +++ b/src/main/java/com/jenny/enhancedexplosives/entities/client/TNTArrowRenderer.java @@ -19,7 +19,6 @@ import org.jetbrains.annotations.NotNull; public class TNTArrowRenderer extends EntityRenderer { private final boolean renderParticles = ConfigClient.ARROW_PARTICLES; private final BlockRenderDispatcher blockRenderer; - private float i = 0; public TNTArrowRenderer(EntityRendererProvider.Context pContext) { super(pContext); @@ -31,14 +30,14 @@ public class TNTArrowRenderer extends EntityRenderer { pPoseStack.pushPose(); pPoseStack.translate(0.0F, 0.5F, 0.0F); pPoseStack.scale(0.5f, 0.5f, 0.5f); - i += 0.1f; + int i = pEntity.getTick(); pPoseStack.mulPose(Axis.YP.rotationDegrees(-90.0F)); pPoseStack.translate(-0.5F, -0.5F, 0.5F); pPoseStack.mulPose(Axis.YP.rotationDegrees(90.0F)); if (renderParticles) { pEntity.spawnParticles(); } - TntMinecartRenderer.renderWhiteSolidBlock(this.blockRenderer, Blocks.TNT.defaultBlockState(), pPoseStack, pBuffer, pPackedLight, Math.round(Math.sin(i)) == 0); + TntMinecartRenderer.renderWhiteSolidBlock(this.blockRenderer, Blocks.TNT.defaultBlockState(), pPoseStack, pBuffer, pPackedLight, i / 5 % 2 == 0); pPoseStack.popPose(); super.render(pEntity, pEntityYaw, pPartialTicks, pPoseStack, pBuffer, pPackedLight); } diff --git a/src/main/java/com/jenny/enhancedexplosives/entities/client/clusterTNTRenderer.java b/src/main/java/com/jenny/enhancedexplosives/entities/client/clusterTNTRenderer.java index 874f687..2f8912e 100644 --- a/src/main/java/com/jenny/enhancedexplosives/entities/client/clusterTNTRenderer.java +++ b/src/main/java/com/jenny/enhancedexplosives/entities/client/clusterTNTRenderer.java @@ -39,7 +39,7 @@ public class clusterTNTRenderer extends EntityRenderer { } pPoseStack.mulPose(Axis.YP.rotationDegrees(-90.0F)); - pPoseStack.translate(-0.5F, -0.5F, 0.5F); + pPoseStack.translate(-0.5F, -1.0F, 0.5F); pPoseStack.mulPose(Axis.YP.rotationDegrees(90.0F)); TntMinecartRenderer.renderWhiteSolidBlock(this.blockRenderer, pEntity.renderBlock().defaultBlockState(), pPoseStack, pBuffer, pPackedLight, i / 5 % 2 == 0); pPoseStack.popPose(); diff --git a/src/main/java/com/jenny/enhancedexplosives/entities/tnt/basePrimedTNT.java b/src/main/java/com/jenny/enhancedexplosives/entities/tnt/basePrimedTNT.java index 5a100c6..9d3a80c 100644 --- a/src/main/java/com/jenny/enhancedexplosives/entities/tnt/basePrimedTNT.java +++ b/src/main/java/com/jenny/enhancedexplosives/entities/tnt/basePrimedTNT.java @@ -20,10 +20,12 @@ public abstract class basePrimedTNT extends Entity implements TraceableEntity { @Nullable private LivingEntity owner; + private int fuse = 0; public basePrimedTNT(EntityType pEntityType, Level pLevel, @Nullable LivingEntity owner) { super(pEntityType, pLevel); commonInit(pLevel, owner); + this.fuse = getFuse(); } private void commonInit(Level pLevel, @Nullable LivingEntity owner) { @@ -39,6 +41,7 @@ public abstract class basePrimedTNT extends Entity implements TraceableEntity { setPos(pos); setFuse(fuse); setPower(power); + this.fuse = getFuse(); } protected void explode() { @@ -127,4 +130,8 @@ public abstract class basePrimedTNT extends Entity implements TraceableEntity { public Block renderBlock() { return Blocks.GLASS; } + + public int defaultFuse() { + return this.fuse; + } }