From 871c1f98886a3a7aa646f881dc36dd985ce3cd08 Mon Sep 17 00:00:00 2001 From: Jenny Date: Fri, 31 Jan 2025 00:57:43 +0100 Subject: [PATCH] added repulsive tnt --- gradle.properties | 2 +- .../enhancedexplosives/blocks/blocks.java | 3 + .../blocks/repulsiveTNTBlock.java | 60 +++++++++++ .../jenny/enhancedexplosives/creativeTab.java | 1 + .../datagen/ModBlockStateProvider.java | 1 + .../enhancedexplosives/entities/entities.java | 7 ++ .../entities/tnt/repulsivePrimedTNT.java | 99 ++++++++++++++++++ .../assets/enhancedexplosives/lang/en_us.json | 2 + .../textures/block/tnt_repulsive_side.png | Bin 0 -> 22433 bytes .../block/tnt_repulsive_side.png.mcmeta | 7 ++ .../textures/block/tnt_repulsive_top.png | Bin 0 -> 34409 bytes .../block/tnt_repulsive_top.png.mcmeta | 7 ++ 12 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/jenny/enhancedexplosives/blocks/repulsiveTNTBlock.java create mode 100644 src/main/java/com/jenny/enhancedexplosives/entities/tnt/repulsivePrimedTNT.java create mode 100644 src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_side.png create mode 100644 src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_side.png.mcmeta create mode 100644 src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_top.png create mode 100644 src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_top.png.mcmeta diff --git a/gradle.properties b/gradle.properties index 15d3786..9d5cb9a 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.9.9 +mod_version=0.10.0 # 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/blocks/blocks.java b/src/main/java/com/jenny/enhancedexplosives/blocks/blocks.java index 8c0dd9c..925699c 100644 --- a/src/main/java/com/jenny/enhancedexplosives/blocks/blocks.java +++ b/src/main/java/com/jenny/enhancedexplosives/blocks/blocks.java @@ -56,6 +56,9 @@ public class blocks { public static final RegistryObject TNT_ENDER = BLOCKS.register("tnt_ender", () -> new enderTNTBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED), 4.0f, 80)); public static final RegistryObject TNT_ENDER_ITEM = ITEMS.register("tnt_ender", () -> new BlockItemTooltip(TNT_ENDER.get(), new Item.Properties())); + public static final RegistryObject TNT_REPULSIVE = BLOCKS.register("tnt_repulsive", () -> new repulsiveTNTBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED), 4.0f, 80, 1)); + public static final RegistryObject TNT_REPULSIVE_ITEM = ITEMS.register("tnt_repulsive", () -> new BlockItemTooltip(TNT_REPULSIVE.get(), new Item.Properties())); + public static void register(IEventBus bus) { BLOCKS.register(bus); diff --git a/src/main/java/com/jenny/enhancedexplosives/blocks/repulsiveTNTBlock.java b/src/main/java/com/jenny/enhancedexplosives/blocks/repulsiveTNTBlock.java new file mode 100644 index 0000000..dedc101 --- /dev/null +++ b/src/main/java/com/jenny/enhancedexplosives/blocks/repulsiveTNTBlock.java @@ -0,0 +1,60 @@ +package com.jenny.enhancedexplosives.blocks; + +import com.jenny.enhancedexplosives.entities.tnt.blackHolePrimedTNT; +import com.jenny.enhancedexplosives.entities.tnt.repulsivePrimedTNT; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Explosion; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.TntBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.gameevent.GameEvent; +import org.jetbrains.annotations.NotNull; + +import javax.annotation.Nullable; + +public class repulsiveTNTBlock extends TntBlock { + public final float pRadius, speed; + public final int fuseTime; + + public repulsiveTNTBlock(Properties p_57422_, float pRadius, int fuseTime, float speed) { + super(p_57422_); + this.pRadius = pRadius; + this.fuseTime = fuseTime; + this.speed = speed; + } + + @Override + public void onCaughtFire(@NotNull BlockState state, @NotNull Level world, @NotNull BlockPos pos, @Nullable Direction face, @Nullable LivingEntity igniter) { + explode(world, pos, igniter, this.pRadius, this.fuseTime, this.speed); + } + + @Deprecated + public static void explode(Level p_57434_, BlockPos p_57435_, float pRadius, int fuseTime, float speed) { + explode(p_57434_, p_57435_, (LivingEntity)null, pRadius, fuseTime, speed); + } + + @Deprecated + private static void explode(Level level, BlockPos blockPos, @Nullable LivingEntity entity, float pRadius, int fuseTime, float speed) { + if (!level.isClientSide) { + repulsivePrimedTNT primedtnt = new repulsivePrimedTNT(level, (double)blockPos.getX() + (double)0.5F, (double)blockPos.getY(), (double)blockPos.getZ() + (double)0.5F, entity, pRadius, fuseTime, speed); + level.addFreshEntity(primedtnt); + level.playSound((Player)null, primedtnt.getX(), primedtnt.getY(), primedtnt.getZ(), SoundEvents.TNT_PRIMED, SoundSource.BLOCKS, 1.0F, 1.0F); + level.gameEvent(entity, GameEvent.PRIME_FUSE, blockPos); + } + } + + @Override + public void wasExploded(Level level, @NotNull BlockPos blockPos, @NotNull Explosion pExplosion) { + if (!level.isClientSide) { + repulsivePrimedTNT primedtnt = new repulsivePrimedTNT(level, (double) blockPos.getX() + (double) 0.5F, (double) blockPos.getY(), (double) blockPos.getZ() + (double) 0.5F, pExplosion.getIndirectSourceEntity(), pRadius, fuseTime, speed); + int i = primedtnt.getFuse(); + primedtnt.setFuse((short) (level.random.nextInt(i / 4) + i / 8)); + level.addFreshEntity(primedtnt); + } + } +} diff --git a/src/main/java/com/jenny/enhancedexplosives/creativeTab.java b/src/main/java/com/jenny/enhancedexplosives/creativeTab.java index ad02a57..6048c57 100644 --- a/src/main/java/com/jenny/enhancedexplosives/creativeTab.java +++ b/src/main/java/com/jenny/enhancedexplosives/creativeTab.java @@ -26,6 +26,7 @@ public class creativeTab { output.accept(blocks.TNT_CLUSTER_8.get()); output.accept(blocks.TNT_HOMING.get()); output.accept(blocks.TNT_BLACK_HOLE.get()); + output.accept(blocks.TNT_REPULSIVE.get()); output.accept(blocks.TNT_CLAYMORE.get()); output.accept(blocks.TNT_SELECTIVE.get()); output.accept(blocks.TNT_ENDER.get()); diff --git a/src/main/java/com/jenny/enhancedexplosives/datagen/ModBlockStateProvider.java b/src/main/java/com/jenny/enhancedexplosives/datagen/ModBlockStateProvider.java index 0a6f192..1d3cdb6 100644 --- a/src/main/java/com/jenny/enhancedexplosives/datagen/ModBlockStateProvider.java +++ b/src/main/java/com/jenny/enhancedexplosives/datagen/ModBlockStateProvider.java @@ -29,6 +29,7 @@ public class ModBlockStateProvider extends BlockStateProvider { sideTopBottom(blocks.TNT_ENDER); sideTopBottom(blocks.TNT_CLAYMORE); SideTop(blocks.TNT_BLACK_HOLE); + SideTop(blocks.TNT_REPULSIVE); SideOnlyTNT(blocks.TNT_CLUSTER_2); SideOnlyTNT(blocks.TNT_CLUSTER_4); SideOnlyTNT(blocks.TNT_CLUSTER_8); diff --git a/src/main/java/com/jenny/enhancedexplosives/entities/entities.java b/src/main/java/com/jenny/enhancedexplosives/entities/entities.java index 7108d3f..2d8d684 100644 --- a/src/main/java/com/jenny/enhancedexplosives/entities/entities.java +++ b/src/main/java/com/jenny/enhancedexplosives/entities/entities.java @@ -47,6 +47,10 @@ public class entities { ENTITY_TYPES.register("tnt_ender", () -> EntityType.Builder.of(enderPrimedTNT::new, MobCategory.MISC) .sized(0.98F, 0.7F).fireImmune().clientTrackingRange(8).build("tnt_ender")); + public static final RegistryObject> TNT_REPULSIVE = + ENTITY_TYPES.register("tnt_repulsive", () -> EntityType.Builder.of(repulsivePrimedTNT::new, MobCategory.MISC) + .sized(0.98F, 0.7F).fireImmune().clientTrackingRange(8).build("tnt_repulsive")); + public static final RegistryObject> ARROW_TNT = ENTITY_TYPES.register("arrow_tnt", () -> EntityType.Builder.of(tntArrow::new, MobCategory.MISC) .sized(0.48F, 0.48F).clientTrackingRange(64).build("arrow_tnt")); @@ -85,6 +89,8 @@ public class entities { EntityRenderers.register(TNT_BLACK_HOLE.get(), BaseTNTRenderer::new); EntityRenderers.register(TNT_CLAYMORE.get(), BaseTNTRenderer::new); EntityRenderers.register(TNT_ENDER.get(), BaseTNTRenderer::new); + EntityRenderers.register(TNT_REPULSIVE.get(), BaseTNTRenderer::new); + EntityRenderers.register(TNT_SELECTIVE.get(), SelectiveTNTRenderer::new); EntityRenderers.register(TNT_CLUSTER.get(), clusterTNTRenderer::new); @@ -95,6 +101,7 @@ public class entities { EntityRenderers.register(ARROW_CARPET.get(), TNTArrowRenderer::new); EntityRenderers.register(ARROW_CARPT_PART.get(), TNTArrowRenderer::new); EntityRenderers.register(ARROW_TUNNEL.get(), TNTArrowRenderer::new); + EntityRenderers.register(ARROW_CLAYMORE.get(), baseArrowRenderer::new); } } \ No newline at end of file diff --git a/src/main/java/com/jenny/enhancedexplosives/entities/tnt/repulsivePrimedTNT.java b/src/main/java/com/jenny/enhancedexplosives/entities/tnt/repulsivePrimedTNT.java new file mode 100644 index 0000000..eeedb6a --- /dev/null +++ b/src/main/java/com/jenny/enhancedexplosives/entities/tnt/repulsivePrimedTNT.java @@ -0,0 +1,99 @@ +package com.jenny.enhancedexplosives.entities.tnt; + +import com.jenny.enhancedexplosives.blocks.blocks; +import com.jenny.enhancedexplosives.entities.entities; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + +import javax.annotation.Nullable; +import java.util.List; + +public class repulsivePrimedTNT extends basePrimedTNT { + private static final EntityDataAccessor DATA_SPEED_ID = SynchedEntityData.defineId(repulsivePrimedTNT.class, EntityDataSerializers.FLOAT); + + public repulsivePrimedTNT(Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse, float speed) { + super(entities.TNT_REPULSIVE.get(), pLevel, pOwner, new Vec3(pX, pY, pZ), fuse, power); + this.setSpeed(speed); + } + + public repulsivePrimedTNT(EntityType entityType, Level level) { + super(entityType, level, null); + this.setSpeed(this.getSpeed()); + } + + private Vec3 targetVector(Entity target) { + double dist = getTargetDist(target); + float speed = getSpeed(); + Vec3 mult = new Vec3(speed / dist, speed / dist, speed / dist); + Vec3 ret = target.position().subtract(this.position()).normalize().multiply(mult); + return ret; + } + + public double getTargetDist(Entity target) { + return target.position().subtract(this.position()).length(); + } + + public List findTargets() { + Vec3 corner1 = this.position().subtract(15, 15, 15); + Vec3 corner2 = this.position().add(15, 15, 15); + AABB boundingBox = new AABB(corner1, corner2); + return this.level().getEntities(this, boundingBox); + + } + + @Override + public void tick() { + for (Entity e : findTargets()) { + e.addDeltaMovement(targetVector(e)); + } + super.tick(); + } + + @Override + public void explode() { + for (Entity e : findTargets()) { + e.addDeltaMovement(targetVector(e).scale(3)); + } + super.explode(); + } + + @Override + protected void addAdditionalSaveData(CompoundTag pCompound) { + pCompound.putFloat("Speed", this.getSpeed()); + super.addAdditionalSaveData(pCompound); + } + + @Override + protected void readAdditionalSaveData(CompoundTag pCompound) { + this.setSpeed(pCompound.getFloat("Speed")); + super.readAdditionalSaveData(pCompound); + } + + public void setSpeed(float speed) { + this.entityData.set(DATA_SPEED_ID, speed); + } + + public float getSpeed() { + return this.entityData.get(DATA_SPEED_ID); + } + + @Override + protected void defineSynchedData() { + this.entityData.define(DATA_SPEED_ID, 4.0f); + super.defineSynchedData(); + } + + @Override + public Block renderBlock() { + return blocks.TNT_REPULSIVE.get(); + } +} diff --git a/src/main/resources/assets/enhancedexplosives/lang/en_us.json b/src/main/resources/assets/enhancedexplosives/lang/en_us.json index 5172682..e7c845d 100644 --- a/src/main/resources/assets/enhancedexplosives/lang/en_us.json +++ b/src/main/resources/assets/enhancedexplosives/lang/en_us.json @@ -12,6 +12,7 @@ "block.enhancedexplosives.tnt_claymore": "Claymore TNT", "block.enhancedexplosives.tnt_selective": "Selective TNT", "block.enhancedexplosives.tnt_ender": "Ender TNT", + "block.enhancedexplosives.tnt_repulsive": "Repulsive TNT", "tooltip.enhancedexplosives.tnt_cluster_2": "splits into 2 small TNTs", "tooltip.enhancedexplosives.tnt_cluster_4": "splits into 4 small TNTs", @@ -21,6 +22,7 @@ "tooltip.enhancedexplosives.tnt_claymore": "throws arrows into all direcctions upon explosion", "tooltip.enhancedexplosives.tnt_selective": "only destroys the type of block it explodes on", "tooltip.enhancedexplosives.tnt_ender": "teleports in a 16 block radius upon priming", + "tooltip.enhancedexplosives.tnt_repulsive": "repels all close entities", "item.enhancedexplosives.arrow_tnt": "TNT Arrow", "item.enhancedexplosives.arrow_concussive": "Concussive Arrow", diff --git a/src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_side.png b/src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_side.png new file mode 100644 index 0000000000000000000000000000000000000000..ff073267b9f2278cc71bbb8f72105f98bcae065d GIT binary patch literal 22433 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 B6odc( literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_side.png.mcmeta b/src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_side.png.mcmeta new file mode 100644 index 0000000..e769231 --- /dev/null +++ b/src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_side.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "frametime": 1, + "interpolate": true, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_top.png b/src/main/resources/assets/enhancedexplosives/textures/block/tnt_repulsive_top.png new file mode 100644 index 0000000000000000000000000000000000000000..83dc3591fa4928999a46493e1f8558c5889f33e9 GIT binary patch literal 34409 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