Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mod_ file (exerpts)
- ============================
- public static final Block guiBlock = new BlockGuiBlock(250, net.minecraft.src.AwesomeTileEntity.class).setHardness(0.5F).setBlockName("Gui Block");
- ModLoader.RegisterTileEntity(net.minecraft.src.AwesomeTileEntity.class, "AwesomeTileEntity");
- ============================
- BlockGuiBlock (Whole file)
- ================================
- package net.minecraft.src;
- // Referenced classes of package net.minecraft.src:
- // Block, Material
- public class BlockGuiBlock extends BlockContainer
- {
- private Class AwesomeEntityClass;
- protected BlockGuiBlock(int i, Class classt)
- {
- super(i, Material.ground);
- AwesomeEntityClass = classt;
- blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/mods/guiblock.png");
- }
- public void onBlockClicked(World world, int i, int j, int k, EntityPlayer entityplayer)
- {
- Object obj = (AwesomeTileEntity)world.getBlockTileEntity(i, j, k);
- ModLoader.OpenGUI(entityplayer, new BlockGUISlot(entityplayer.inventory,(AwesomeTileEntity)(obj)));
- //ModLoader.OpenGUI(entityplayer, new GuiWhatever());
- }
- public TileEntity getBlockEntity()
- {
- try{
- return (TileEntity)AwesomeEntityClass.newInstance();
- }
- catch(Exception exception){
- throw new RuntimeException(exception);
- }
- }
- }
- ===========================
- AwesomeContainer (Whole File)
- ===========================
- package net.minecraft.src;
- import java.util.List;
- public class AwesomeContainer extends Container
- {
- private AwesomeTileEntity awesome;
- public AwesomeContainer(InventoryPlayer inventoryplayer, AwesomeTileEntity tileentityawesome)
- {
- awesome = tileentityawesome;
- addSlot(new Slot(tileentityawesome, 0, 79, 38));
- for (int i = 0; i < 3; i++)
- {
- for (int k = 0; k < 9; k++)
- {
- addSlot(new Slot(inventoryplayer, k + i * 9 + 9, 8 + k * 18, 84 + i * 18));
- }
- }
- for (int j = 0; j < 9; j++)
- {
- addSlot(new Slot(inventoryplayer, j, 8 + j * 18, 142));
- }
- }
- public boolean canInteractWith(EntityPlayer entityplayer)
- {
- return awesome.isUseableByPlayer(entityplayer);
- }
- }
- ===============================
- AwesomeTileEntity (Whole File)
- ===============================
- package net.minecraft.src;
- public class AwesomeTileEntity extends TileEntity implements IInventory{
- public ItemStack awesomeItemStacks[];
- public AwesomeTileEntity(){
- awesomeItemStacks = new ItemStack[1];
- }
- @Override
- public int getSizeInventory()
- {
- return awesomeItemStacks.length;
- }
- @Override
- public ItemStack getStackInSlot(int i) {
- return awesomeItemStacks[i];
- }
- @Override
- public ItemStack decrStackSize(int i, int j) {
- if (awesomeItemStacks[i] != null)
- {
- if (awesomeItemStacks[i].stackSize <= j)
- {
- ItemStack itemstack = awesomeItemStacks[i];
- awesomeItemStacks[i] = null;
- return itemstack;
- }
- ItemStack itemstack1 = awesomeItemStacks[i].splitStack(j);
- if (awesomeItemStacks[i].stackSize == 0)
- {
- awesomeItemStacks[i] = null;
- }
- return itemstack1;
- }
- else
- {
- return null;
- }
- }
- @Override
- public void setInventorySlotContents(int i, ItemStack itemstack) {
- awesomeItemStacks[i] = itemstack;
- if (itemstack != null && itemstack.stackSize > getInventoryStackLimit())
- {
- itemstack.stackSize = getInventoryStackLimit();
- }
- }
- @Override
- public String getInvName()
- {
- return "awesome";
- }
- @Override
- public int getInventoryStackLimit() {
- // TODO Auto-generated method stub
- return 64;
- }
- @Override
- public void openChest() {
- }
- @Override
- public void closeChest() {
- // TODO Auto-generated method stub
- }
- public boolean done = false;
- public void updateEntity()
- {
- ItemStack itemstack = awesomeItemStacks[0];
- if (itemstack != null)
- {
- int i = itemstack.getItem().shiftedIndex;
- if(i == Item.stick.shiftedIndex)
- {
- done = true;
- itemstack.stackSize = 2;
- }
- }
- else
- {
- done = false;
- }
- }
- public boolean isUseableByPlayer(EntityPlayer entityplayer)
- {
- if(worldObj.getBlockTileEntity(xCoord, yCoord, zCoord) != this)
- {
- return false;
- }
- return entityplayer.getDistanceSq((double)xCoord + 0.5D, (double)yCoord + 0.5D, (double)zCoord + 0.5D) <= 64D;
- }
- }
- =================================
- BlockGuiSlot (Whole File)
- ================================
- package net.minecraft.src;
- import org.lwjgl.opengl.GL11;
- public class BlockGUISlot extends GuiContainer{
- public EntityPlayer player;
- public AwesomeTileEntity tile;
- public BlockGUISlot(InventoryPlayer inventoryplayer, AwesomeTileEntity entity)
- {
- super(new AwesomeContainer(inventoryplayer, entity));
- tile = entity;
- player = ModLoader.getMinecraftInstance().thePlayer;
- }
- protected void drawGuiContainerForegroundLayer()
- {
- if(tile.done == true)
- {
- drawString(fontRenderer, "Done", 50, 0, 0xFFFFFF);
- }
- }
- protected void drawGuiContainerBackgroundLayer(float f, int i, int j)
- {
- drawDefaultBackground();
- int k = mc.renderEngine.getTexture("/mods/awesome.png");
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(k);
- int l = (width - xSize) / 2;
- int i1 = (height - ySize) / 2;
- drawTexturedModalRect(l, i1, 0, 0, xSize, ySize);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement