mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-03-10 03:35:36 +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, //size 15 custom missiles
|
||||||
MISSILE_15_20, //size 15/20 custom missiles
|
MISSILE_15_20, //size 15/20 custom missiles
|
||||||
MISSILE_20, //size 20 custom missiles
|
MISSILE_20, //size 20 custom missiles
|
||||||
|
MISSILE_AB, //anti ballistic missile
|
||||||
PLAYER, //airborne players
|
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.entity.particle.EntitySmokeFX;
|
||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
@ -15,7 +16,7 @@ import net.minecraft.util.MathHelper;
|
|||||||
import net.minecraft.util.Vec3;
|
import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class EntityMissileAntiBallistic extends Entity {
|
public class EntityMissileAntiBallistic extends Entity implements IRadarDetectable {
|
||||||
|
|
||||||
int activationTimer;
|
int activationTimer;
|
||||||
|
|
||||||
@ -157,4 +158,9 @@ public class EntityMissileAntiBallistic extends Entity {
|
|||||||
return distance < 500000;
|
return distance < 500000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RadarTargetType getTargetType() {
|
||||||
|
return RadarTargetType.MISSILE_AB;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,8 +52,8 @@ public class EntityMissileBHole extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
return RadarTargetType.MISSILE_TIER0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import com.hbm.packet.AuxParticlePacket;
|
|||||||
import com.hbm.packet.PacketDispatcher;
|
import com.hbm.packet.PacketDispatcher;
|
||||||
import com.hbm.tileentity.machine.TileEntityMachineRadar;
|
import com.hbm.tileentity.machine.TileEntityMachineRadar;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable;
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
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.Ticket;
|
||||||
import net.minecraftforge.common.ForgeChunkManager.Type;
|
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 startX;
|
||||||
int startZ;
|
int startZ;
|
||||||
@ -261,8 +262,6 @@ public abstract class EntityMissileBaseAdvanced extends Entity implements IChunk
|
|||||||
|
|
||||||
public abstract void onImpact();
|
public abstract void onImpact();
|
||||||
|
|
||||||
public abstract int getMissileType();
|
|
||||||
|
|
||||||
public abstract List<ItemStack> getDebris();
|
public abstract List<ItemStack> getDebris();
|
||||||
|
|
||||||
public abstract ItemStack getDebrisRareDrop();
|
public abstract ItemStack getDebrisRareDrop();
|
||||||
|
|||||||
@ -48,8 +48,8 @@ public class EntityMissileBunkerBuster extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
return RadarTargetType.MISSILE_TIER1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ public class EntityMissileBurst extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 2;
|
return RadarTargetType.MISSILE_TIER3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -48,7 +49,7 @@ public class EntityMissileBusterStrong extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 1;
|
return RadarTargetType.MISSILE_TIER2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionChaos;
|
import com.hbm.explosion.ExplosionChaos;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -48,7 +49,7 @@ public class EntityMissileCluster extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
return RadarTargetType.MISSILE_TIER1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionChaos;
|
import com.hbm.explosion.ExplosionChaos;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ public class EntityMissileClusterStrong extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 1;
|
return RadarTargetType.MISSILE_TIER2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,8 @@ package com.hbm.entity.missile;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -104,8 +106,7 @@ public class EntityMissileDoomsday extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 3;
|
return RadarTargetType.MISSILE_TIER4;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -48,7 +49,7 @@ public class EntityMissileDrill extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 2;
|
return RadarTargetType.MISSILE_TIER3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.hbm.entity.effect.EntityEMPBlast;
|
|||||||
import com.hbm.explosion.ExplosionNukeGeneric;
|
import com.hbm.explosion.ExplosionNukeGeneric;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -53,8 +54,7 @@ public class EntityMissileEMP extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
return RadarTargetType.MISSILE_TIER0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.entity.logic.EntityEMP;
|
import com.hbm.entity.logic.EntityEMP;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -48,7 +49,7 @@ public class EntityMissileEMPStrong extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 1;
|
return RadarTargetType.MISSILE_TIER2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionThermo;
|
import com.hbm.explosion.ExplosionThermo;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -45,7 +46,7 @@ public class EntityMissileEndo extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 3;
|
return RadarTargetType.MISSILE_TIER3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionThermo;
|
import com.hbm.explosion.ExplosionThermo;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -45,7 +46,7 @@ public class EntityMissileExo extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 3;
|
return RadarTargetType.MISSILE_TIER3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -41,8 +42,8 @@ public class EntityMissileGeneric extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
return RadarTargetType.MISSILE_TIER1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*public EntityMissileGeneric(World p_i1582_1_) {
|
/*public EntityMissileGeneric(World p_i1582_1_) {
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -41,8 +42,7 @@ public class EntityMissileIncendiary extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
return RadarTargetType.MISSILE_TIER1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import com.hbm.explosion.ExplosionChaos;
|
|||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ public class EntityMissileIncendiaryStrong extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 1;
|
return RadarTargetType.MISSILE_TIER2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import com.hbm.explosion.ExplosionChaos;
|
|||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -45,7 +46,7 @@ public class EntityMissileInferno extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 2;
|
return RadarTargetType.MISSILE_TIER3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import com.hbm.explosion.ExplosionParticleB;
|
|||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.main.MainRegistry;
|
import com.hbm.main.MainRegistry;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -72,8 +73,7 @@ public class EntityMissileMicro extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
return RadarTargetType.MISSILE_TIER0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
|||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.main.MainRegistry;
|
import com.hbm.main.MainRegistry;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -52,7 +53,7 @@ public class EntityMissileMirv extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 3;
|
return RadarTargetType.MISSILE_TIER4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
|||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.main.MainRegistry;
|
import com.hbm.main.MainRegistry;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -59,8 +60,7 @@ public class EntityMissileNuclear extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 3;
|
return RadarTargetType.MISSILE_TIER4;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionChaos;
|
import com.hbm.explosion.ExplosionChaos;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ public class EntityMissileRain extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 2;
|
return RadarTargetType.MISSILE_TIER3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
|||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.main.MainRegistry;
|
import com.hbm.main.MainRegistry;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -63,8 +64,7 @@ public class EntityMissileSchrabidium extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
return RadarTargetType.MISSILE_TIER0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import java.util.List;
|
|||||||
import com.hbm.explosion.ExplosionLarge;
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -42,8 +43,7 @@ public class EntityMissileStrong extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 1;
|
return RadarTargetType.MISSILE_TIER2;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import com.hbm.blocks.ModBlocks;
|
|||||||
import com.hbm.blocks.bomb.BlockTaint;
|
import com.hbm.blocks.bomb.BlockTaint;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
import api.hbm.energy.IRadarDetectable.RadarTargetType;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
@ -52,7 +53,7 @@ public class EntityMissileTaint extends EntityMissileBaseAdvanced {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMissileType() {
|
public RadarTargetType getTargetType() {
|
||||||
return 0;
|
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;
|
int t = 5;
|
||||||
|
|
||||||
if(e instanceof EntityMissileBaseAdvanced) {
|
//TODO: fix radar screen implementation
|
||||||
|
/*if(e instanceof EntityMissileBaseAdvanced) {
|
||||||
t = ((EntityMissileBaseAdvanced)e).getMissileType();
|
t = ((EntityMissileBaseAdvanced)e).getMissileType();
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if(e instanceof EntityMob) {
|
if(e instanceof EntityMob) {
|
||||||
t = 6;
|
t = 6;
|
||||||
|
|||||||
@ -6,12 +6,16 @@ import java.util.List;
|
|||||||
import com.hbm.entity.missile.EntityMissileAntiBallistic;
|
import com.hbm.entity.missile.EntityMissileAntiBallistic;
|
||||||
import com.hbm.entity.missile.EntityMissileBaseAdvanced;
|
import com.hbm.entity.missile.EntityMissileBaseAdvanced;
|
||||||
import com.hbm.interfaces.IConsumer;
|
import com.hbm.interfaces.IConsumer;
|
||||||
|
import com.hbm.interfaces.Untested;
|
||||||
import com.hbm.main.MainRegistry;
|
import com.hbm.main.MainRegistry;
|
||||||
import com.hbm.packet.AuxElectricityPacket;
|
import com.hbm.packet.AuxElectricityPacket;
|
||||||
import com.hbm.packet.PacketDispatcher;
|
import com.hbm.packet.PacketDispatcher;
|
||||||
import com.hbm.packet.TERadarDestructorPacket;
|
import com.hbm.packet.TERadarDestructorPacket;
|
||||||
import com.hbm.packet.TERadarPacket;
|
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.common.network.NetworkRegistry.TargetPoint;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
@ -21,16 +25,22 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
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();
|
public List<int[]> nearbyMissiles = new ArrayList();
|
||||||
int pingTimer = 0;
|
int pingTimer = 0;
|
||||||
|
int lastPower;
|
||||||
final static int maxTimer = 40;
|
final static int maxTimer = 40;
|
||||||
|
|
||||||
public long power = 0;
|
public long power = 0;
|
||||||
public static final int maxPower = 100000;
|
public static final int maxPower = 100000;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getInventoryName() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readFromNBT(NBTTagCompound nbt) {
|
public void readFromNBT(NBTTagCompound nbt) {
|
||||||
super.readFromNBT(nbt);
|
super.readFromNBT(nbt);
|
||||||
@ -51,25 +61,25 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
|
|||||||
if(this.yCoord < MainRegistry.radarAltitude)
|
if(this.yCoord < MainRegistry.radarAltitude)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(!worldObj.isRemote)
|
int lastPower = getRedPower();
|
||||||
|
|
||||||
|
if(!worldObj.isRemote) {
|
||||||
nearbyMissiles.clear();
|
nearbyMissiles.clear();
|
||||||
|
|
||||||
if(power > 0) {
|
if(power > 0) {
|
||||||
|
|
||||||
if(!worldObj.isRemote) {
|
|
||||||
allocateMissiles();
|
allocateMissiles();
|
||||||
sendMissileData();
|
|
||||||
}
|
|
||||||
|
|
||||||
power -= 500;
|
power -= 500;
|
||||||
|
|
||||||
if(power < 0)
|
if(power < 0)
|
||||||
power = 0;
|
power = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(lastPower != getRedPower())
|
||||||
worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, getBlockType());
|
worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, getBlockType());
|
||||||
|
|
||||||
if(!worldObj.isRemote)
|
sendMissileData();
|
||||||
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
|
|
||||||
|
|
||||||
pingTimer++;
|
pingTimer++;
|
||||||
|
|
||||||
@ -78,6 +88,7 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
|
|||||||
pingTimer = 0;
|
pingTimer = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void allocateMissiles() {
|
private void allocateMissiles() {
|
||||||
|
|
||||||
@ -86,39 +97,13 @@ 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));
|
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) {
|
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) {
|
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) {
|
if(e instanceof IRadarDetectable && e.posY >= yCoord + MainRegistry.radarBuffer) {
|
||||||
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 4, (int)e.posY });
|
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 });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -149,10 +134,35 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
|
|||||||
|
|
||||||
private void sendMissileData() {
|
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) {
|
for(int i = 0; i < this.nearbyMissiles.size(); i++) {
|
||||||
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));
|
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