Migration work on TR armor
This commit is contained in:
parent
f08fd1da4d
commit
5bc08557b3
8 changed files with 204 additions and 192 deletions
|
@ -24,11 +24,12 @@
|
|||
|
||||
package techreborn.items.armor;
|
||||
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.MobEffects;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.NonNullList;
|
||||
|
@ -44,7 +45,6 @@ import reborncore.common.powerSystem.forge.ForgePowerItemManager;
|
|||
import reborncore.common.registration.RebornRegister;
|
||||
import reborncore.common.util.ItemUtils;
|
||||
import techreborn.TechReborn;
|
||||
import techreborn.api.Reference;
|
||||
import techreborn.config.ConfigTechReborn;
|
||||
import techreborn.init.TRContent;
|
||||
|
||||
|
@ -60,8 +60,9 @@ public class ItemCloakingDevice extends ItemTRArmour implements IEnergyItemInfo
|
|||
|
||||
// 40M FE capacity with 10k FE\t charge rate
|
||||
public ItemCloakingDevice() {
|
||||
super(Reference.CLOAKING_ARMOR, EntityEquipmentSlot.CHEST);
|
||||
setMaxStackSize(1);
|
||||
//TODO: Update ArmorMaterial
|
||||
super(ArmorMaterial.DIAMOND, EntityEquipmentSlot.CHEST);
|
||||
//setMaxStackSize(1);
|
||||
}
|
||||
|
||||
// Item
|
||||
|
@ -72,32 +73,40 @@ public class ItemCloakingDevice extends ItemTRArmour implements IEnergyItemInfo
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
|
||||
IEnergyStorage capEnergy = new ForgePowerItemManager(stack);
|
||||
if (capEnergy != null && capEnergy.getEnergyStored() >= usage) {
|
||||
capEnergy.extractEnergy(usage, false);
|
||||
player.setInvisible(true);
|
||||
} else {
|
||||
if (!player.isPotionActive(MobEffects.INVISIBILITY)) {
|
||||
player.setInvisible(false);
|
||||
|
||||
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
|
||||
if (entityIn instanceof EntityPlayer) {
|
||||
IEnergyStorage capEnergy = new ForgePowerItemManager(stack);
|
||||
if (capEnergy != null && capEnergy.getEnergyStored() >= usage) {
|
||||
capEnergy.extractEnergy(usage, false);
|
||||
// TODO: Optimize
|
||||
((EntityPlayer) entityIn).setInvisible(true);
|
||||
} else {
|
||||
if (!((EntityPlayer) entityIn).isPotionActive(MobEffects.INVISIBILITY)) {
|
||||
((EntityPlayer) entityIn).setInvisible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
|
||||
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public void getSubItems(CreativeTabs par2CreativeTabs, NonNullList<ItemStack> itemList) {
|
||||
if (!isInCreativeTab(par2CreativeTabs)) {
|
||||
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
|
||||
if (!isInGroup(group)) {
|
||||
return;
|
||||
}
|
||||
ItemStack uncharged = new ItemStack(TRContent.CLOAKING_DEVICE);
|
||||
ItemStack charged = new ItemStack(TRContent.CLOAKING_DEVICE);
|
||||
ForgePowerItemManager capEnergy = new ForgePowerItemManager(charged);
|
||||
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
|
||||
itemList.add(uncharged);
|
||||
// itemList.add(charged);
|
||||
items.add(uncharged);
|
||||
items.add(charged);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public double getDurabilityForDisplay(ItemStack stack) {
|
||||
return 1 - ItemUtils.getPowerForDurabilityBar(stack);
|
||||
|
|
|
@ -24,11 +24,13 @@
|
|||
|
||||
package techreborn.items.armor;
|
||||
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.NonNullList;
|
||||
|
@ -39,11 +41,8 @@ import net.minecraftforge.common.capabilities.ICapabilityProvider;
|
|||
import reborncore.api.power.IEnergyItemInfo;
|
||||
import reborncore.common.powerSystem.PowerSystem;
|
||||
import reborncore.common.powerSystem.PoweredItemContainerProvider;
|
||||
import reborncore.common.powerSystem.forge.ForgePowerItemManager;
|
||||
import reborncore.common.util.ItemUtils;
|
||||
import techreborn.config.ConfigTechReborn;
|
||||
import techreborn.init.TRContent;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class ItemLapotronicOrbpack extends ItemArmor implements IEnergyItemInfo {
|
||||
|
@ -53,28 +52,25 @@ public class ItemLapotronicOrbpack extends ItemArmor implements IEnergyItemInfo
|
|||
public int transferLimit = 100_000;
|
||||
|
||||
public ItemLapotronicOrbpack() {
|
||||
super(ItemArmor.ArmorMaterial.DIAMOND, 7, EntityEquipmentSlot.CHEST);
|
||||
setMaxStackSize(1);
|
||||
super(ArmorMaterial.DIAMOND, EntityEquipmentSlot.CHEST, (new Item.Builder()).group(ItemGroup.COMBAT));
|
||||
//TODO: move to builder
|
||||
//setMaxStackSize(1);
|
||||
}
|
||||
|
||||
// Item
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public void getSubItems(CreativeTabs par2CreativeTabs, NonNullList<ItemStack> itemList) {
|
||||
if (!isInCreativeTab(par2CreativeTabs)) {
|
||||
return;
|
||||
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
|
||||
if (this.isInGroup(group)) {
|
||||
items.add(new ItemStack(this));
|
||||
}
|
||||
ItemStack uncharged = new ItemStack(TRContent.LAPOTRONIC_ORBPACK);
|
||||
ItemStack charged = new ItemStack(TRContent.LAPOTRONIC_ORBPACK);
|
||||
ForgePowerItemManager capEnergy = new ForgePowerItemManager(charged);
|
||||
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
|
||||
itemList.add(uncharged);
|
||||
itemList.add(charged);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
|
||||
ItemLithiumIonBatpack.distributePowerToInventory(world, player, itemStack, (int) transferLimit);
|
||||
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
|
||||
if (entityIn instanceof EntityPlayer) {
|
||||
ItemLithiumIonBatpack.distributePowerToInventory(worldIn, (EntityPlayer) entityIn, stack,
|
||||
(int) transferLimit);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -24,11 +24,13 @@
|
|||
|
||||
package techreborn.items.armor;
|
||||
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.NonNullList;
|
||||
|
@ -54,8 +56,9 @@ public class ItemLithiumIonBatpack extends ItemArmor implements IEnergyItemInfo
|
|||
public int transferLimit = 2_000;
|
||||
|
||||
public ItemLithiumIonBatpack() {
|
||||
super(ItemArmor.ArmorMaterial.DIAMOND, 7, EntityEquipmentSlot.CHEST);
|
||||
setMaxStackSize(1);
|
||||
super(ArmorMaterial.DIAMOND, EntityEquipmentSlot.CHEST, (new Item.Builder()).group(ItemGroup.COMBAT));
|
||||
//TODO: move to builder
|
||||
//setMaxStackSize(1);
|
||||
}
|
||||
|
||||
public static void distributePowerToInventory(World world, EntityPlayer player, ItemStack itemStack, int maxSend) {
|
||||
|
@ -74,8 +77,10 @@ public class ItemLithiumIonBatpack extends ItemArmor implements IEnergyItemInfo
|
|||
|
||||
// Item
|
||||
@Override
|
||||
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
|
||||
distributePowerToInventory(world, player, itemStack, (int) transferLimit);
|
||||
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
|
||||
if (entityIn instanceof EntityPlayer) {
|
||||
distributePowerToInventory(worldIn, (EntityPlayer) entityIn, stack, (int) transferLimit);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -95,9 +100,7 @@ public class ItemLithiumIonBatpack extends ItemArmor implements IEnergyItemInfo
|
|||
|
||||
@Override
|
||||
@Nullable
|
||||
public ICapabilityProvider initCapabilities(ItemStack stack,
|
||||
@Nullable
|
||||
NBTTagCompound nbt) {
|
||||
public ICapabilityProvider initCapabilities(ItemStack stack, @Nullable NBTTagCompound nbt) {
|
||||
return new PoweredItemContainerProvider(stack);
|
||||
}
|
||||
|
||||
|
@ -109,18 +112,18 @@ public class ItemLithiumIonBatpack extends ItemArmor implements IEnergyItemInfo
|
|||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public void getSubItems(CreativeTabs par2CreativeTabs, NonNullList<ItemStack> itemList) {
|
||||
if (!isInCreativeTab(par2CreativeTabs)) {
|
||||
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
|
||||
if (!isInGroup(group)) {
|
||||
return;
|
||||
}
|
||||
ItemStack uncharged = new ItemStack(TRContent.LITHIUM_ION_BATTERY);
|
||||
ItemStack charged = new ItemStack(TRContent.LITHIUM_ION_BATTERY);
|
||||
ForgePowerItemManager capEnergy = new ForgePowerItemManager(charged);
|
||||
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
|
||||
itemList.add(uncharged);
|
||||
// itemList.add(charged);
|
||||
items.add(uncharged);
|
||||
items.add(charged);
|
||||
}
|
||||
|
||||
|
||||
// IEnergyItemInfo
|
||||
@Override
|
||||
public int getCapacity() {
|
||||
|
|
|
@ -25,7 +25,10 @@
|
|||
package techreborn.items.armor;
|
||||
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.item.ArmorMaterial;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import reborncore.common.util.ItemUtils;
|
||||
import techreborn.events.TRRecipeHandler;
|
||||
|
@ -42,23 +45,23 @@ public class ItemTRArmour extends ItemArmor {
|
|||
}
|
||||
|
||||
public ItemTRArmour(ArmorMaterial material, EntityEquipmentSlot slot, String repairOreDict) {
|
||||
super(material, material.getDamageReductionAmount(slot), slot);
|
||||
super(material, slot, (new Item.Builder()).group(ItemGroup.COMBAT));
|
||||
this.repairOreDict = repairOreDict;
|
||||
if (slot == EntityEquipmentSlot.HEAD)
|
||||
setTranslationKey(material.name().toLowerCase() + "Helmet");
|
||||
//setTranslationKey(material.name().toLowerCase() + "Helmet");
|
||||
if (slot == EntityEquipmentSlot.CHEST)
|
||||
setTranslationKey(material.name().toLowerCase() + "Chestplate");
|
||||
//setTranslationKey(material.name().toLowerCase() + "Chestplate");
|
||||
if (slot == EntityEquipmentSlot.LEGS)
|
||||
setTranslationKey(material.name().toLowerCase() + "Leggings");
|
||||
//setTranslationKey(material.name().toLowerCase() + "Leggings");
|
||||
if (slot == EntityEquipmentSlot.FEET)
|
||||
setTranslationKey(material.name().toLowerCase() + "Boots");
|
||||
//setTranslationKey(material.name().toLowerCase() + "Boots");
|
||||
TRRecipeHandler.hideEntry(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getIsRepairable(ItemStack toRepair, ItemStack repair) {
|
||||
if (toRepair.getItem() == this && !repairOreDict.isEmpty()) {
|
||||
return ItemUtils.isInputEqual(repairOreDict, repair, false, false, true);
|
||||
return ItemUtils.isInputEqual(repairOreDict, repair, false, true);
|
||||
}
|
||||
return super.getIsRepairable(toRepair, repair);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue