Formation Plane fixed

This commit is contained in:
AlgorithmX2
2014-06-29 21:05:19 -05:00
+29 -10
View File
@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
@@ -445,21 +446,39 @@ public class PartFormationPlane extends PartUpgradeable implements ICellContaine
{ {
if ( type == Actionable.MODULATE ) if ( type == Actionable.MODULATE )
{ {
is.stackSize = (int) maxStorage; is.stackSize = (int) maxStorage;
if ( type == Actionable.MODULATE ) EntityItem ei = new EntityItem( w, // w
((side.offsetX != 0 ? 0.0 : 0.7) * (Platform.getRandomFloat() - 0.5f)) + 0.5 + side.offsetX * -0.3 + (double) x, // spawn
((side.offsetY != 0 ? 0.0 : 0.7) * (Platform.getRandomFloat() - 0.5f)) + 0.5 + side.offsetY * -0.3 + (double) y, // spawn
((side.offsetZ != 0 ? 0.0 : 0.7) * (Platform.getRandomFloat() - 0.5f)) + 0.5 + side.offsetZ * -0.3 + (double) z, // spawn
is.copy() );
Entity result = ei;
ei.motionX = side.offsetX * 0.2;
ei.motionY = side.offsetY * 0.2;
ei.motionZ = side.offsetZ * 0.2;
if ( is.getItem().hasCustomEntity( is ) )
{ {
EntityItem ei = new EntityItem( w, // w result = is.getItem().createEntity( w, ei, is );
((side.offsetX != 0 ? 0.0 : 0.7) * (Platform.getRandomFloat() - 0.5f)) + 0.5 + side.offsetX * -0.3 + (double) x, // spawn if ( result != null )
((side.offsetY != 0 ? 0.0 : 0.7) * (Platform.getRandomFloat() - 0.5f)) + 0.5 + side.offsetY * -0.3 + (double) y, // spawn ei.setDead();
((side.offsetZ != 0 ? 0.0 : 0.7) * (Platform.getRandomFloat() - 0.5f)) + 0.5 + side.offsetZ * -0.3 + (double) z, // spawn else
is.copy() ); result = ei;
ei.motionX = side.offsetX * 0.2;
ei.motionY = side.offsetY * 0.2;
ei.motionZ = side.offsetZ * 0.2;
w.spawnEntityInWorld( ei );
} }
if ( !w.spawnEntityInWorld( result ) )
{
result.setDead();
worked = false;
}
} }
} }
else
worked = false;
} }
} }