Made destructopack work
This commit is contained in:
parent
a9ea898cab
commit
8a2119d5d2
4 changed files with 122 additions and 0 deletions
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);
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 1 KiB |
Loading…
Add table
Reference in a new issue