use piston orientation way for determining dir

This commit is contained in:
Raoul Van den Berge
2015-12-17 20:00:16 +01:00
parent 16c66d2be1
commit e32a94cc3c
5 changed files with 6 additions and 25 deletions

View File

@@ -42,7 +42,7 @@ public class BlockDrive extends BlockSC implements ITileEntityProvider {
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
TileDrive tile = (TileDrive) world.getTileEntity(x, y, z); TileDrive tile = (TileDrive) world.getTileEntity(x, y, z);
if (side == tile.getDirection().getOpposite().ordinal()) { if (side == tile.getDirection().ordinal()) {
return frontIcon; return frontIcon;
} }

View File

@@ -44,7 +44,7 @@ public class BlockGrid extends BlockSC implements ITileEntityProvider {
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
TileGrid tile = (TileGrid) world.getTileEntity(x, y, z); TileGrid tile = (TileGrid) world.getTileEntity(x, y, z);
if (side == tile.getDirection().getOpposite().ordinal()) { if (side == tile.getDirection().ordinal()) {
return tile.isConnected() ? connectedIcon : disconnectedIcon; return tile.isConnected() ? connectedIcon : disconnectedIcon;
} }

View File

@@ -1,12 +1,12 @@
package storagecraft.block; package storagecraft.block;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import storagecraft.SC; import storagecraft.SC;
@@ -37,26 +37,7 @@ public class BlockSC extends Block {
TileEntity tile = world.getTileEntity(x, y, z); TileEntity tile = world.getTileEntity(x, y, z);
if (tile instanceof TileSC) { if (tile instanceof TileSC) {
ForgeDirection direction = null; ((TileSC) tile).setDirection(ForgeDirection.getOrientation(BlockPistonBase.determineOrientation(world, x, y, z, entityLiving)));
int facing = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
switch (facing) {
case 0:
direction = ForgeDirection.SOUTH;
break;
case 1:
direction = ForgeDirection.WEST;
break;
case 2:
direction = ForgeDirection.NORTH;
break;
case 3:
direction = ForgeDirection.EAST;
break;
}
((TileSC) tile).setDirection(direction);
} }
} }

View File

@@ -31,7 +31,7 @@ public class BlockStorageProxy extends BlockSC implements ITileEntityProvider {
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
TileStorageProxy tile = (TileStorageProxy) world.getTileEntity(x, y, z); TileStorageProxy tile = (TileStorageProxy) world.getTileEntity(x, y, z);
if (side == tile.getDirection().getOpposite().ordinal()) { if (side == tile.getDirection().ordinal()) {
return frontIcon; return frontIcon;
} }

View File

@@ -17,7 +17,7 @@ public class TileStorageProxy extends TileMachine implements IStorageProvider, I
super.updateEntity(); super.updateEntity();
if (!worldObj.isRemote && isConnected()) { if (!worldObj.isRemote && isConnected()) {
TileEntity tile = worldObj.getTileEntity(xCoord + getDirection().getOpposite().offsetX, yCoord + getDirection().getOpposite().offsetY, zCoord + getDirection().getOpposite().offsetZ); TileEntity tile = worldObj.getTileEntity(xCoord + getDirection().offsetX, yCoord + getDirection().offsetY, zCoord + getDirection().offsetZ);
if (tile instanceof IInventory) { if (tile instanceof IInventory) {
inventory = (IInventory) tile; inventory = (IInventory) tile;