mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
138 lines
3.8 KiB
Java
138 lines
3.8 KiB
Java
package com.hbm.items.machine;
|
|
|
|
import java.util.List;
|
|
|
|
import com.hbm.items.ModItems;
|
|
import com.hbm.tileentity.IUpgradeInfoProvider;
|
|
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.gui.GuiScreen;
|
|
import net.minecraft.client.gui.inventory.GuiContainer;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.inventory.Container;
|
|
import net.minecraft.inventory.IInventory;
|
|
import net.minecraft.inventory.Slot;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.EnumChatFormatting;
|
|
|
|
public class ItemMachineUpgrade extends Item {
|
|
|
|
public UpgradeType type;
|
|
public int tier = 0;
|
|
|
|
public ItemMachineUpgrade() {
|
|
this.setMaxStackSize(1);
|
|
this.type = UpgradeType.SPECIAL;
|
|
}
|
|
|
|
public ItemMachineUpgrade(UpgradeType type) {
|
|
this.setMaxStackSize(1);
|
|
this.type = type;
|
|
}
|
|
|
|
public ItemMachineUpgrade(UpgradeType type, int tier) {
|
|
this(type);
|
|
this.tier = tier;
|
|
}
|
|
|
|
@Override
|
|
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
|
|
|
GuiScreen open = Minecraft.getMinecraft().currentScreen;
|
|
|
|
if(open != null && open instanceof GuiContainer) {
|
|
GuiContainer guiContainer = (GuiContainer) open;
|
|
Container container = guiContainer.inventorySlots;
|
|
if(container.inventorySlots.size() > 0) {
|
|
Slot first = container.getSlot(0);
|
|
IInventory inv = (IInventory) first.inventory;
|
|
if(inv instanceof IUpgradeInfoProvider) {
|
|
IUpgradeInfoProvider provider = (IUpgradeInfoProvider) inv;
|
|
if(provider.canProvideInfo(this.type, this.tier, bool)) {
|
|
provider.provideInfo(this.type, this.tier, list, bool);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(this == ModItems.upgrade_radius) {
|
|
list.add(EnumChatFormatting.RED + "Forcefield Range Upgrade");
|
|
list.add("Radius +16 / Consumption +500");
|
|
list.add("Stacks to 16");
|
|
}
|
|
|
|
if(this == ModItems.upgrade_health) {
|
|
list.add(EnumChatFormatting.RED + "Forcefield Health Upgrade");
|
|
list.add("Max. Health +50 / Consumption +250");
|
|
list.add("Stacks to 16");
|
|
}
|
|
|
|
if(this == ModItems.upgrade_smelter) {
|
|
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade");
|
|
list.add("Smelts blocks. Easy enough.");
|
|
}
|
|
|
|
if(this == ModItems.upgrade_shredder) {
|
|
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade");
|
|
list.add("Crunches ores");
|
|
}
|
|
|
|
if(this == ModItems.upgrade_centrifuge) {
|
|
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade");
|
|
list.add("Hopefully self-explanatory");
|
|
}
|
|
|
|
if(this == ModItems.upgrade_crystallizer) {
|
|
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade");
|
|
list.add("Your new best friend");
|
|
}
|
|
|
|
if(this == ModItems.upgrade_screm) {
|
|
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade");
|
|
list.add("It's like in Super Mario where all blocks are");
|
|
list.add("actually Toads, but here it's Half-Life scientists");
|
|
list.add("and they scream. A lot.");
|
|
}
|
|
|
|
if(this == ModItems.upgrade_nullifier) {
|
|
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade");
|
|
list.add("50% chance to override worthless items with /dev/zero");
|
|
list.add("50% chance to move worthless items to /dev/null");
|
|
}
|
|
|
|
if(this == ModItems.upgrade_gc_speed) {
|
|
list.add(EnumChatFormatting.RED + "Gas Centrifuge Upgrade");
|
|
list.add("Allows for total isotopic separation of HEUF6");
|
|
list.add(EnumChatFormatting.YELLOW + "also your centrifuge goes sicko mode");
|
|
}
|
|
}
|
|
|
|
public static enum UpgradeType {
|
|
SPEED,
|
|
EFFECT,
|
|
POWER,
|
|
FORTUNE,
|
|
AFTERBURN,
|
|
OVERDRIVE,
|
|
SPECIAL,
|
|
LM_DESROYER,
|
|
LM_SCREM,
|
|
LM_SMELTER(true),
|
|
LM_SHREDDER(true),
|
|
LM_CENTRIFUGE(true),
|
|
LM_CRYSTALLIZER(true),
|
|
GS_SPEED;
|
|
|
|
public boolean mutex = false;
|
|
|
|
private UpgradeType() { }
|
|
|
|
private UpgradeType(boolean mutex) {
|
|
this.mutex = mutex;
|
|
}
|
|
}
|
|
|
|
}
|