Skip to content

Commit

Permalink
Work on fixing Landmine, needs to be tested
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander committed Feb 3, 2014
1 parent e40f37f commit 67faf8a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 21 deletions.
2 changes: 1 addition & 1 deletion src/main/java/tconstruct/TConstruct.java
Expand Up @@ -60,7 +60,7 @@ public class TConstruct
public static TProxyCommon proxy;

//The name of the enum is accompanied by numbers because I have no idea what will happen if another mod will try to add the same enum, just to be safe
public static EnumCreatureType creatureTypePlayer = EnumHelper.addCreatureType("PLAYER_5821443", EntityPlayer.class, 0, Material.field_151579_a, true);
//public static EnumCreatureType creatureTypePlayer = EnumHelper.addCreatureType("PLAYER_5821443", EntityPlayer.class, 0, Material.field_151579_a, true);

//The packet pipeline
public static final PacketPipeline packetPipeline = new PacketPipeline();
Expand Down
42 changes: 22 additions & 20 deletions src/main/java/tconstruct/blocks/BlockLandmine.java
Expand Up @@ -53,6 +53,7 @@ public class BlockLandmine extends BlockContainer

// Should explode when broken instead of dropping items(may not actually work
boolean explodeOnBroken = false;
private Sensitivity field_150069_a;

public BlockLandmine()
{
Expand Down Expand Up @@ -457,11 +458,14 @@ private boolean hasItems (World par1World, int par2, int par3, int par4)
return false;
}
}

public static enum Sensitivity
{
everything, mobs, players;
}

protected int getMineState (World par1World, int par2, int par3, int par4)
{
EnumCreatureType triggerMobType;

TileEntityLandmine te = (TileEntityLandmine) par1World.func_147438_o(par2, par3, par4);

// Change to return 1 if you want the landmine to blow up when the block
Expand All @@ -473,34 +477,34 @@ protected int getMineState (World par1World, int par2, int par3, int par4)
switch (te.triggerType)
{
case 0:
triggerMobType = EnumCreatureType.creature;
field_150069_a = Sensitivity.everything;
break;
case 1:
triggerMobType = EnumCreatureType.monster;
field_150069_a = Sensitivity.mobs;
break;
case 2:
triggerMobType = TConstruct.creatureTypePlayer;
field_150069_a = Sensitivity.players;
break;
default:
triggerMobType = null;
field_150069_a = null;
break;
}

if (triggerMobType != null)
if (field_150069_a != null)
{
List list = null;

if (triggerMobType == EnumCreatureType.creature)
if (field_150069_a == Sensitivity.everything)
{
list = par1World.getEntitiesWithinAABBExcludingEntity((Entity) null, getSensitiveAABB(par1World, par2, par3, par4));
}

if (triggerMobType == EnumCreatureType.monster)
if (field_150069_a == Sensitivity.mobs)
{
list = par1World.getEntitiesWithinAABB(EntityLivingBase.class, getSensitiveAABB(par1World, par2, par3, par4));
}

if (triggerMobType == TConstruct.creatureTypePlayer)
if (field_150069_a == Sensitivity.players)
{
list = par1World.getEntitiesWithinAABB(EntityPlayer.class, this.getSensitiveAABB(par1World, par2, par3, par4));
}
Expand Down Expand Up @@ -558,8 +562,6 @@ protected AxisAlignedBB getSensitiveAABB (World par1World, int par2, int par3, i
public Entity getMineTriggerer (World par1World, int par2, int par3, int par4)
{

EnumCreatureType triggerMobType;

TileEntityLandmine te = (TileEntityLandmine) par1World.func_147438_o(par2, par3, par4);

// Change to return 1 if you want the landmine to blow up when the
Expand All @@ -571,34 +573,34 @@ public Entity getMineTriggerer (World par1World, int par2, int par3, int par4)
switch (te.triggerType)
{
case 0:
triggerMobType = EnumCreatureType.creature;
field_150069_a = Sensitivity.everything;
break;
case 1:
triggerMobType = EnumCreatureType.monster;
field_150069_a = Sensitivity.mobs;
break;
case 2:
triggerMobType = TConstruct.creatureTypePlayer;
field_150069_a = Sensitivity.players;
break;
default:
triggerMobType = null;
field_150069_a = null;
break;
}

if (triggerMobType != null)
if (field_150069_a != null)
{
List list = null;

if (triggerMobType == EnumCreatureType.creature)
if (field_150069_a == Sensitivity.everything)
{
list = par1World.getEntitiesWithinAABBExcludingEntity((Entity) null, AxisAlignedBB.getAABBPool().getAABB(par2 + 0D, par3 + 0D, par4 + 0D, par2 + 1D, par3 + 1D, par4 + 1D));
}

if (triggerMobType == EnumCreatureType.monster)
if (field_150069_a == Sensitivity.mobs)
{
list = par1World.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getAABBPool().getAABB(par2 + 0D, par3 + 0D, par4 + 0D, par2 + 1D, par3 + 1D, par4 + 1D));
}

if (triggerMobType == TConstruct.creatureTypePlayer)
if (field_150069_a == Sensitivity.players)
{
list = par1World.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB(par2 + 0D, par3 + 0D, par4 + 0D, par2 + 1D, par3 + 1D, par4 + 1D));
}
Expand Down

0 comments on commit 67faf8a

Please sign in to comment.