Compare commits
2 Commits
2325f0ce18
...
183d0fe38a
Author | SHA1 | Date | |
---|---|---|---|
183d0fe38a | |||
1226338d10 |
@ -7,6 +7,7 @@ import net.minecraft.data.PackOutput;
|
|||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.level.block.*;
|
import net.minecraft.world.level.block.*;
|
||||||
import net.minecraftforge.client.model.generators.BlockStateProvider;
|
import net.minecraftforge.client.model.generators.BlockStateProvider;
|
||||||
|
import net.minecraftforge.client.model.generators.ConfiguredModel;
|
||||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import net.minecraftforge.registries.RegistryObject;
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
@ -26,9 +27,6 @@ public class ModBlockStateProvider extends BlockStateProvider {
|
|||||||
sideTopBottom(blocks.TNT_32.get());
|
sideTopBottom(blocks.TNT_32.get());
|
||||||
sideTopBottom(blocks.TNT_64.get());
|
sideTopBottom(blocks.TNT_64.get());
|
||||||
sideTopBottom(blocks.TNT_128.get());
|
sideTopBottom(blocks.TNT_128.get());
|
||||||
sideTopBottom(blocks.TNT_CLUSTER_2.get());
|
|
||||||
sideTopBottom(blocks.TNT_CLUSTER_4.get());
|
|
||||||
sideTopBottom(blocks.TNT_CLUSTER_8.get());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void blockWithItem(RegistryObject<Block> blockRegistryObject) {
|
private void blockWithItem(RegistryObject<Block> blockRegistryObject) {
|
||||||
@ -62,6 +60,7 @@ public class ModBlockStateProvider extends BlockStateProvider {
|
|||||||
|
|
||||||
public void sideTopBottom(Block block) {
|
public void sideTopBottom(Block block) {
|
||||||
ModelFile model = models().cubeBottomTop(name(block), extend(blockTexture(block), "_side"), extend(blockTexture(block), "_bottom"), extend(blockTexture(block), "_top"));
|
ModelFile model = models().cubeBottomTop(name(block), extend(blockTexture(block), "_side"), extend(blockTexture(block), "_bottom"), extend(blockTexture(block), "_top"));
|
||||||
|
this.getVariantBuilder(block).forAllStates(blockState -> ConfiguredModel.builder().modelFile(model).build());
|
||||||
simpleBlockItem(block, model);
|
simpleBlockItem(block, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,12 +10,8 @@ import javax.annotation.Nullable;
|
|||||||
public class ClusterPrimedTNT extends basePrimedTNT {
|
public class ClusterPrimedTNT extends basePrimedTNT {
|
||||||
|
|
||||||
public ClusterPrimedTNT (Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse, Vec3 move) {
|
public ClusterPrimedTNT (Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse, Vec3 move) {
|
||||||
super(entities.TNT_CLUSTER.get(), pLevel, pOwner);
|
super(entities.TNT_CLUSTER.get(), pLevel, pOwner, new Vec3(pX, pY, pZ), fuse, power, "cluster");
|
||||||
this.setPos(pX, pY, pZ);
|
|
||||||
this.setFuse(fuse);
|
|
||||||
this.setPower(power);
|
|
||||||
this.addDeltaMovement(move);
|
this.addDeltaMovement(move);
|
||||||
this.setRenderID("cluster");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ClusterPrimedTNT(EntityType<ClusterPrimedTNT> entityType, Level level) {
|
public ClusterPrimedTNT(EntityType<ClusterPrimedTNT> entityType, Level level) {
|
||||||
|
@ -3,15 +3,13 @@ package com.jenny.compressedtnt.entities;
|
|||||||
import net.minecraft.world.entity.EntityType;
|
import net.minecraft.world.entity.EntityType;
|
||||||
import net.minecraft.world.entity.LivingEntity;
|
import net.minecraft.world.entity.LivingEntity;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class StrongerPrimedTNT extends basePrimedTNT {
|
public class StrongerPrimedTNT extends basePrimedTNT {
|
||||||
public StrongerPrimedTNT (Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse) {
|
public StrongerPrimedTNT (Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse) {
|
||||||
super(entities.TNT_STRONGER.get(), pLevel, pOwner);
|
super(entities.TNT_STRONGER.get(), pLevel, pOwner, new Vec3(pX, pY, pZ), fuse, power, "default");
|
||||||
this.setPos(pX, pY, pZ);
|
|
||||||
this.setFuse(fuse);
|
|
||||||
this.setPower(power);
|
|
||||||
this.setRenderID(evalRenderID());
|
this.setRenderID(evalRenderID());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.jenny.compressedtnt.entities;
|
package com.jenny.compressedtnt.entities;
|
||||||
|
|
||||||
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.particles.ParticleTypes;
|
import net.minecraft.core.particles.ParticleTypes;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.network.syncher.EntityDataAccessor;
|
import net.minecraft.network.syncher.EntityDataAccessor;
|
||||||
@ -7,6 +8,8 @@ import net.minecraft.network.syncher.EntityDataSerializers;
|
|||||||
import net.minecraft.network.syncher.SynchedEntityData;
|
import net.minecraft.network.syncher.SynchedEntityData;
|
||||||
import net.minecraft.world.entity.*;
|
import net.minecraft.world.entity.*;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
@ -22,12 +25,25 @@ public abstract class basePrimedTNT extends Entity implements TraceableEntity {
|
|||||||
|
|
||||||
public basePrimedTNT(EntityType<? extends basePrimedTNT> pEntityType, Level pLevel, @Nullable LivingEntity owner) {
|
public basePrimedTNT(EntityType<? extends basePrimedTNT> pEntityType, Level pLevel, @Nullable LivingEntity owner) {
|
||||||
super(pEntityType, pLevel);
|
super(pEntityType, pLevel);
|
||||||
|
commonInit(pLevel, owner);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void commonInit(Level pLevel, @Nullable LivingEntity owner) {
|
||||||
double d0 = pLevel.random.nextDouble() * (double)((float)Math.PI * 2F);
|
double d0 = pLevel.random.nextDouble() * (double)((float)Math.PI * 2F);
|
||||||
this.setDeltaMovement(-Math.sin(d0) * 0.02D, (double)0.2F, -Math.cos(d0) * 0.02D);
|
this.setDeltaMovement(-Math.sin(d0) * 0.02D, (double)0.2F, -Math.cos(d0) * 0.02D);
|
||||||
this.blocksBuilding = true;
|
this.blocksBuilding = true;
|
||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public basePrimedTNT(EntityType<? extends basePrimedTNT> pEntityType, Level pLevel, @Nullable LivingEntity owner, Vec3 pos, int fuse, float power, String renderID) {
|
||||||
|
super(pEntityType, pLevel);
|
||||||
|
commonInit(pLevel, owner);
|
||||||
|
setPos(pos);
|
||||||
|
setFuse(fuse);
|
||||||
|
setPower(power);
|
||||||
|
setRenderID(renderID);
|
||||||
|
}
|
||||||
|
|
||||||
protected void explode() {
|
protected void explode() {
|
||||||
this.level().explode(this, this.getX(), this.getY(0.0625D), this.getZ(), this.getPower(), Level.ExplosionInteraction.TNT);
|
this.level().explode(this, this.getX(), this.getY(0.0625D), this.getZ(), this.getPower(), Level.ExplosionInteraction.TNT);
|
||||||
}
|
}
|
||||||
@ -116,4 +132,8 @@ public abstract class basePrimedTNT extends Entity implements TraceableEntity {
|
|||||||
public String getRenderID() {
|
public String getRenderID() {
|
||||||
return this.entityData.get(DATA_RENDER_ID);
|
return this.entityData.get(DATA_RENDER_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected float getEyeHeight(@NotNull Pose pPose, @NotNull EntityDimensions pSize) {
|
||||||
|
return 0.15F;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import net.minecraft.world.entity.*;
|
|||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -17,18 +16,14 @@ public class blackHolePrimedTNT extends basePrimedTNT {
|
|||||||
private static final EntityDataAccessor<Float> DATA_SPEED_ID = SynchedEntityData.defineId(blackHolePrimedTNT.class, EntityDataSerializers.FLOAT);
|
private static final EntityDataAccessor<Float> DATA_SPEED_ID = SynchedEntityData.defineId(blackHolePrimedTNT.class, EntityDataSerializers.FLOAT);
|
||||||
|
|
||||||
public blackHolePrimedTNT(Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse, float speed) {
|
public blackHolePrimedTNT(Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse, float speed) {
|
||||||
super(entities.TNT_BLACK_HOLE.get(), pLevel, pOwner);
|
super(entities.TNT_BLACK_HOLE.get(), pLevel, pOwner, new Vec3(pX, pY, pZ), fuse, power, "black_hole");
|
||||||
this.setRenderID("black_hole");
|
|
||||||
this.setPos(pX, pY, pZ);
|
|
||||||
this.setOwner(pOwner);
|
|
||||||
this.setSpeed(speed);
|
this.setSpeed(speed);
|
||||||
this.setPower(power);
|
|
||||||
this.setFuse(fuse);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public blackHolePrimedTNT(EntityType<blackHolePrimedTNT> entityType, Level level) {
|
public blackHolePrimedTNT(EntityType<blackHolePrimedTNT> entityType, Level level) {
|
||||||
super(entityType, level, null);
|
super(entityType, level, null);
|
||||||
this.setRenderID("black_hole");
|
this.setRenderID("black_hole");
|
||||||
|
this.setSpeed(this.getSpeed());
|
||||||
}
|
}
|
||||||
|
|
||||||
private Vec3 targetVector(Entity target) {
|
private Vec3 targetVector(Entity target) {
|
||||||
@ -90,8 +85,4 @@ public class blackHolePrimedTNT extends basePrimedTNT {
|
|||||||
this.entityData.define(DATA_SPEED_ID, 4.0f);
|
this.entityData.define(DATA_SPEED_ID, 4.0f);
|
||||||
super.defineSynchedData();
|
super.defineSynchedData();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected float getEyeHeight(@NotNull Pose pPose, @NotNull EntityDimensions pSize) {
|
|
||||||
return 0.15F;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,27 +1,25 @@
|
|||||||
package com.jenny.compressedtnt.entities;
|
package com.jenny.compressedtnt.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.*;
|
import net.minecraft.world.entity.*;
|
||||||
import net.minecraft.world.entity.ai.targeting.TargetingConditions;
|
import net.minecraft.world.entity.ai.targeting.TargetingConditions;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class homingPrimedTNT extends basePrimedTNT {
|
public class homingPrimedTNT extends basePrimedTNT {
|
||||||
float speed = 0;
|
private static final EntityDataAccessor<Float> DATA_SPEED_ID = SynchedEntityData.defineId(homingPrimedTNT.class, EntityDataSerializers.FLOAT);
|
||||||
Entity target;
|
Entity target;
|
||||||
|
|
||||||
public homingPrimedTNT (Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse, float speed) {
|
public homingPrimedTNT (Level pLevel, double pX, double pY, double pZ, @Nullable LivingEntity pOwner, float power, int fuse, float speed) {
|
||||||
super(entities.TNT_HOMING.get(), pLevel, pOwner);
|
super(entities.TNT_HOMING.get(), pLevel, pOwner, new Vec3(pX, pY, pZ), fuse, power, "homing");
|
||||||
this.setPos(pX, pY, pZ);
|
|
||||||
this.setOwner(pOwner);
|
|
||||||
this.speed = speed;
|
|
||||||
this.target = null;
|
this.target = null;
|
||||||
this.setPower(power);
|
this.setSpeed(speed);
|
||||||
this.setFuse(fuse);
|
|
||||||
this.setRenderID("homing");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public homingPrimedTNT(EntityType<homingPrimedTNT> entityType, Level level) {
|
public homingPrimedTNT(EntityType<homingPrimedTNT> entityType, Level level) {
|
||||||
@ -32,6 +30,7 @@ public class homingPrimedTNT extends basePrimedTNT {
|
|||||||
double targetDist = getTargetDist();
|
double targetDist = getTargetDist();
|
||||||
Vec3 targetVec = new Vec3(0, 0, 0);
|
Vec3 targetVec = new Vec3(0, 0, 0);
|
||||||
if (targetDist > 3) {
|
if (targetDist > 3) {
|
||||||
|
float speed = getSpeed();
|
||||||
targetVec = new Vec3(target.getX() - this.getX(), target.getY() - this.getY(), target.getZ() - this.getZ()).normalize().multiply(speed, speed, speed);
|
targetVec = new Vec3(target.getX() - this.getX(), target.getY() - this.getY(), target.getZ() - this.getZ()).normalize().multiply(speed, speed, speed);
|
||||||
if (targetDist < 10) {
|
if (targetDist < 10) {
|
||||||
targetVec.multiply(targetDist / 10, targetDist / 10, targetDist / 10);
|
targetVec.multiply(targetDist / 10, targetDist / 10, targetDist / 10);
|
||||||
@ -49,7 +48,6 @@ public class homingPrimedTNT extends basePrimedTNT {
|
|||||||
Vec3 corner2 = this.position().add(15, 15, 15);
|
Vec3 corner2 = this.position().add(15, 15, 15);
|
||||||
AABB boundingBox = new AABB(corner1, corner2);
|
AABB boundingBox = new AABB(corner1, corner2);
|
||||||
target = this.level().getNearestEntity(LivingEntity.class, TargetingConditions.forNonCombat(), null, this.getX(), this.getY(), this.getZ(), boundingBox);
|
target = this.level().getNearestEntity(LivingEntity.class, TargetingConditions.forNonCombat(), null, this.getX(), this.getY(), this.getZ(), boundingBox);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -64,7 +62,29 @@ public class homingPrimedTNT extends basePrimedTNT {
|
|||||||
super.tick();
|
super.tick();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected float getEyeHeight(@NotNull Pose pPose, @NotNull EntityDimensions pSize) {
|
@Override
|
||||||
return 0.15F;
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_128"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_16"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_32"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_64"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_8"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/ttn_black_hole"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_cluster_2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_cluster_4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_cluster_8"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "compressedtnt:block/tnt_homing"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_128"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_16"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_32"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_64"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
14
src/main/resources/data/compressedtnt/loot_tables/tnt_8.json
Normal file
14
src/main/resources/data/compressedtnt/loot_tables/tnt_8.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_8"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_black_hole"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_cluster_2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_cluster_4"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_cluster_8"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "compressedtnt:tnt_homing"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user