commit
870958cd68
6 changed files with 144 additions and 1 deletions
|
@ -11,6 +11,7 @@ import techreborn.client.container.ContainerBlastFurnace;
|
|||
import techreborn.client.container.ContainerCentrifuge;
|
||||
import techreborn.client.container.ContainerChemicalReactor;
|
||||
import techreborn.client.container.ContainerChunkloader;
|
||||
import techreborn.client.container.ContainerDestructoPack;
|
||||
import techreborn.client.container.ContainerDieselGenerator;
|
||||
import techreborn.client.container.ContainerGrinder;
|
||||
import techreborn.client.container.ContainerImplosionCompressor;
|
||||
|
@ -34,6 +35,7 @@ import techreborn.client.gui.GuiBlastFurnace;
|
|||
import techreborn.client.gui.GuiCentrifuge;
|
||||
import techreborn.client.gui.GuiChemicalReactor;
|
||||
import techreborn.client.gui.GuiChunkLoader;
|
||||
import techreborn.client.gui.GuiDestructoPack;
|
||||
import techreborn.client.gui.GuiDieselGenerator;
|
||||
import techreborn.client.gui.GuiGrinder;
|
||||
import techreborn.client.gui.GuiImplosionCompressor;
|
||||
|
@ -79,7 +81,8 @@ public class GuiHandler implements IGuiHandler {
|
|||
public static final int semifluidGeneratorID = 21;
|
||||
public static final int gasTurbineID = 22;
|
||||
public static final int digitalChestID = 23;
|
||||
|
||||
public static final int destructoPackID = 25;
|
||||
|
||||
@Override
|
||||
public Object getServerGuiElement(int ID, EntityPlayer player, World world,
|
||||
int x, int y, int z)
|
||||
|
@ -179,6 +182,8 @@ public class GuiHandler implements IGuiHandler {
|
|||
} else if (ID == pdaID)
|
||||
{
|
||||
return null;
|
||||
} else if (ID == destructoPackID) {
|
||||
return new ContainerDestructoPack(player);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -283,6 +288,8 @@ public class GuiHandler implements IGuiHandler {
|
|||
} else if (ID == pdaID)
|
||||
{
|
||||
return new GuiPda(player);
|
||||
} else if (ID == destructoPackID) {
|
||||
return new GuiDestructoPack(new ContainerDestructoPack(player));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
37
src/main/java/techreborn/client/SlotFilteredVoid.java
Normal file
37
src/main/java/techreborn/client/SlotFilteredVoid.java
Normal file
|
@ -0,0 +1,37 @@
|
|||
package techreborn.client;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class SlotFilteredVoid extends Slot {
|
||||
|
||||
private List<ItemStack> filter = new ArrayList<ItemStack>();
|
||||
public SlotFilteredVoid(IInventory par1iInventory, int id, int x, int y)
|
||||
{
|
||||
super(par1iInventory, id, x, y);
|
||||
}
|
||||
|
||||
public SlotFilteredVoid(IInventory par1iInventory, int id, int x, int y, ItemStack[] filterList)
|
||||
{
|
||||
super(par1iInventory, id, x, y);
|
||||
for (ItemStack itemStack : filterList)
|
||||
this.filter.add(itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack) {
|
||||
for (ItemStack itemStack : filter)
|
||||
if (itemStack.getItem().equals(stack.getItem()) && itemStack.getItemDamage() == stack.getItemDamage())
|
||||
return false;
|
||||
|
||||
return super.isItemValid(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putStack(ItemStack arg0) { }
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package techreborn.client.container;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import techreborn.client.SlotFilteredVoid;
|
||||
import techreborn.init.ModItems;
|
||||
import techreborn.util.Inventory;
|
||||
|
||||
public class ContainerDestructoPack extends TechRebornContainer {
|
||||
|
||||
private EntityPlayer player;
|
||||
private Inventory inv;
|
||||
public ContainerDestructoPack(EntityPlayer player) {
|
||||
this.player = player;
|
||||
inv = new Inventory(1, "destructopack", 64);
|
||||
buildContainer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer arg0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private void buildContainer() {
|
||||
this.addSlotToContainer(new SlotFilteredVoid(inv, 0, 80, 36, new ItemStack[] { new ItemStack(ModItems.parts, 1, 37)}));
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 3; ++i)
|
||||
{
|
||||
for (int j = 0; j < 9; ++j)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(player.inventory, j + i * 9
|
||||
+ 9, 8 + j * 18, 84 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 9; ++i)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(player.inventory, i, 8 + i * 18,
|
||||
142));
|
||||
}
|
||||
}
|
||||
}
|
40
src/main/java/techreborn/client/gui/GuiDestructoPack.java
Normal file
40
src/main/java/techreborn/client/gui/GuiDestructoPack.java
Normal file
|
@ -0,0 +1,40 @@
|
|||
package techreborn.client.gui;
|
||||
|
||||
import techreborn.init.ModItems;
|
||||
|
||||
import com.mojang.realmsclient.gui.ChatFormatting;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
||||
public class GuiDestructoPack extends GuiContainer {
|
||||
|
||||
private static final ResourceLocation texture = new ResourceLocation(
|
||||
"techreborn", "textures/gui/destructopack.png");
|
||||
|
||||
public GuiDestructoPack(Container container) {
|
||||
super(container);
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float arg0, int arg1, int arg2) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, 176, 166);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int arg0, int arg1) {
|
||||
String name = StatCollector.translateToLocal("item.techreborn.part.destructoPack.name");
|
||||
fontRendererObj.drawString(name, xSize / 2 - fontRendererObj.getStringWidth(name) / 2, 5, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8,
|
||||
this.ySize - 96 + 2, 4210752);
|
||||
super.drawGuiContainerForegroundLayer(arg0, arg1);
|
||||
}
|
||||
}
|
|
@ -4,9 +4,13 @@ import java.util.List;
|
|||
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
import techreborn.Core;
|
||||
import techreborn.client.GuiHandler;
|
||||
import techreborn.client.TechRebornCreativeTab;
|
||||
import techreborn.init.ModItems;
|
||||
|
||||
|
@ -95,4 +99,14 @@ public class ItemParts extends Item {
|
|||
list.add(new ItemStack(item, 1, meta));
|
||||
}
|
||||
}
|
||||
|
||||
public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) {
|
||||
switch (itemStack.getItemDamage()) {
|
||||
case 37: // Destructo pack
|
||||
player.openGui(Core.INSTANCE, GuiHandler.destructoPackID, world,
|
||||
(int) player.posX, (int) player.posY, (int) player.posY);
|
||||
break;
|
||||
}
|
||||
return itemStack;
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1 KiB |
Loading…
Add table
Reference in a new issue