public class ChemiCraftTabs {
/**
- * tab\82ÌID
+ * tabのID
*/
private int id;
/**
- * tab\82ÉOverlay\82·\82éTextureID
+ * tabにOverlayするTextureID
*/
private int texture;
/**
- * tab\82Ì\96¼\91O
+ * tabの名前
*/
private String tabName;
/**
- * ID\82ð\95Ô\82µ\82Ü\82·
- * @return tab\82ÌID
+ * tabのIDを返します
+ * @return tabのID
*/
public int getID(){
return this.id;
/**
- * tab\82ÉOverlay\82·\82éTextureID\82ð\95Ô\82µ\82Ü\82·
- * @return tab\82ÉOverlay\82·\82éTextureID
+ * tabにOverlayするTextureIDを返します
+ * @return tabにOverlayするTextureID
*/
public int getTexture(){
return this.texture;
/**
- * tab\82Ì\96¼\91O\82ð\95Ô\82µ\82Ü\82·
- * @return tab\82Ì\96¼\91O
+ * tabの名前を返します
+ * @return tabの名前
*/
public String getTabName(){
return this.tabName;
package chemicraft;
import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.TileEntity;
import net.minecraft.src.World;
import cpw.mods.fml.common.network.IGuiHandler;
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
+ if(!world.blockExists(x, y, z)) return null;
+
+ TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
+
+ if(tileEntity instanceof TileEntityScienceCraftingTable){
+ return new ContainerScienceCraftingTable(player.inventory, (TileEntityScienceCraftingTable)tileEntity);
+ }
return null;
+
}
@Override
package chemicraft;
-import net.minecraft.src.Block;
import net.minecraft.src.Container;
-import net.minecraft.src.CraftingManager;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.IInventory;
-import net.minecraft.src.InventoryCraftResult;
-import net.minecraft.src.InventoryCrafting;
import net.minecraft.src.InventoryPlayer;
import net.minecraft.src.ItemStack;
import net.minecraft.src.Slot;
-import net.minecraft.src.SlotCrafting;
import net.minecraft.src.World;
public class ContainerScienceCraftingTable extends Container
private int posY;
private int posZ;
- public ContainerScienceCraftingTable(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5)
+ public ContainerScienceCraftingTable(InventoryPlayer par1InventoryPlayer, TileEntityScienceCraftingTable par2)
{
- this.worldObj = par2World;
- this.posX = par3;
- this.posY = par4;
- this.posZ = par5;
- int var6;
- int var7;
-
+ this.worldObj = par2.worldObj;
+ this.posX = par2.xCoord;
+ this.posY = par2.yCoord;
+ this.posZ = par2.zCoord;
+ this.addSlotToContainer(new Slot(par2, 0, 10, 10));
}
/**
import net.minecraft.src.GuiContainer;
import net.minecraft.src.InventoryPlayer;
-import net.minecraft.src.MinecraftException;
-import net.minecraft.src.World;
+import net.minecraft.src.Slot;
import org.lwjgl.opengl.GL11;
private ArrayList<ChemiCraftTabs> tabList = new ArrayList<ChemiCraftTabs>();
- public GuiScienceCraftingTable(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5)
+ public GuiScienceCraftingTable(InventoryPlayer par1InventoryPlayer, TileEntityScienceCraftingTable par2)
{
- super(new ContainerScienceCraftingTable(par1InventoryPlayer, par2World, par3, par4, par5));
+ super(new ContainerScienceCraftingTable(par1InventoryPlayer, par2));
}
@Override
}
}
+ @Override
+ protected void handleMouseClick(Slot par1Slot, int par2, int par3, boolean par4){
+ System.out.println(par2);
+ System.out.println(par3);
+ }
+
+ @Override
+ protected void mouseClicked(int par1, int par2, int par3)
+ {
+ super.mouseClicked(par1, par2, par3);
+ }
+
private void addTabs(int id, int Texture, String name){
for(int i = 0;i < tabList.size();i++){
if(id == tabList.get(i).getID()){
try {
- throw new Exception("ChemiCraft\93à\82Å\83G\83\89\81[:ChemiCraftTabs\82ÌID\82ª\8fd\95¡\82µ\82Ä\82¢\82Ü\82·");
+ throw new Exception("ChemiCraft内でエラー:ChemiCraftTabのIDが重複しています");
} catch (Exception e) {
e.printStackTrace();
}
import net.minecraft.src.Packet;
import net.minecraft.src.TileEntity;
-public class TileEntityScienceCraftingTable extends TileEntity {
+public class TileEntityScienceCraftingTable extends TileEntity implements IInventory{
+
+ private ItemStack[] inventory = new ItemStack[10];
public TileEntityScienceCraftingTable(){
}
@Override
public void writeToNBT(NBTTagCompound par1){
}
+
+ @Override
+ public int getSizeInventory() {
+ return inventory.length;
+ }
+
+ @Override
+ public ItemStack getStackInSlot(int var1) {
+ return inventory[var1];
+ }
+
+ @Override
+ public ItemStack decrStackSize(int var1, int var2) {
+ return null;
+ }
+
+ @Override
+ public ItemStack getStackInSlotOnClosing(int var1) {
+ return null;
+ }
+
+ @Override
+ public void setInventorySlotContents(int var1, ItemStack var2) {
+
+ }
+
+ @Override
+ public String getInvName() {
+ return null;
+ }
+
+ @Override
+ public int getInventoryStackLimit() {
+ return 64;
+ }
+
+ @Override
+ public boolean isUseableByPlayer(EntityPlayer var1) {
+ return false;
+ }
+
+ @Override
+ public void openChest() {
+
+ }
+
+ @Override
+ public void closeChest() {
+
+ }
}
package chemicraft.client;
import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.TileEntity;
import net.minecraft.src.World;
import chemicraft.CommonProxy;
+import chemicraft.ContainerScienceCraftingTable;
+import chemicraft.GuiScienceCraftingTable;
+import chemicraft.TileEntityScienceCraftingTable;
import cpw.mods.fml.client.FMLClientHandler;
public class ClientProxy extends CommonProxy
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
+ if(!world.blockExists(x, y, z)) return null;
+
+ TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
+
+ if(tileEntity instanceof TileEntityScienceCraftingTable){
+ return new GuiScienceCraftingTable(player.inventory, (TileEntityScienceCraftingTable)tileEntity);
+ }
return null;
}