mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Updated radar with better base class, implemented IRadarDetectable
This commit is contained in:
parent
e7df37f771
commit
cef5fbecf2
@ -13,8 +13,9 @@ public interface IRadarDetectable {
|
||||
MISSILE_15, //size 15 custom missiles
|
||||
MISSILE_15_20, //size 15/20 custom missiles
|
||||
MISSILE_20, //size 20 custom missiles
|
||||
MISSILE_AB, //anti ballistic missile
|
||||
PLAYER, //airborne players
|
||||
}
|
||||
|
||||
//TODO: rewrite the crappy radaar TE code and implement the API
|
||||
public RadarTargetType getTargetType();
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
import com.hbm.entity.particle.EntitySmokeFX;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
@ -15,7 +16,7 @@ import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileAntiBallistic extends Entity {
|
||||
public class EntityMissileAntiBallistic extends Entity implements IRadarDetectable {
|
||||
|
||||
int activationTimer;
|
||||
|
||||
@ -157,4 +158,9 @@ public class EntityMissileAntiBallistic extends Entity {
|
||||
return distance < 500000;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_AB;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -52,8 +52,8 @@ public class EntityMissileBHole extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -10,6 +10,7 @@ import com.hbm.packet.AuxParticlePacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineRadar;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -26,7 +27,7 @@ import net.minecraftforge.common.ForgeChunkManager;
|
||||
import net.minecraftforge.common.ForgeChunkManager.Ticket;
|
||||
import net.minecraftforge.common.ForgeChunkManager.Type;
|
||||
|
||||
public abstract class EntityMissileBaseAdvanced extends Entity implements IChunkLoader {
|
||||
public abstract class EntityMissileBaseAdvanced extends Entity implements IChunkLoader, IRadarDetectable {
|
||||
|
||||
int startX;
|
||||
int startZ;
|
||||
@ -261,8 +262,6 @@ public abstract class EntityMissileBaseAdvanced extends Entity implements IChunk
|
||||
|
||||
public abstract void onImpact();
|
||||
|
||||
public abstract int getMissileType();
|
||||
|
||||
public abstract List<ItemStack> getDebris();
|
||||
|
||||
public abstract ItemStack getDebrisRareDrop();
|
||||
|
||||
@ -48,8 +48,8 @@ public class EntityMissileBunkerBuster extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -44,7 +45,7 @@ public class EntityMissileBurst extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 2;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -48,7 +49,7 @@ public class EntityMissileBusterStrong extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 1;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -48,7 +49,7 @@ public class EntityMissileCluster extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -49,7 +50,7 @@ public class EntityMissileClusterStrong extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 1;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,8 @@ package com.hbm.entity.missile;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -104,8 +106,7 @@ public class EntityMissileDoomsday extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 3;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -48,7 +49,7 @@ public class EntityMissileDrill extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 2;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import com.hbm.entity.effect.EntityEMPBlast;
|
||||
import com.hbm.explosion.ExplosionNukeGeneric;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -53,8 +54,7 @@ public class EntityMissileEMP extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.entity.logic.EntityEMP;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -48,7 +49,7 @@ public class EntityMissileEMPStrong extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 1;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionThermo;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -45,7 +46,7 @@ public class EntityMissileEndo extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 3;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionThermo;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -45,7 +46,7 @@ public class EntityMissileExo extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 3;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -41,8 +42,8 @@ public class EntityMissileGeneric extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER1;
|
||||
}
|
||||
|
||||
/*public EntityMissileGeneric(World p_i1582_1_) {
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -41,8 +42,7 @@ public class EntityMissileIncendiary extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -44,7 +45,7 @@ public class EntityMissileIncendiaryStrong extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 1;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -45,7 +46,7 @@ public class EntityMissileInferno extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 2;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import com.hbm.explosion.ExplosionParticleB;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -72,8 +73,7 @@ public class EntityMissileMicro extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -52,7 +53,7 @@ public class EntityMissileMirv extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 3;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER4;
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -59,8 +60,7 @@ public class EntityMissileNuclear extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 3;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -49,7 +50,7 @@ public class EntityMissileRain extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 2;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -63,8 +64,7 @@ public class EntityMissileSchrabidium extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -42,8 +43,7 @@ public class EntityMissileStrong extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 1;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.bomb.BlockTaint;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -52,7 +53,7 @@ public class EntityMissileTaint extends EntityMissileBaseAdvanced {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 0;
|
||||
public RadarTargetType getTargetType() {
|
||||
return RadarTargetType.MISSILE_TIER0;
|
||||
}
|
||||
}
|
||||
|
||||
3
src/main/java/com/hbm/interfaces/Untested.java
Normal file
3
src/main/java/com/hbm/interfaces/Untested.java
Normal file
@ -0,0 +1,3 @@
|
||||
package com.hbm.interfaces;
|
||||
|
||||
public @interface Untested { }
|
||||
@ -253,9 +253,10 @@ public class GUIScreenSatInterface extends GuiScreen {
|
||||
|
||||
int t = 5;
|
||||
|
||||
if(e instanceof EntityMissileBaseAdvanced) {
|
||||
//TODO: fix radar screen implementation
|
||||
/*if(e instanceof EntityMissileBaseAdvanced) {
|
||||
t = ((EntityMissileBaseAdvanced)e).getMissileType();
|
||||
}
|
||||
}*/
|
||||
|
||||
if(e instanceof EntityMob) {
|
||||
t = 6;
|
||||
|
||||
@ -6,12 +6,16 @@ import java.util.List;
|
||||
import com.hbm.entity.missile.EntityMissileAntiBallistic;
|
||||
import com.hbm.entity.missile.EntityMissileBaseAdvanced;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.Untested;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TERadarDestructorPacket;
|
||||
import com.hbm.packet.TERadarPacket;
|
||||
import com.hbm.tileentity.TileEntityTickingBase;
|
||||
|
||||
import api.hbm.energy.IRadarDetectable;
|
||||
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -21,16 +25,22 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
public class TileEntityMachineRadar extends TileEntity implements IConsumer {
|
||||
@Untested
|
||||
public class TileEntityMachineRadar extends TileEntityTickingBase implements IConsumer {
|
||||
|
||||
public static List<EntityMissileBaseAdvanced> allMissiles = new ArrayList();
|
||||
public List<int[]> nearbyMissiles = new ArrayList();
|
||||
int pingTimer = 0;
|
||||
int lastPower;
|
||||
final static int maxTimer = 40;
|
||||
|
||||
public long power = 0;
|
||||
public static final int maxPower = 100000;
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
@ -51,31 +61,32 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
|
||||
if(this.yCoord < MainRegistry.radarAltitude)
|
||||
return;
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
nearbyMissiles.clear();
|
||||
int lastPower = getRedPower();
|
||||
|
||||
if(power > 0) {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
if(!worldObj.isRemote) {
|
||||
nearbyMissiles.clear();
|
||||
|
||||
if(power > 0) {
|
||||
|
||||
allocateMissiles();
|
||||
sendMissileData();
|
||||
|
||||
power -= 500;
|
||||
|
||||
if(power < 0)
|
||||
power = 0;
|
||||
}
|
||||
|
||||
power -= 500;
|
||||
if(power < 0)
|
||||
power = 0;
|
||||
}
|
||||
|
||||
worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, getBlockType());
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
|
||||
|
||||
pingTimer++;
|
||||
|
||||
if(power > 0 && pingTimer >= maxTimer) {
|
||||
this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.sonarPing", 5.0F, 1.0F);
|
||||
pingTimer = 0;
|
||||
if(lastPower != getRedPower())
|
||||
worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, getBlockType());
|
||||
|
||||
sendMissileData();
|
||||
|
||||
pingTimer++;
|
||||
|
||||
if(power > 0 && pingTimer >= maxTimer) {
|
||||
this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.sonarPing", 5.0F, 1.0F);
|
||||
pingTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -86,41 +97,15 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
|
||||
List<Entity> list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord + 0.5 - MainRegistry.radarRange, 0, zCoord + 0.5 - MainRegistry.radarRange, xCoord + 0.5 + MainRegistry.radarRange, 5000, zCoord + 0.5 + MainRegistry.radarRange));
|
||||
|
||||
for(Entity e : list) {
|
||||
/*if(e instanceof EntityMissileBaseAdvanced) {
|
||||
EntityMissileBaseAdvanced mis = (EntityMissileBaseAdvanced)e;
|
||||
nearbyMissiles.add(new int[] { (int)mis.posX, (int)mis.posZ, mis.getMissileType() });
|
||||
}*/
|
||||
|
||||
/*if(e instanceof EntityRocketHoming && e.posY >= yCoord + MainRegistry.radarBuffer) {
|
||||
EntityRocketHoming rocket = (EntityRocketHoming)e;
|
||||
|
||||
if(rocket.getIsCritical())
|
||||
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 7, (int)e.posY });
|
||||
else
|
||||
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 6, (int)e.posY });
|
||||
|
||||
continue;
|
||||
}*/
|
||||
|
||||
if(e instanceof EntityPlayer && e.posY >= yCoord + MainRegistry.radarBuffer) {
|
||||
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 5, (int)e.posY });
|
||||
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, RadarTargetType.PLAYER.ordinal(), (int)e.posY });
|
||||
}
|
||||
|
||||
if(e instanceof EntityMissileAntiBallistic && e.posY >= yCoord + MainRegistry.radarBuffer) {
|
||||
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 4, (int)e.posY });
|
||||
if(e instanceof IRadarDetectable && e.posY >= yCoord + MainRegistry.radarBuffer) {
|
||||
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, ((IRadarDetectable)e).getTargetType().ordinal(), (int)e.posY });
|
||||
}
|
||||
}
|
||||
|
||||
for(Entity e : allMissiles) {
|
||||
if(e != null && !e.isDead && e.posY >= yCoord + MainRegistry.radarBuffer)
|
||||
if(e instanceof EntityMissileBaseAdvanced) {
|
||||
if(e.posX < xCoord + MainRegistry.radarRange && e.posX > xCoord - MainRegistry.radarRange &&
|
||||
e.posZ < zCoord + MainRegistry.radarRange && e.posZ > zCoord - MainRegistry.radarRange) {
|
||||
EntityMissileBaseAdvanced mis = (EntityMissileBaseAdvanced)e;
|
||||
nearbyMissiles.add(new int[] { (int)mis.posX, (int)mis.posZ, mis.getMissileType(), (int)mis.posY });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getRedPower() {
|
||||
@ -149,10 +134,35 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
|
||||
|
||||
private void sendMissileData() {
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new TERadarDestructorPacket(xCoord, yCoord, zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setLong("power", power);
|
||||
data.setInteger("count", this.nearbyMissiles.size());
|
||||
|
||||
for(int[] e : this.nearbyMissiles) {
|
||||
PacketDispatcher.wrapper.sendToAllAround(new TERadarPacket(xCoord, yCoord, zCoord, e[0], e[1], e[2], e[3]), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
for(int i = 0; i < this.nearbyMissiles.size(); i++) {
|
||||
data.setInteger("x" + i, this.nearbyMissiles.get(i)[0]);
|
||||
data.setInteger("z" + i, this.nearbyMissiles.get(i)[1]);
|
||||
data.setInteger("type" + i, this.nearbyMissiles.get(i)[2]);
|
||||
data.setInteger("y" + i, this.nearbyMissiles.get(i)[3]);
|
||||
}
|
||||
|
||||
this.networkPack(data, 15);
|
||||
}
|
||||
|
||||
public void networkUnpack(NBTTagCompound data) {
|
||||
|
||||
this.nearbyMissiles.clear();
|
||||
this.power = data.getLong("power");
|
||||
|
||||
int count = data.getInteger("count");
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
|
||||
int x = data.getInteger("x" + i);
|
||||
int z = data.getInteger("z" + i);
|
||||
int type = data.getInteger("type" + i);
|
||||
int y = data.getInteger("y" + i);
|
||||
|
||||
this.nearbyMissiles.add(new int[] {x, z, type, y});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user