Fixed pathfinder NPE and EM Contractor model

This commit is contained in:
Calclavia 2013-08-04 11:18:39 -04:00
parent 1fd0bac321
commit dc9cf65660
4 changed files with 31 additions and 20 deletions

View file

@ -33,7 +33,7 @@ public class BlockEMContractor extends BlockBase implements ITileEntityProvider
@Override
public boolean onBlockActivated(World world, int par2, int par3, int par4, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9)
{
TileEntityEMContractor contractor = (TileEntityEMContractor) par1World.getBlockTileEntity(par2, par3, par4);
TileEntityEMContractor contractor = (TileEntityEMContractor) world.getBlockTileEntity(par2, par3, par4);
if (entityPlayer.getCurrentEquippedItem() != null)
{
@ -41,12 +41,12 @@ public class BlockEMContractor extends BlockBase implements ITileEntityProvider
{
ItemCoordLink link = ((ItemCoordLink) entityPlayer.getCurrentEquippedItem().getItem());
Vector3 linkVec = link.getLink(entityPlayer.getCurrentEquippedItem());
if (linkVec != null)
{
if(linkVec.getTileEntity(world) instanceof TileEntityEMContractor)
if (linkVec.getTileEntity(world) instanceof TileEntityEMContractor)
{
contractor.setLink((TileEntityEMContractor)linkVec.getTileEntity(world));
contractor.setLink((TileEntityEMContractor) linkVec.getTileEntity(world));
}
}

View file

@ -35,6 +35,16 @@ public class Pathfinder
public boolean find(Vector3 start)
{
/**
* Instantiate Variables
*/
this.openSet = new HashSet<Vector3>();
this.closedSet = new HashSet<Vector3>();
this.navMap = new HashMap<Vector3, Vector3>();
this.gScore = new HashMap<Vector3, Double>();
this.fScore = new HashMap<Vector3, Double>();
this.results = new HashSet<Vector3>();
this.openSet.add(start);
this.gScore.put(start, (double) 0);
this.fScore.put(start, this.gScore.get(start) + getEstimate(start, this.target));

View file

@ -443,8 +443,8 @@ public class TileEntityEMContractor extends TileEntityBase implements IPacketRec
if (this.linked != null)
{
this.pathfinder = new Pathfinder(new Vector3(this.linked));
this.pathfinder.find(new Vector3(this));
this.pathfinder = new Pathfinder(new Vector3(this));
this.pathfinder.find(new Vector3(this.linked));
}
}
}

View file

@ -5,6 +5,7 @@ import net.minecraft.client.model.ModelRenderer;
public class ModelEMContractor extends ModelBase
{
// fields
ModelRenderer frame1;
ModelRenderer frame2;
ModelRenderer frame3;
@ -114,8 +115,8 @@ public class ModelEMContractor extends ModelBase
right_frame_connector.mirror = true;
setRotation(right_frame_connector, 0F, 0F, 0F);
teslapole = new ModelRenderer(this, 0, 0);
teslapole.addBox(0F, 0F, 0F, 2, 15, 2);
teslapole.setRotationPoint(-1F, 8F, -1F);
teslapole.addBox(-1F, -1F, -1F, 2, 15, 2);
teslapole.setRotationPoint(0F, 9F, 0F);
teslapole.setTextureSize(128, 128);
teslapole.mirror = true;
setRotation(teslapole, 0F, 0F, 0F);
@ -168,26 +169,26 @@ public class ModelEMContractor extends ModelBase
base4.mirror = true;
setRotation(base4, 0F, 0F, 0F);
pole1 = new ModelRenderer(this, 5, 26);
pole1.addBox(0F, 0F, 0F, 1, 6, 1);
pole1.setRotationPoint(-0.5F, 17F, 6F);
pole1.addBox(-0.5F, -1F, -0.5F, 1, 6, 1);
pole1.setRotationPoint(0F, 18F, 6.5F);
pole1.setTextureSize(128, 128);
pole1.mirror = true;
setRotation(pole1, 0F, 0F, 0F);
pole2 = new ModelRenderer(this, 5, 26);
pole2.addBox(0F, 0F, 0F, 1, 6, 1);
pole2.setRotationPoint(-0.5F, 17F, -7F);
pole2.addBox(-0.5F, -1F, -0.5F, 1, 6, 1);
pole2.setRotationPoint(0F, 18F, -6.5F);
pole2.setTextureSize(128, 128);
pole2.mirror = true;
setRotation(pole2, 0F, 0F, 0F);
pole3 = new ModelRenderer(this, 5, 26);
pole3.addBox(0F, 0F, 0F, 1, 6, 1);
pole3.setRotationPoint(-7F, 17F, -0.5F);
pole3.addBox(-0.5F, -1F, -0.5F, 1, 6, 1);
pole3.setRotationPoint(-6.5F, 18F, 0F);
pole3.setTextureSize(128, 128);
pole3.mirror = true;
setRotation(pole3, 0F, 0F, 0F);
pole4 = new ModelRenderer(this, 5, 26);
pole4.addBox(0F, 0F, 0F, 1, 6, 1);
pole4.setRotationPoint(6F, 17F, -0.5F);
pole4.addBox(-0.5F, -1F, -0.5F, 1, 6, 1);
pole4.setRotationPoint(6.5F, 18F, 0F);
pole4.setTextureSize(128, 128);
pole4.mirror = true;
setRotation(pole4, 0F, 0F, 0F);
@ -227,10 +228,10 @@ public class ModelEMContractor extends ModelBase
{
if (rotate)
{
Coil1.rotateAngleY = (float)Math.toRadians(Math.toDegrees(Coil1.rotateAngleY)+3 < 360 ? Math.toDegrees(Coil1.rotateAngleY)+3 : 0);
coil2.rotateAngleY = (float)Math.toRadians(Math.toDegrees(coil2.rotateAngleY)+3 < 360 ? Math.toDegrees(coil2.rotateAngleY)+3 : 0);
coil3.rotateAngleY = (float)Math.toRadians(Math.toDegrees(coil3.rotateAngleY)+3 < 360 ? Math.toDegrees(coil3.rotateAngleY)+3 : 0);
coil4.rotateAngleY = (float)Math.toRadians(Math.toDegrees(coil4.rotateAngleY)+3 < 360 ? Math.toDegrees(coil4.rotateAngleY)+3 : 0);
Coil1.rotateAngleY = (float) Math.toRadians(Math.toDegrees(Coil1.rotateAngleY) + 3 < 360 ? Math.toDegrees(Coil1.rotateAngleY) + 3 : 0);
coil2.rotateAngleY = (float) Math.toRadians(Math.toDegrees(coil2.rotateAngleY) + 3 < 360 ? Math.toDegrees(coil2.rotateAngleY) + 3 : 0);
coil3.rotateAngleY = (float) Math.toRadians(Math.toDegrees(coil3.rotateAngleY) + 3 < 360 ? Math.toDegrees(coil3.rotateAngleY) + 3 : 0);
coil4.rotateAngleY = (float) Math.toRadians(Math.toDegrees(coil4.rotateAngleY) + 3 < 360 ? Math.toDegrees(coil4.rotateAngleY) + 3 : 0);
}
frame1.render(f5);