- 36
- 0
Доброго времени суток, формучане. Я сделал собственную броню и попытался сделать для нее свою энергию, могу сказать что у меня получилось, почти.
Вообщем, вроде бы емкость пополняется, но все бы ничего, но заряд пополняется на нагрудники которые находятся в инвенторе и даже тот, который находится в вкладке креатива, вопрос, как мне сделать так, чтобы заряд пополнялся только при надетом нагруднике? Я пытался сделать, но что то не получилось
Вообщем, вроде бы емкость пополняется, но все бы ничего, но заряд пополняется на нагрудники которые находятся в инвенторе и даже тот, который находится в вкладке креатива, вопрос, как мне сделать так, чтобы заряд пополнялся только при надетом нагруднике? Я пытался сделать, но что то не получилось
Класс нагрудника:
public class ItemHeavenlyChest extends ItemArmor implements IHasModel {
private int energyCapacity = 500;
private int currentEnergy = 0;
private int tickCounter = 0;
private int ticksPerEnergy = 20;
public ItemHeavenlyChest(String name, int layer,ArmorMaterial materialIn, EntityEquipmentSlot equipmentSlotIn)
{
super(materialIn, layer, equipmentSlotIn);
this.setRegistryName(name);
this.setUnlocalizedName(name);
this.setCreativeTab(Main.HEAVENLY_TABS);
InitItems.ITEMS.add(this);
}
@Override
public void registerModels() {
Main.proxy.registerItemRenderer(this, 0, "inventory");
}
public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type) {
return "ht:textures/models/armor/heavenly_model_layer_3.png";
}
@Override
public void addInformation(ItemStack stack, World worldIn, List<String> tooltip, ITooltipFlag flagIn) {
tooltip.add("Energy: " + this.currentEnergy + "/" + this.energyCapacity);
super.addInformation(stack, worldIn, tooltip, flagIn);
}
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
if (player.getItemStackFromSlot(EntityEquipmentSlot.CHEST) == itemStack) {
if (this.currentEnergy < this.energyCapacity) {
this.tickCounter++;
if (this.tickCounter >= this.ticksPerEnergy) {
this.currentEnergy++;
this.tickCounter = 0;
}
}
}
}
@Override
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, EntityEquipmentSlot armorSlot,
ModelBiped _default) {
if (itemStack != ItemStack.EMPTY) {
if (itemStack.getItem() instanceof ItemArmor) {
HeavenlyChestModel model = new HeavenlyChestModel();
model.bipedHead.showModel = armorSlot == EntityEquipmentSlot.HEAD;
model.bipedHeadwear.showModel = false;
model.bipedBody.showModel = armorSlot == EntityEquipmentSlot.CHEST || armorSlot == EntityEquipmentSlot.LEGS;
model.bipedRightArm.showModel = armorSlot == EntityEquipmentSlot.CHEST;
model.bipedLeftArm.showModel = armorSlot == EntityEquipmentSlot.CHEST;
model.bipedRightLeg.showModel = armorSlot == EntityEquipmentSlot.LEGS || armorSlot == EntityEquipmentSlot.FEET;
model.bipedLeftLeg.showModel = armorSlot == EntityEquipmentSlot.LEGS || armorSlot == EntityEquipmentSlot.FEET;
model.isChild = _default.isChild;
model.isRiding = _default.isRiding;
model.isSneak = _default.isSneak;
model.rightArmPose = _default.rightArmPose;
model.leftArmPose = _default.leftArmPose;
return model;
}
}
return null;
}
}