From c4ecb20cf87f9642ebd490ccf488dd768b8d995a Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 21 Jun 2021 23:03:26 +0200 Subject: [PATCH] cargo pad tower goes boom --- .../java/com/hbm/entity/missile/EntityMinerRocket.java | 3 +++ .../hbm/tileentity/machine/TileEntityMachineSatDock.java | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/src/main/java/com/hbm/entity/missile/EntityMinerRocket.java b/src/main/java/com/hbm/entity/missile/EntityMinerRocket.java index 98d91f883..f43cf23da 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMinerRocket.java +++ b/src/main/java/com/hbm/entity/missile/EntityMinerRocket.java @@ -23,6 +23,7 @@ public class EntityMinerRocket extends Entity { @Override protected void entityInit() { this.dataWatcher.addObject(16, Integer.valueOf(0)); + this.dataWatcher.addObject(17, Integer.valueOf(0)); } @Override @@ -83,12 +84,14 @@ public class EntityMinerRocket extends Entity { @Override protected void readEntityFromNBT(NBTTagCompound nbt) { dataWatcher.updateObject(16, nbt.getInteger("mode")); + dataWatcher.updateObject(17, nbt.getInteger("sat")); timer = nbt.getInteger("timer"); } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { nbt.setInteger("mode", dataWatcher.getWatchableObjectInt(16)); + nbt.setInteger("sat", dataWatcher.getWatchableObjectInt(17)); nbt.setInteger("timer", timer); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index 0cbbc7209..03849305e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -5,6 +5,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.entity.missile.EntityMinerRocket; +import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemSatChip; import com.hbm.saveddata.SatelliteSavedData; @@ -221,6 +222,7 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent rocket.posX = xCoord + 0.5; rocket.posY = 300; rocket.posZ = zCoord + 0.5; + rocket.getDataWatcher().updateObject(17, freq); worldObj.spawnEntityInWorld(rocket); miner.lastOp = System.currentTimeMillis(); data.markDirty(); @@ -236,6 +238,12 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent EntityMinerRocket rocket = (EntityMinerRocket)e; + if(slots[15] != null && ItemSatChip.getFreq(slots[15]) != rocket.getDataWatcher().getWatchableObjectInt(17)) { + rocket.setDead(); + ExplosionNukeSmall.explode(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, ExplosionNukeSmall.tots); + break; + } + if(rocket.getDataWatcher().getWatchableObjectInt(16) == 1 && rocket.timer == 50) { unloadCargo(); }