Skip to content

Commit

Permalink
Fixes a load of block packets
Browse files Browse the repository at this point in the history
Camouflage cable, and Block gates update properly now
  • Loading branch information
hilburn committed May 27, 2015
1 parent fd76054 commit b9768ff
Show file tree
Hide file tree
Showing 10 changed files with 225 additions and 316 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,70 @@

import advancedsystemsmanager.api.tileentities.IClusterTile;
import advancedsystemsmanager.reference.Names;
import advancedsystemsmanager.tileentities.TileEntityBaseGate;
import advancedsystemsmanager.reference.Reference;
import advancedsystemsmanager.tileentities.TileEntityBlockGate;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.BlockPistonBase;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;

public class BlockCableBlockGate extends BlockCableGate<TileEntityBlockGate>
public class BlockCableBlockGate extends BlockClusterElementBase<TileEntityBlockGate>
{

public BlockCableBlockGate()
{
super(Names.CABLE_BLOCK_GATE, 3);
}

@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
{
if (player.isSneaking())
{
side = ForgeDirection.VALID_DIRECTIONS[side].getOpposite().ordinal();
}

TileEntityBlockGate breaker = getTileEntity(world, x, y, z);
if (breaker != null && !breaker.isBlocked())
{
breaker.setPlaceDirection(side);
return true;
}
return false;
}

@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack item)
{
int meta = BlockPistonBase.determineOrientation(world, x, y, z, entity);

TileEntityBlockGate breaker = getTileEntity(world, x, y, z);
if (breaker != null)
{
breaker.setMetaData(meta);
breaker.setPlaceDirection(breaker.getMetadata());
}
}

@SideOnly(Side.CLIENT)
@Override
public IIcon getIcon(int side, int meta)
{
return side == 3 ? icons[0] : blockIcon;
}

@SideOnly(Side.CLIENT)
@Override
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
{
TileEntityBaseGate gate = getTileEntity(world, x, y, z);
TileEntityBlockGate gate = getTileEntity(world, x, y, z);

if (gate != null)
{
Expand All @@ -46,6 +87,13 @@ public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
return blockIcon;
}

@Override
public void registerBlockIcons(IIconRegister register)
{
super.registerBlockIcons(register);
blockIcon = register.registerIcon(Reference.RESOURCE_LOCATION + ":cable_idle");
}

@Override
public TileEntity createNewTileEntity(World world, int meta)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,41 @@

import advancedsystemsmanager.api.tileentities.IClusterTile;
import advancedsystemsmanager.reference.Names;
import advancedsystemsmanager.tileentities.TileEntityBaseGate;
import advancedsystemsmanager.reference.Reference;
import advancedsystemsmanager.tileentities.TileEntityFluidGate;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockPistonBase;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;

public class BlockCableFluidGate extends BlockCableGate<TileEntityFluidGate>
public class BlockCableFluidGate extends BlockClusterElementBase<TileEntityFluidGate>
{

public BlockCableFluidGate()
{
super(Names.CABLE_FLUID_GATE, 1);
}

@SideOnly(Side.CLIENT)
@Override
public IIcon getIcon(int side, int meta)
{
return side == 3 ? icons[0] : blockIcon;
}

@SideOnly(Side.CLIENT)
@Override
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
{
TileEntityBaseGate gate = getTileEntity(world, x, y, z);;
TileEntityFluidGate gate = getTileEntity(world, x, y, z);

if (gate != null)
{
Expand All @@ -39,6 +51,37 @@ public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
return blockIcon;
}

@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(IIconRegister register)
{
super.registerBlockIcons(register);
blockIcon = register.registerIcon(Reference.RESOURCE_LOCATION + ":cable_idle");
}

@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
{
TileEntityFluidGate gate = getTileEntity(world, x, y, z);
if (gate != null)
{
gate.onNeighbourBlockChange();
}
}

@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack item)
{
int meta = BlockPistonBase.determineOrientation(world, x, y, z, entity);

TileEntityFluidGate gate = getTileEntity(world, x, y, z);
if (gate != null)
{
gate.setMetaData(meta);
}
}


@Override
public TileEntity createNewTileEntity(World world, int meta)
{
Expand Down
79 changes: 0 additions & 79 deletions src/main/java/advancedsystemsmanager/blocks/BlockCableGate.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,17 @@ public ItemStack getWailaStack(IWailaDataAccessor iWailaDataAccessor, IWailaConf
}

@Override
@SuppressWarnings("unchecked")
public List<String> getWailaHead(ItemStack itemStack, List<String> list, IWailaDataAccessor iWailaDataAccessor, IWailaConfigHandler iWailaConfigHandler)
{
if (iWailaDataAccessor.getBlock() != null)
ITaggedList tagged = (ITaggedList)list;
if (iWailaDataAccessor.getBlock() != null && tagged.getEntries(LABELLED).isEmpty())
{
BlockCoord coord = new BlockCoord(iWailaDataAccessor.getPosition().blockX, iWailaDataAccessor.getPosition().blockY, iWailaDataAccessor.getPosition().blockZ);
String label = NameRegistry.getSavedName(iWailaDataAccessor.getWorld().provider.dimensionId, coord);
if (label != null)
{
list.add(StatCollector.translateToLocalFormatted(LABELLED, label));
tagged.add(StatCollector.translateToLocalFormatted(LABELLED, label), LABELLED);
}
}
return list;
Expand Down

This file was deleted.

Loading

0 comments on commit b9768ff

Please sign in to comment.