v4.2.2 Beta #3
*Code cleanup, first attempt to remove all MCP 'parX' rubbish. *Added 'ItemRetriever' class to get items/blocks out of the ObsidianIngots class. *Changed API package to 'obsidian.api.'
This commit is contained in:
parent
b8781cc3e4
commit
cd6f1a4cae
16 changed files with 147 additions and 106 deletions
|
@ -249,9 +249,9 @@ public class BlockMachine extends BlockContainer
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void breakBlock(World world, int par2, int par3, int par4, int i1, int i2)
|
public void breakBlock(World world, int x, int y, int z, int i1, int i2)
|
||||||
{
|
{
|
||||||
TileEntityBasicMachine var5 = (TileEntityBasicMachine)world.getBlockTileEntity(par2, par3, par4);
|
TileEntityBasicMachine var5 = (TileEntityBasicMachine)world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
if (var5 != null)
|
if (var5 != null)
|
||||||
{
|
{
|
||||||
|
@ -275,7 +275,7 @@ public class BlockMachine extends BlockContainer
|
||||||
}
|
}
|
||||||
|
|
||||||
var7.stackSize -= var11;
|
var7.stackSize -= var11;
|
||||||
EntityItem var12 = new EntityItem(world, (double)((float)par2 + var8), (double)((float)par3 + var9), (double)((float)par4 + var10), new ItemStack(var7.itemID, var11, var7.getItemDamage()));
|
EntityItem var12 = new EntityItem(world, (double)((float)x + var8), (double)((float)y + var9), (double)((float)z + var10), new ItemStack(var7.itemID, var11, var7.getItemDamage()));
|
||||||
|
|
||||||
if (var7.hasTagCompound())
|
if (var7.hasTagCompound())
|
||||||
{
|
{
|
||||||
|
@ -293,10 +293,10 @@ public class BlockMachine extends BlockContainer
|
||||||
var5.invalidate();
|
var5.invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
super.breakBlock(world, par2, par3, par4, i1, i2);
|
super.breakBlock(world, x, y, z, i1, i2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityplayer, int i1, float f1, float f2, float f3)
|
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityplayer, int facing, float playerX, float playerY, float playerZ)
|
||||||
{
|
{
|
||||||
if (world.isRemote)
|
if (world.isRemote)
|
||||||
{
|
{
|
||||||
|
@ -361,7 +361,7 @@ public class BlockMachine extends BlockContainer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//This method is not used, metadata manipulation is required to create a Tile Entity.
|
/*This method is not used, metadata manipulation is required to create a Tile Entity.*/
|
||||||
public TileEntity createNewTileEntity(World world)
|
public TileEntity createNewTileEntity(World world)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -16,16 +16,13 @@ public class BlockObsidianTNT extends Block
|
||||||
setResistance(0.0F);
|
setResistance(0.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public int getBlockTextureFromSide(int side)
|
||||||
* Returns the block texture based on the side being looked at. Args: side
|
|
||||||
*/
|
|
||||||
public int getBlockTextureFromSide(int par1)
|
|
||||||
{
|
{
|
||||||
if(par1 == 1)
|
if(side == 1)
|
||||||
{
|
{
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
if(par1 == 0)
|
if(side == 0)
|
||||||
{
|
{
|
||||||
return 7;
|
return 7;
|
||||||
}
|
}
|
||||||
|
@ -34,105 +31,78 @@ public class BlockObsidianTNT extends Block
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public void onBlockAdded(World world, int x, int y, int z)
|
||||||
* Called whenever the block is added into the world. Args: world, x, y, z
|
|
||||||
*/
|
|
||||||
public void onBlockAdded(World par1World, int par2, int par3, int par4)
|
|
||||||
{
|
{
|
||||||
super.onBlockAdded(par1World, par2, par3, par4);
|
super.onBlockAdded(world, x, y, z);
|
||||||
|
|
||||||
if (par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
|
if (world.isBlockIndirectlyGettingPowered(x, y, z))
|
||||||
{
|
{
|
||||||
this.onBlockDestroyedByPlayer(par1World, par2, par3, par4, 1);
|
onBlockDestroyedByPlayer(world, x, y, z, 1);
|
||||||
par1World.setBlockWithNotify(par2, par3, par4, 0);
|
world.setBlockWithNotify(x, y, z, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public void onNeighborBlockChange(World world, int x, int y, int z, int blockID)
|
||||||
* Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are
|
|
||||||
* their own) Args: x, y, z, neighbor blockID
|
|
||||||
*/
|
|
||||||
public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5)
|
|
||||||
{
|
{
|
||||||
if (par5 > 0 && Block.blocksList[par5].canProvidePower() && par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
|
if (blockID > 0 && Block.blocksList[blockID].canProvidePower() && world.isBlockIndirectlyGettingPowered(x, y, z))
|
||||||
{
|
{
|
||||||
this.onBlockDestroyedByPlayer(par1World, par2, par3, par4, 1);
|
onBlockDestroyedByPlayer(world, x, y, z, 1);
|
||||||
par1World.setBlockWithNotify(par2, par3, par4, 0);
|
world.setBlockWithNotify(x, y, z, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public int quantityDropped(Random random)
|
||||||
* Returns the quantity of items to drop on block destruction.
|
|
||||||
*/
|
|
||||||
public int quantityDropped(Random par1Random)
|
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public void onBlockDestroyedByExplosion(World world, int x, int y, int z)
|
||||||
* Called upon the block being destroyed by an explosion
|
|
||||||
*/
|
|
||||||
public void onBlockDestroyedByExplosion(World par1World, int par2, int par3, int par4)
|
|
||||||
{
|
{
|
||||||
if (!par1World.isRemote)
|
if (!world.isRemote)
|
||||||
{
|
{
|
||||||
EntityObsidianTNT var5 = new EntityObsidianTNT(par1World, (double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F));
|
EntityObsidianTNT entity = new EntityObsidianTNT(world, (double)((float)x + 0.5F), (double)((float)y + 0.5F), (double)((float)z + 0.5F));
|
||||||
var5.fuse = par1World.rand.nextInt(var5.fuse / 4) + var5.fuse / 8;
|
entity.fuse = world.rand.nextInt(entity.fuse / 4) + entity.fuse / 8;
|
||||||
par1World.spawnEntityInWorld(var5);
|
world.spawnEntityInWorld(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta)
|
||||||
* Called right before the block is destroyed by a player. Args: world, x, y, z, metaData
|
|
||||||
*/
|
|
||||||
public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5)
|
|
||||||
{
|
{
|
||||||
if (!par1World.isRemote)
|
if (!world.isRemote)
|
||||||
{
|
{
|
||||||
if ((par5 & 1) == 0)
|
if ((meta & 1) == 0)
|
||||||
{
|
{
|
||||||
this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(ObsidianIngots.ObsidianTNT, 1, 0));
|
dropBlockAsItem_do(world, x, y, z, new ItemStack(ObsidianIngots.ObsidianTNT, 1, 0));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
EntityObsidianTNT var6 = new EntityObsidianTNT(par1World, (double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F));
|
EntityObsidianTNT entity = new EntityObsidianTNT(world, (double)((float)x + 0.5F), (double)((float)y + 0.5F), (double)((float)z + 0.5F));
|
||||||
par1World.spawnEntityInWorld(var6);
|
world.spawnEntityInWorld(entity);
|
||||||
par1World.playSoundAtEntity(var6, "random.fuse", 1.0F, 1.0F);
|
world.playSoundAtEntity(entity, "random.fuse", 1.0F, 1.0F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public void onBlockClicked(World world, int x, int y, int z, EntityPlayer entityplayer)
|
||||||
* Called when the block is clicked by a player. Args: x, y, z, entityPlayer
|
|
||||||
*/
|
|
||||||
public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer)
|
|
||||||
{
|
{
|
||||||
super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer);
|
super.onBlockClicked(world, x, y, z, entityplayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityplayer, int i1, float f1, float f2, float f3)
|
||||||
* Called upon block activation (left or right click on the block.). The three integers represent x,y,z of the
|
|
||||||
* block.
|
|
||||||
*/
|
|
||||||
public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int i1, float f1, float f2, float f3)
|
|
||||||
{
|
{
|
||||||
if (par5EntityPlayer.getCurrentEquippedItem() != null && par5EntityPlayer.getCurrentEquippedItem().itemID == Item.flintAndSteel.shiftedIndex)
|
if (entityplayer.getCurrentEquippedItem() != null && entityplayer.getCurrentEquippedItem().itemID == Item.flintAndSteel.shiftedIndex)
|
||||||
{
|
{
|
||||||
this.onBlockDestroyedByPlayer(par1World, par2, par3, par4, 1);
|
onBlockDestroyedByPlayer(world, x, y, z, 1);
|
||||||
par1World.setBlockWithNotify(par2, par3, par4, 0);
|
world.setBlockWithNotify(x, y, z, 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, i1, f1, f2, f3);
|
return super.onBlockActivated(world, x, y, z, entityplayer, i1, f1, f2, f3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
protected ItemStack createStackedBlock(int i)
|
||||||
* Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage
|
|
||||||
* and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null.
|
|
||||||
*/
|
|
||||||
protected ItemStack createStackedBlock(int par1)
|
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package net.uberkat.obsidian.common;
|
package net.uberkat.obsidian.common;
|
||||||
|
|
||||||
|
import obsidian.api.IEnergizedItem;
|
||||||
import ic2.api.IElectricItem;
|
import ic2.api.IElectricItem;
|
||||||
import universalelectricity.implement.IItemElectric;
|
import universalelectricity.implement.IItemElectric;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.uberkat.obsidian.api.IEnergizedItem;
|
|
||||||
|
|
||||||
public class ContainerAdvancedElectricMachine extends Container
|
public class ContainerAdvancedElectricMachine extends Container
|
||||||
{
|
{
|
||||||
|
@ -16,19 +16,19 @@ public class ContainerAdvancedElectricMachine extends Container
|
||||||
addSlotToContainer(new Slot(tentity, 1, 56, 53));
|
addSlotToContainer(new Slot(tentity, 1, 56, 53));
|
||||||
addSlotToContainer(new SlotFurnace(inventory.player, tentity, 2, 116, 35));
|
addSlotToContainer(new SlotFurnace(inventory.player, tentity, 2, 116, 35));
|
||||||
addSlotToContainer(new SlotEnergy(tentity, 3, 31, 35));
|
addSlotToContainer(new SlotEnergy(tentity, 3, 31, 35));
|
||||||
int var3;
|
int slotX;
|
||||||
|
|
||||||
for (var3 = 0; var3 < 3; ++var3)
|
for (slotX = 0; slotX < 3; ++slotX)
|
||||||
{
|
{
|
||||||
for (int var4 = 0; var4 < 9; ++var4)
|
for (int slotY = 0; slotY < 9; ++slotY)
|
||||||
{
|
{
|
||||||
addSlotToContainer(new Slot(inventory, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
|
addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 84 + slotX * 18));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var3 = 0; var3 < 9; ++var3)
|
for (slotX = 0; slotX < 9; ++slotX)
|
||||||
{
|
{
|
||||||
addSlotToContainer(new Slot(inventory, var3, 8 + var3 * 18, 142));
|
addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 142));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package net.uberkat.obsidian.common;
|
package net.uberkat.obsidian.common;
|
||||||
|
|
||||||
|
import obsidian.api.IEnergizedItem;
|
||||||
import ic2.api.IElectricItem;
|
import ic2.api.IElectricItem;
|
||||||
import universalelectricity.implement.IItemElectric;
|
import universalelectricity.implement.IItemElectric;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.uberkat.obsidian.api.IEnergizedItem;
|
|
||||||
|
|
||||||
public class ContainerElectricMachine extends Container
|
public class ContainerElectricMachine extends Container
|
||||||
{
|
{
|
||||||
|
@ -11,29 +11,29 @@ public class ContainerElectricMachine extends Container
|
||||||
|
|
||||||
public ContainerElectricMachine(InventoryPlayer inventory, TileEntityElectricMachine tentity)
|
public ContainerElectricMachine(InventoryPlayer inventory, TileEntityElectricMachine tentity)
|
||||||
{
|
{
|
||||||
this.tileEntity = tentity;
|
tileEntity = tentity;
|
||||||
this.addSlotToContainer(new Slot(tentity, 0, 56, 17));
|
addSlotToContainer(new Slot(tentity, 0, 56, 17));
|
||||||
this.addSlotToContainer(new SlotEnergy(tentity, 1, 56, 53));
|
addSlotToContainer(new SlotEnergy(tentity, 1, 56, 53));
|
||||||
this.addSlotToContainer(new SlotFurnace(inventory.player, tentity, 2, 116, 35));
|
addSlotToContainer(new SlotFurnace(inventory.player, tentity, 2, 116, 35));
|
||||||
int var3;
|
int slotX;
|
||||||
|
|
||||||
for (var3 = 0; var3 < 3; ++var3)
|
for (slotX = 0; slotX < 3; ++slotX)
|
||||||
{
|
{
|
||||||
for (int var4 = 0; var4 < 9; ++var4)
|
for (int slotY = 0; slotY < 9; ++slotY)
|
||||||
{
|
{
|
||||||
this.addSlotToContainer(new Slot(inventory, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
|
addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 84 + slotX * 18));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var3 = 0; var3 < 9; ++var3)
|
for (slotX = 0; slotX < 9; ++slotX)
|
||||||
{
|
{
|
||||||
this.addSlotToContainer(new Slot(inventory, var3, 8 + var3 * 18, 142));
|
addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 142));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canInteractWith(EntityPlayer par1EntityPlayer)
|
public boolean canInteractWith(EntityPlayer par1EntityPlayer)
|
||||||
{
|
{
|
||||||
return this.tileEntity.isUseableByPlayer(par1EntityPlayer);
|
return tileEntity.isUseableByPlayer(par1EntityPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.uberkat.obsidian.common;
|
package net.uberkat.obsidian.common;
|
||||||
|
|
||||||
|
import obsidian.api.*;
|
||||||
import ic2.api.IElectricItem;
|
import ic2.api.IElectricItem;
|
||||||
import universalelectricity.implement.IItemElectric;
|
import universalelectricity.implement.IItemElectric;
|
||||||
import net.uberkat.obsidian.api.*;
|
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
|
|
||||||
public class ContainerPowerUnit extends Container
|
public class ContainerPowerUnit extends Container
|
||||||
|
@ -15,19 +15,19 @@ public class ContainerPowerUnit extends Container
|
||||||
addSlotToContainer(new SlotEnergy(unit, 0, 8, 8));
|
addSlotToContainer(new SlotEnergy(unit, 0, 8, 8));
|
||||||
addSlotToContainer(new SlotEnergy(unit, 1, 8, 40));
|
addSlotToContainer(new SlotEnergy(unit, 1, 8, 40));
|
||||||
|
|
||||||
int var3;
|
int slotX;
|
||||||
|
|
||||||
for (var3 = 0; var3 < 3; ++var3)
|
for (slotX = 0; slotX < 3; ++slotX)
|
||||||
{
|
{
|
||||||
for (int var4 = 0; var4 < 9; ++var4)
|
for (int slotY = 0; slotY < 9; ++slotY)
|
||||||
{
|
{
|
||||||
addSlotToContainer(new Slot(inventory, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
|
addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 84 + slotX * 18));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var3 = 0; var3 < 9; ++var3)
|
for (slotX = 0; slotX < 9; ++slotX)
|
||||||
{
|
{
|
||||||
addSlotToContainer(new Slot(inventory, var3, 8 + var3 * 18, 142));
|
addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 142));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,13 @@ package net.uberkat.obsidian.common;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import obsidian.api.IEnergizedItem;
|
||||||
|
|
||||||
import universalelectricity.UniversalElectricity;
|
import universalelectricity.UniversalElectricity;
|
||||||
import universalelectricity.implement.IItemElectric;
|
import universalelectricity.implement.IItemElectric;
|
||||||
|
|
||||||
import ic2.api.IElectricItem;
|
import ic2.api.IElectricItem;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.uberkat.obsidian.api.IEnergizedItem;
|
|
||||||
|
|
||||||
public class ItemEnergized extends Item implements IEnergizedItem, IItemElectric
|
public class ItemEnergized extends Item implements IEnergizedItem, IItemElectric
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,6 +6,8 @@ import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import obsidian.api.INetworkedMachine;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
import com.google.common.io.ByteStreams;
|
import com.google.common.io.ByteStreams;
|
||||||
|
|
||||||
|
@ -16,7 +18,6 @@ import net.minecraft.src.Packet;
|
||||||
import net.minecraft.src.Packet250CustomPayload;
|
import net.minecraft.src.Packet250CustomPayload;
|
||||||
import net.minecraft.src.TileEntity;
|
import net.minecraft.src.TileEntity;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
import net.uberkat.obsidian.api.INetworkedMachine;
|
|
||||||
import cpw.mods.fml.client.FMLClientHandler;
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.common.network.IPacketHandler;
|
import cpw.mods.fml.common.network.IPacketHandler;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package net.uberkat.obsidian.common;
|
package net.uberkat.obsidian.common;
|
||||||
|
|
||||||
|
import obsidian.api.IEnergizedItem;
|
||||||
import universalelectricity.implement.IItemElectric;
|
import universalelectricity.implement.IItemElectric;
|
||||||
import ic2.api.IElectricItem;
|
import ic2.api.IElectricItem;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.uberkat.obsidian.api.IEnergizedItem;
|
|
||||||
|
|
||||||
public class SlotEnergy extends Slot
|
public class SlotEnergy extends Slot
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,8 @@ package net.uberkat.obsidian.common;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import obsidian.api.IEnergizedItem;
|
||||||
|
|
||||||
import universalelectricity.UniversalElectricity;
|
import universalelectricity.UniversalElectricity;
|
||||||
import universalelectricity.implement.IItemElectric;
|
import universalelectricity.implement.IItemElectric;
|
||||||
|
|
||||||
|
@ -16,7 +18,6 @@ import ic2.api.IWrenchable;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import net.minecraftforge.common.ISidedInventory;
|
import net.minecraftforge.common.ISidedInventory;
|
||||||
import net.uberkat.obsidian.api.IEnergizedItem;
|
|
||||||
|
|
||||||
public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicMachine
|
public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicMachine
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package net.uberkat.obsidian.common;
|
package net.uberkat.obsidian.common;
|
||||||
|
|
||||||
|
import obsidian.api.IElectricMachine;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
import cpw.mods.fml.common.Side;
|
import cpw.mods.fml.common.Side;
|
||||||
|
@ -10,7 +12,6 @@ import ic2.api.IWrenchable;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import net.minecraftforge.common.ISidedInventory;
|
import net.minecraftforge.common.ISidedInventory;
|
||||||
import net.uberkat.obsidian.api.IElectricMachine;
|
|
||||||
|
|
||||||
public abstract class TileEntityBasicMachine extends TileEntity implements IElectricMachine
|
public abstract class TileEntityBasicMachine extends TileEntity implements IElectricMachine
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,8 @@ package net.uberkat.obsidian.common;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import obsidian.api.IEnergizedItem;
|
||||||
|
|
||||||
import universalelectricity.UniversalElectricity;
|
import universalelectricity.UniversalElectricity;
|
||||||
import universalelectricity.implement.IItemElectric;
|
import universalelectricity.implement.IItemElectric;
|
||||||
|
|
||||||
|
@ -16,7 +18,6 @@ import ic2.api.IWrenchable;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import net.minecraftforge.common.ISidedInventory;
|
import net.minecraftforge.common.ISidedInventory;
|
||||||
import net.uberkat.obsidian.api.IEnergizedItem;
|
|
||||||
|
|
||||||
public abstract class TileEntityElectricMachine extends TileEntityBasicMachine
|
public abstract class TileEntityElectricMachine extends TileEntityBasicMachine
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,6 +4,9 @@ import java.io.ByteArrayOutputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import obsidian.api.IEnergizedItem;
|
||||||
|
import obsidian.api.INetworkedMachine;
|
||||||
|
|
||||||
import universalelectricity.UniversalElectricity;
|
import universalelectricity.UniversalElectricity;
|
||||||
import universalelectricity.electricity.ElectricInfo;
|
import universalelectricity.electricity.ElectricInfo;
|
||||||
import universalelectricity.electricity.ElectricityManager;
|
import universalelectricity.electricity.ElectricityManager;
|
||||||
|
@ -40,8 +43,6 @@ import ic2.api.IElectricItem;
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
import net.minecraftforge.common.ISidedInventory;
|
import net.minecraftforge.common.ISidedInventory;
|
||||||
import net.uberkat.obsidian.api.IEnergizedItem;
|
|
||||||
import net.uberkat.obsidian.api.INetworkedMachine;
|
|
||||||
|
|
||||||
public class TileEntityPowerUnit extends TileEntityDisableable implements IInventory, ISidedInventory, INetworkedMachine, IWrenchable, IEnergySink, IEnergySource, IEnergyStorage, IPowerReceptor, IElectricityStorage, IElectricityReceiver, IPeripheral
|
public class TileEntityPowerUnit extends TileEntityDisableable implements IInventory, ISidedInventory, INetworkedMachine, IWrenchable, IEnergySink, IEnergySource, IEnergyStorage, IPowerReceptor, IElectricityStorage, IElectricityReceiver, IPeripheral
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.uberkat.obsidian.api;
|
package obsidian.api;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.uberkat.obsidian.api;
|
package obsidian.api;
|
||||||
|
|
||||||
import net.minecraft.src.*;
|
import net.minecraft.src.*;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.uberkat.obsidian.api;
|
package obsidian.api;
|
||||||
|
|
||||||
import net.minecraft.src.EntityPlayer;
|
import net.minecraft.src.EntityPlayer;
|
||||||
import net.minecraft.src.NetworkManager;
|
import net.minecraft.src.NetworkManager;
|
65
src/common/obsidian/api/ItemRetriever.java
Normal file
65
src/common/obsidian/api/ItemRetriever.java
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
package obsidian.api;
|
||||||
|
|
||||||
|
import net.minecraft.src.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use this class's 'getItem()' method to retrieve ItemStacks from the 'ObsidianIngots'
|
||||||
|
* class.
|
||||||
|
* @author AidanBrady
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public final class ItemRetriever
|
||||||
|
{
|
||||||
|
/** The 'ObsidianIngots' class that items and blocks are retrieved from. */
|
||||||
|
private static Class ObsidianIngots;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attempts to retrieve an ItemStack of an item or block with the declared identifier.
|
||||||
|
*
|
||||||
|
* ObsidianIngots identifiers follow an easy-to-remember pattern. All identifiers
|
||||||
|
* are identical to the String returned by 'getItemName().' None include spaces,
|
||||||
|
* and always make sure you start with a capital letter. The name that shows up
|
||||||
|
* in-game can be stripped down to identifier form by removing spaces and all non-
|
||||||
|
* alphabetic characters (,./'=-_). Below is an example:
|
||||||
|
*
|
||||||
|
* ItemStack enrichedAlloy = ItemRetriever.getItem("EnrichedAlloy");
|
||||||
|
*
|
||||||
|
* The same also works for blocks.
|
||||||
|
*
|
||||||
|
* ItemStack refinedObsidian = ItemRetriever.getItem("RefinedObsidian");
|
||||||
|
*
|
||||||
|
* Make sure you run this in or after FMLPostInitializationEvent runs, because most
|
||||||
|
* items are registered when FMLInitializationEvent runs. However, some items ARE
|
||||||
|
* registered later in order to hook into other mods. In a rare circumstance you may
|
||||||
|
* have to add "after:ObsidianIngots" in the @Mod 'dependencies' annotation.
|
||||||
|
*
|
||||||
|
* Note that you will be able to retrieve items that Obsidian Ingots has retrieved
|
||||||
|
* from other mods. In other words, if IC2 is installed, 'getItem("GoldDust")' will
|
||||||
|
* return IndustrialCraft gold dust.
|
||||||
|
*
|
||||||
|
* @param identifier - a String to be searched in the 'ObsidianIngots' class
|
||||||
|
* @return an ItemStack of the declared identifier, otherwise null.
|
||||||
|
*/
|
||||||
|
public static ItemStack getItem(String identifier)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
if(ObsidianIngots == null)
|
||||||
|
{
|
||||||
|
ObsidianIngots = Class.forName("net.uberkat.obsidian.common.ObsidianIngots");
|
||||||
|
}
|
||||||
|
|
||||||
|
Object ret = ObsidianIngots.getField(identifier).get(null);
|
||||||
|
|
||||||
|
if(ret instanceof Item)
|
||||||
|
{
|
||||||
|
return new ItemStack((Item)ret, 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} catch(Exception e) {
|
||||||
|
System.err.println("[ObsidianIngots] Error retrieving item with identifier '" + identifier + "': " + e.getMessage());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue