- 17
- 2
- 0
Здравствуйте, хотел бы добавить в игру щит, который будет схож с механикой щита в моде кастом нпс, у них код выглядит как-то так:
(класс самого щита, мб механик)
(класс с материалом для щита)
Сам я попытался скопировать код и некоторые другие детали, которые автор мода прописывал конкретно для своих вещей, но у меня ничего не получилось, прошу помощи в написании подобного предмета, спасибо.
(класс самого щита, мб механик)
Java:
package noppes.npcs.items;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import noppes.npcs.CustomItems;
import noppes.npcs.constants.EnumNpcToolMaterial;
import org.lwjgl.opengl.GL11;
public class ItemShield extends ItemNpcInterface {
public EnumNpcToolMaterial material;
public ItemShield(int par1, EnumNpcToolMaterial material) {
super(par1);
this.material = material;
func_77656_e(material.getMaxUses());
func_77637_a((CreativeTabs)CustomItems.tabWeapon);
}
public void renderSpecial() {
GL11.glScalef(0.6F, 0.6F, 0.6F);
GL11.glTranslatef(0.0F, 0.0F, -0.2F);
GL11.glRotatef(-6.0F, 0.0F, 1.0F, 0.0F);
}
public EnumAction func_77661_b(ItemStack par1ItemStack) {
return EnumAction.block;
}
public ItemStack func_77659_a(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
par3EntityPlayer.func_71008_a(par1ItemStack, func_77626_a(par1ItemStack));
return par1ItemStack;
}
public int func_77626_a(ItemStack par1ItemStack) {
return 72000;
}
}
Java:
package noppes.npcs.constants;
public enum EnumNpcToolMaterial {
WOOD(0, 59, 2.0F, 0, 15),
STONE(1, 131, 4.0F, 1, 5),
BRONZE(2, 170, 5.0F, 2, 15),
IRON(2, 250, 6.0F, 2, 14),
DIA(3, 1561, 8.0F, 3, 10),
GOLD(0, 32, 12.0F, 1, 22),
EMERALD(3, 1000, 8.0F, 4, 10),
DEMONIC(3, 100, 8.0F, 6, 10),
FROST(2, 59, 6.0F, 3, 5),
MITHRIL(3, 3000, 8.0F, 3, 10);
private final int harvestLevel;
private final int maxUses;
private final float efficiencyOnProperMaterial;
private final int damageVsEntity;
private final int enchantability;
EnumNpcToolMaterial(int par3, int par4, float par5, int par6, int par7) {
this.harvestLevel = par3;
this.maxUses = par4;
this.efficiencyOnProperMaterial = par5;
this.damageVsEntity = par6;
this.enchantability = par7;
}
public int getMaxUses() {
return this.maxUses;
}
public float getEfficiencyOnProperMaterial() {
return this.efficiencyOnProperMaterial;
}
public int getDamageVsEntity() {
return this.damageVsEntity;
}
public int getHarvestLevel() {
return this.harvestLevel;
}
public int getEnchantability() {
return this.enchantability;
}
}