Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Faro

Members
  • Joined

  • Last visited

Everything posted by Faro

  1. Ok I removed all the model visibillities settings. Could I replace "LokiModel model = new LokiModel(1f);" with "BipedModel model = new LokiModel(1f);" ?
  2. I am not sure what you meant with your first point but I changed this things and it didn t change anything. public class LokiArmorItem extends ArmorItem{ LokiModel model = new LokiModel(1f); private static final String TEXTURE = FarosVikingsMod.modID + ":textures/armor/loki.png"; public LokiArmorItem(IArmorMaterial p_i48534_1_, EquipmentSlotType slot, Properties p_i48534_3_) { super(p_i48534_1_, slot, p_i48534_3_); } @SuppressWarnings("unchecked") @Nullable @Override public <A extends BipedModel<?>> A getArmorModel(LivingEntity entityLiving, ItemStack itemStack, EquipmentSlotType slot, A _default) { model.setAllVisible(false); switch(slot) { case HEAD: model.head.visible = true; model.hat.visible = true; break; case CHEST: model.body.visible = true; model.rightArm.visible = true; model.leftArm.visible = true; break; case LEGS: model.body.visible = true; model.rightLeg.visible = true; model.leftLeg.visible = true; break; case FEET: model.rightLeg.visible = true; model.leftLeg.visible = true; } model.young = _default.young; model.riding = _default.riding; model.crouching = _default.crouching; model.rightArmPose = _default.rightArmPose; model.leftArmPose = _default.leftArmPose; return (A) model; } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlotType slot, String type) { return TEXTURE; } }
  3. I have some trouble with redering my ArmorModel. It renderes my whole armor, also if there is only one item in my armorslot. And my armor doesen t react on basic animation like hit somethink or walk. Also if the player turns his head, the armor doesn t turn with him. Here is my code: ArmorItem: public class LokiArmorItem extends ArmorItem{ private static final String TEXTURE = FarosVikingsMod.modID + ":textures/armor/loki.png"; public LokiArmorItem(IArmorMaterial p_i48534_1_, EquipmentSlotType p_i48534_2_, Properties p_i48534_3_) { super(p_i48534_1_, p_i48534_2_, p_i48534_3_); } @SuppressWarnings("unchecked") @Nullable @Override public <A extends BipedModel<?>> A getArmorModel(LivingEntity entityLiving, ItemStack itemStack, EquipmentSlotType slot, A _default) { LokiModel model = (slot == EquipmentSlotType.LEGS ? new LokiModel(0.5f) : new LokiModel(1f)); model.head.visible = slot == EquipmentSlotType.HEAD; model.hat.visible = slot == EquipmentSlotType.HEAD; model.body.visible = (slot == EquipmentSlotType.CHEST); model.rightArm.visible = slot == EquipmentSlotType.CHEST; model.leftArm.visible = slot == EquipmentSlotType.CHEST; model.rightLeg.visible = (slot == EquipmentSlotType.LEGS) || (slot == EquipmentSlotType.FEET); model.leftLeg.visible = (slot == EquipmentSlotType.LEGS) || (slot == EquipmentSlotType.FEET); model.young = _default.young; model.crouching = _default.crouching; model.riding = _default.riding; model.rightArmPose = _default.rightArmPose; model.leftArmPose = _default.leftArmPose; return (A) model; } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlotType slot, String type) { return TEXTURE; } } ArmorModel: @OnlyIn(Dist.CLIENT) public class LokiModel extends BipedModel<LivingEntity>{ private final ModelRenderer Loki; private final ModelRenderer cube_r1; private final ModelRenderer Head; private final ModelRenderer hornV1; private final ModelRenderer cube_r2; private final ModelRenderer cube_r3; private final ModelRenderer cube_r4; private final ModelRenderer cube_r5; private final ModelRenderer hornV2; private final ModelRenderer cube_r6; private final ModelRenderer cube_r7; private final ModelRenderer cube_r8; private final ModelRenderer cube_r9; private final ModelRenderer LeftLeg; private final ModelRenderer RightLeg; private final ModelRenderer LeftArm; private final ModelRenderer RightArm; private final ModelRenderer Body; public LokiModel(float p_i1148_1_) { super(p_i1148_1_); texWidth = 64; texHeight = 64; Loki = new ModelRenderer(this); Loki.setPos(0.0F, 24.0F, 0.0F); cube_r1 = new ModelRenderer(this); cube_r1.setPos(0.0F, 0.0F, 0.0F); Loki.addChild(cube_r1); setRotationAngle(cube_r1, 0.3054F, 0.0F, 0.0F); cube_r1.texOffs(34, 38).addBox(-5.0F, -23.0F, 10.0F, 10.0F, 15.0F, 1.0F, 0.0F, false); Head = new ModelRenderer(this); Head.setPos(0.0F, -24.0F, 0.0F); Loki.addChild(Head); Head.texOffs(0, 0).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, 1.0F, false); Head.texOffs(32, 0).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, 1.5F, false); hornV1 = new ModelRenderer(this); hornV1.setPos(2.0F, 26.0F, 0.0F); Head.addChild(hornV1); setRotationAngle(hornV1, -3.1416F, -1.309F, 3.1416F); hornV1.texOffs(9, 0).addBox(-3.5F, -36.0F, -2.0F, 3.0F, 1.0F, 3.0F, 0.0F, false); cube_r2 = new ModelRenderer(this); cube_r2.setPos(3.2132F, -39.5353F, -0.5F); hornV1.addChild(cube_r2); setRotationAngle(cube_r2, 0.0F, -0.5672F, -0.6981F); cube_r2.texOffs(9, 0).addBox(-6.5F, -7.0F, 2.25F, 2.0F, 7.0F, 1.0F, 0.0F, false); cube_r2.texOffs(9, 0).addBox(-6.5F, -7.0F, 4.0F, 2.0F, 7.0F, 1.0F, 0.0F, false); cube_r3 = new ModelRenderer(this); cube_r3.setPos(3.075F, -40.311F, -0.5F); hornV1.addChild(cube_r3); setRotationAngle(cube_r3, 0.0F, 0.0F, 0.7854F); cube_r3.texOffs(9, 0).addBox(-8.875F, -1.25F, -1.0F, 2.0F, 4.0F, 2.0F, 0.0F, false); cube_r4 = new ModelRenderer(this); cube_r4.setPos(3.1719F, -40.3345F, -0.5F); hornV1.addChild(cube_r4); setRotationAngle(cube_r4, 0.0F, 0.0F, 0.3491F); cube_r4.texOffs(9, 0).addBox(-9.5F, -0.75F, -1.0F, 2.0F, 4.0F, 2.0F, 0.0F, false); cube_r5 = new ModelRenderer(this); cube_r5.setPos(3.2132F, -39.5353F, -0.5F); hornV1.addChild(cube_r5); setRotationAngle(cube_r5, 0.0F, 0.0F, -0.6981F); cube_r5.texOffs(9, 0).addBox(-7.5F, -7.0F, -1.0F, 2.0F, 7.0F, 2.0F, 0.0F, false); hornV2 = new ModelRenderer(this); hornV2.setPos(-3.0F, 26.0F, 0.0F); Head.addChild(hornV2); setRotationAngle(hornV2, 0.0F, -1.1781F, 0.0F); hornV2.texOffs(11, 0).addBox(-3.5F, -36.0F, -2.0F, 3.0F, 1.0F, 3.0F, 0.0F, false); cube_r6 = new ModelRenderer(this); cube_r6.setPos(3.2132F, -39.5353F, -0.5F); hornV2.addChild(cube_r6); setRotationAngle(cube_r6, 0.0F, -0.5672F, -0.6981F); cube_r6.texOffs(11, 0).addBox(-6.5F, -7.0F, 2.25F, 2.0F, 7.0F, 1.0F, 0.0F, false); cube_r6.texOffs(11, 0).addBox(-6.5F, -7.0F, 4.0F, 2.0F, 7.0F, 1.0F, 0.0F, false); cube_r7 = new ModelRenderer(this); cube_r7.setPos(3.075F, -40.311F, -0.5F); hornV2.addChild(cube_r7); setRotationAngle(cube_r7, 0.0F, 0.0F, 0.7854F); cube_r7.texOffs(11, 0).addBox(-8.875F, -1.25F, -1.0F, 2.0F, 4.0F, 2.0F, 0.0F, false); cube_r8 = new ModelRenderer(this); cube_r8.setPos(3.1719F, -40.3345F, -0.5F); hornV2.addChild(cube_r8); setRotationAngle(cube_r8, 0.0F, 0.0F, 0.3491F); cube_r8.texOffs(11, 0).addBox(-9.5F, -0.75F, -1.0F, 2.0F, 4.0F, 2.0F, 0.0F, false); cube_r9 = new ModelRenderer(this); cube_r9.setPos(3.2132F, -39.5353F, -0.5F); hornV2.addChild(cube_r9); setRotationAngle(cube_r9, 0.0F, 0.0F, -0.6981F); cube_r9.texOffs(11, 0).addBox(-7.5F, -7.0F, -1.0F, 2.0F, 7.0F, 2.0F, 0.0F, false); LeftLeg = new ModelRenderer(this); LeftLeg.setPos(1.9F, -12.0F, 0.0F); Loki.addChild(LeftLeg); LeftLeg.texOffs(0, 16).addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F, 1.0F, true); RightLeg = new ModelRenderer(this); RightLeg.setPos(-1.9F, -12.0F, 0.0F); Loki.addChild(RightLeg); RightLeg.texOffs(0, 16).addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F, 1.0F, false); LeftArm = new ModelRenderer(this); LeftArm.setPos(5.0F, -22.0F, 0.0F); Loki.addChild(LeftArm); LeftArm.texOffs(40, 15).addBox(-1.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F, 1.0F, true); RightArm = new ModelRenderer(this); RightArm.setPos(-5.0F, -22.0F, 0.0F); Loki.addChild(RightArm); RightArm.texOffs(40, 15).addBox(-3.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F, 1.0F, false); Body = new ModelRenderer(this); Body.setPos(0.0F, -24.0F, 0.0F); Loki.addChild(Body); Body.texOffs(16, 16).addBox(-4.0F, 0.0F, -2.0F, 8.0F, 12.0F, 4.0F, 1.01F, false); } @Override public void renderToBuffer(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ Loki.render(matrixStack, buffer, packedLight, packedOverlay); } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.xRot = x; modelRenderer.yRot = y; modelRenderer.zRot = z; } } for the armormaterial I tried both an Enum ArmorMaterial and a class that extends my ArmorItem with an AmorMaterial in it: public enum LokiArmor implements IArmorMaterial { LOKI_ARMOR("loki", 7, new int[]{7, 9, 10, 6}, 17, SoundEvents.ARMOR_EQUIP_LEATHER,2f, 0.1f,()-> Ingredient.of(ModItems.COPPER_INGOT.get())); private static final int[] baseDurability = {128, 144, 160, 112}; private final String name; private final int durability; private final int[] armorVal; private final int enchantability; private final SoundEvent equipSound; private final float toughniss; private final float knockBackResistance; private final Ingredient repairMaterial; LokiArmor(String name, int durability, int[] armorVal, int enchantability, SoundEvent equipSound, float toughniss, float knockBackResistance, Supplier<Ingredient> repairMaterial) { this.name = name; this.durability = durability; this.armorVal = armorVal; this.enchantability = enchantability; this.equipSound = equipSound; this.toughniss = toughniss; this.knockBackResistance = knockBackResistance; this.repairMaterial = repairMaterial.get(); } @Override public int getDurabilityForSlot(EquipmentSlotType slot) { return this.baseDurability[slot.getIndex() ]* this.durability ; } @Override public int getDefenseForSlot(EquipmentSlotType slot) { return this.armorVal[slot.getIndex()]; } @Override public int getEnchantmentValue() { return this.enchantability; } @Override public SoundEvent getEquipSound() { return this.equipSound; } @Override public Ingredient getRepairIngredient() { return this.repairMaterial; } @Override public String getName() { return this.name; } @Override public float getToughness() { return this.toughniss; } @Override public float getKnockbackResistance() { return this.knockBackResistance; } } public class DLokiArmor extends LokiArmorItem{ public DLokiArmor(IArmorMaterial p_i48534_1_, EquipmentSlotType p_i48534_2_, Properties p_i48534_3_) { super(p_i48534_1_, p_i48534_2_, p_i48534_3_); } public static final IArmorMaterial LOKI = new IArmorMaterial() { private final int[] damageReduction = {7, 9, 10, 6}; @Override public int getDurabilityForSlot(EquipmentSlotType slotType) { return 7000; } @Override public int getDefenseForSlot(EquipmentSlotType slotType) { return damageReduction[slotType.getIndex()]; } @Override public int getEnchantmentValue() { return 17; } @Override public SoundEvent getEquipSound() { return SoundEvents.ARMOR_EQUIP_DIAMOND; } @Override public Ingredient getRepairIngredient() { Item item = ForgeRegistries.ITEMS.getValue(new ResourceLocation("minecraft", "diamond")); return Ingredient.of(item); } @Override public String getName() { return "loki_armor"; } @Override public float getToughness() { return 3; } @Override public float getKnockbackResistance() { return 0; } }; @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlotType slot, String type) { if(stack.getItem() == ModItems.LOKI_LEGGINGS.get()) { return FarosVikingsMod.modID + ":" + "/textures/armor/loki.png" ; } else if(stack.getItem() == ModItems.LOKI_HELMET.get() || stack.getItem() == ModItems.LOKI_CHEST.get() || stack.getItem() == ModItems.LOKI_BOOTS.get()) { return FarosVikingsMod.modID + ":" + "/textures/armor/loki.png" ; } return null; } }
  4. Ok. But now I have the problem that my armor is fully rendered, also if I have only one item in my armorslot. And if I turn my armor doesn t turn with my charakter. Here is my code: ArmorItem public class LokiArmorItem extends ArmorItem{ private static final String TEXTURE = FarosVikingsMod.modID + ":textures/armor/loki.png"; public LokiArmorItem(IArmorMaterial p_i48534_1_, EquipmentSlotType p_i48534_2_, Properties p_i48534_3_) { super(p_i48534_1_, p_i48534_2_, p_i48534_3_); } @SuppressWarnings("unchecked") @Nullable @Override public <A extends BipedModel<?>> A getArmorModel(LivingEntity entityLiving, ItemStack itemStack, EquipmentSlotType slot, A _default) { LokiModel model = (slot == EquipmentSlotType.LEGS ? new LokiModel(0.5f) : new LokiModel(1f)); model.head.visible = slot == EquipmentSlotType.HEAD; model.hat.visible = slot == EquipmentSlotType.HEAD; model.body.visible = (slot == EquipmentSlotType.CHEST); model.rightArm.visible = slot == EquipmentSlotType.CHEST; model.leftArm.visible = slot == EquipmentSlotType.CHEST; model.rightLeg.visible = (slot == EquipmentSlotType.LEGS) || (slot == EquipmentSlotType.FEET); model.leftLeg.visible = (slot == EquipmentSlotType.LEGS) || (slot == EquipmentSlotType.FEET); model.young = _default.young; model.crouching = _default.crouching; model.riding = _default.riding; model.rightArmPose = _default.rightArmPose; model.leftArmPose = _default.leftArmPose; return (A) model; } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlotType slot, String type) { return TEXTURE; } } Model: @OnlyIn(Dist.CLIENT) public class LokiModel extends BipedModel<LivingEntity>{ private final ModelRenderer Loki; private final ModelRenderer cube_r1; private final ModelRenderer Head; private final ModelRenderer hornV1; private final ModelRenderer cube_r2; private final ModelRenderer cube_r3; private final ModelRenderer cube_r4; private final ModelRenderer cube_r5; private final ModelRenderer hornV2; private final ModelRenderer cube_r6; private final ModelRenderer cube_r7; private final ModelRenderer cube_r8; private final ModelRenderer cube_r9; private final ModelRenderer LeftLeg; private final ModelRenderer RightLeg; private final ModelRenderer LeftArm; private final ModelRenderer RightArm; private final ModelRenderer Body; public LokiModel(float p_i1148_1_) { super(p_i1148_1_); texWidth = 64; texHeight = 64; Loki = new ModelRenderer(this); Loki.setPos(0.0F, 24.0F, 0.0F); cube_r1 = new ModelRenderer(this); cube_r1.setPos(0.0F, 0.0F, 0.0F); Loki.addChild(cube_r1); setRotationAngle(cube_r1, 0.3054F, 0.0F, 0.0F); cube_r1.texOffs(34, 38).addBox(-5.0F, -23.0F, 10.0F, 10.0F, 15.0F, 1.0F, 0.0F, false); Head = new ModelRenderer(this); Head.setPos(0.0F, -24.0F, 0.0F); Loki.addChild(Head); Head.texOffs(0, 0).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, 1.0F, false); Head.texOffs(32, 0).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, 1.5F, false); hornV1 = new ModelRenderer(this); hornV1.setPos(2.0F, 26.0F, 0.0F); Head.addChild(hornV1); setRotationAngle(hornV1, -3.1416F, -1.309F, 3.1416F); hornV1.texOffs(9, 0).addBox(-3.5F, -36.0F, -2.0F, 3.0F, 1.0F, 3.0F, 0.0F, false); cube_r2 = new ModelRenderer(this); cube_r2.setPos(3.2132F, -39.5353F, -0.5F); hornV1.addChild(cube_r2); setRotationAngle(cube_r2, 0.0F, -0.5672F, -0.6981F); cube_r2.texOffs(9, 0).addBox(-6.5F, -7.0F, 2.25F, 2.0F, 7.0F, 1.0F, 0.0F, false); cube_r2.texOffs(9, 0).addBox(-6.5F, -7.0F, 4.0F, 2.0F, 7.0F, 1.0F, 0.0F, false); cube_r3 = new ModelRenderer(this); cube_r3.setPos(3.075F, -40.311F, -0.5F); hornV1.addChild(cube_r3); setRotationAngle(cube_r3, 0.0F, 0.0F, 0.7854F); cube_r3.texOffs(9, 0).addBox(-8.875F, -1.25F, -1.0F, 2.0F, 4.0F, 2.0F, 0.0F, false); cube_r4 = new ModelRenderer(this); cube_r4.setPos(3.1719F, -40.3345F, -0.5F); hornV1.addChild(cube_r4); setRotationAngle(cube_r4, 0.0F, 0.0F, 0.3491F); cube_r4.texOffs(9, 0).addBox(-9.5F, -0.75F, -1.0F, 2.0F, 4.0F, 2.0F, 0.0F, false); cube_r5 = new ModelRenderer(this); cube_r5.setPos(3.2132F, -39.5353F, -0.5F); hornV1.addChild(cube_r5); setRotationAngle(cube_r5, 0.0F, 0.0F, -0.6981F); cube_r5.texOffs(9, 0).addBox(-7.5F, -7.0F, -1.0F, 2.0F, 7.0F, 2.0F, 0.0F, false); hornV2 = new ModelRenderer(this); hornV2.setPos(-3.0F, 26.0F, 0.0F); Head.addChild(hornV2); setRotationAngle(hornV2, 0.0F, -1.1781F, 0.0F); hornV2.texOffs(11, 0).addBox(-3.5F, -36.0F, -2.0F, 3.0F, 1.0F, 3.0F, 0.0F, false); cube_r6 = new ModelRenderer(this); cube_r6.setPos(3.2132F, -39.5353F, -0.5F); hornV2.addChild(cube_r6); setRotationAngle(cube_r6, 0.0F, -0.5672F, -0.6981F); cube_r6.texOffs(11, 0).addBox(-6.5F, -7.0F, 2.25F, 2.0F, 7.0F, 1.0F, 0.0F, false); cube_r6.texOffs(11, 0).addBox(-6.5F, -7.0F, 4.0F, 2.0F, 7.0F, 1.0F, 0.0F, false); cube_r7 = new ModelRenderer(this); cube_r7.setPos(3.075F, -40.311F, -0.5F); hornV2.addChild(cube_r7); setRotationAngle(cube_r7, 0.0F, 0.0F, 0.7854F); cube_r7.texOffs(11, 0).addBox(-8.875F, -1.25F, -1.0F, 2.0F, 4.0F, 2.0F, 0.0F, false); cube_r8 = new ModelRenderer(this); cube_r8.setPos(3.1719F, -40.3345F, -0.5F); hornV2.addChild(cube_r8); setRotationAngle(cube_r8, 0.0F, 0.0F, 0.3491F); cube_r8.texOffs(11, 0).addBox(-9.5F, -0.75F, -1.0F, 2.0F, 4.0F, 2.0F, 0.0F, false); cube_r9 = new ModelRenderer(this); cube_r9.setPos(3.2132F, -39.5353F, -0.5F); hornV2.addChild(cube_r9); setRotationAngle(cube_r9, 0.0F, 0.0F, -0.6981F); cube_r9.texOffs(11, 0).addBox(-7.5F, -7.0F, -1.0F, 2.0F, 7.0F, 2.0F, 0.0F, false); LeftLeg = new ModelRenderer(this); LeftLeg.setPos(1.9F, -12.0F, 0.0F); Loki.addChild(LeftLeg); LeftLeg.texOffs(0, 16).addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F, 1.0F, true); RightLeg = new ModelRenderer(this); RightLeg.setPos(-1.9F, -12.0F, 0.0F); Loki.addChild(RightLeg); RightLeg.texOffs(0, 16).addBox(-2.0F, 0.0F, -2.0F, 4.0F, 12.0F, 4.0F, 1.0F, false); LeftArm = new ModelRenderer(this); LeftArm.setPos(5.0F, -22.0F, 0.0F); Loki.addChild(LeftArm); LeftArm.texOffs(40, 15).addBox(-1.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F, 1.0F, true); RightArm = new ModelRenderer(this); RightArm.setPos(-5.0F, -22.0F, 0.0F); Loki.addChild(RightArm); RightArm.texOffs(40, 15).addBox(-3.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F, 1.0F, false); Body = new ModelRenderer(this); Body.setPos(0.0F, -24.0F, 0.0F); Loki.addChild(Body); Body.texOffs(16, 16).addBox(-4.0F, 0.0F, -2.0F, 8.0F, 12.0F, 4.0F, 1.01F, false); } @Override public void renderToBuffer(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ Loki.render(matrixStack, buffer, packedLight, packedOverlay); } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.xRot = x; modelRenderer.yRot = y; modelRenderer.zRot = z; } } for the armormaterial I tried both an Enum ArmorMaterial and a class that extends my ArmorItem with an AmorMaterial in it: public class DLokiArmor extends LokiArmorItem{ public DLokiArmor(IArmorMaterial p_i48534_1_, EquipmentSlotType p_i48534_2_, Properties p_i48534_3_) { super(p_i48534_1_, p_i48534_2_, p_i48534_3_); } public static final IArmorMaterial LOKI = new IArmorMaterial() { private final int[] damageReduction = {7, 9, 10, 6}; @Override public int getDurabilityForSlot(EquipmentSlotType slotType) { return 7000; } @Override public int getDefenseForSlot(EquipmentSlotType slotType) { return damageReduction[slotType.getIndex()]; } @Override public int getEnchantmentValue() { return 17; } @Override public SoundEvent getEquipSound() { return SoundEvents.ARMOR_EQUIP_DIAMOND; } @Override public Ingredient getRepairIngredient() { Item item = ForgeRegistries.ITEMS.getValue(new ResourceLocation("minecraft", "diamond")); return Ingredient.of(item); } @Override public String getName() { return "loki_armor"; } @Override public float getToughness() { return 3; } @Override public float getKnockbackResistance() { return 0; } }; @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlotType slot, String type) { if(stack.getItem() == ModItems.LOKI_LEGGINGS.get()) { return FarosVikingsMod.modID + ":" + "/textures/armor/loki.png" ; } else if(stack.getItem() == ModItems.LOKI_HELMET.get() || stack.getItem() == ModItems.LOKI_CHEST.get() || stack.getItem() == ModItems.LOKI_BOOTS.get()) { return FarosVikingsMod.modID + ":" + "/textures/armor/loki.png" ; } return null; } } public enum LokiArmor implements IArmorMaterial { LOKI_ARMOR("loki", 7, new int[]{7, 9, 10, 6}, 17, SoundEvents.ARMOR_EQUIP_LEATHER,2f, 0.1f,()-> Ingredient.of(ModItems.COPPER_INGOT.get())); private static final int[] baseDurability = {128, 144, 160, 112}; private final String name; private final int durability; private final int[] armorVal; private final int enchantability; private final SoundEvent equipSound; private final float toughniss; private final float knockBackResistance; private final Ingredient repairMaterial; LokiArmor(String name, int durability, int[] armorVal, int enchantability, SoundEvent equipSound, float toughniss, float knockBackResistance, Supplier<Ingredient> repairMaterial) { this.name = name; this.durability = durability; this.armorVal = armorVal; this.enchantability = enchantability; this.equipSound = equipSound; this.toughniss = toughniss; this.knockBackResistance = knockBackResistance; this.repairMaterial = repairMaterial.get(); } @Override public int getDurabilityForSlot(EquipmentSlotType slot) { return this.baseDurability[slot.getIndex() ]* this.durability ; } @Override public int getDefenseForSlot(EquipmentSlotType slot) { return this.armorVal[slot.getIndex()]; } @Override public int getEnchantmentValue() { return this.enchantability; } @Override public SoundEvent getEquipSound() { return this.equipSound; } @Override public Ingredient getRepairIngredient() { return this.repairMaterial; } @Override public String getName() { return this.name; } @Override public float getToughness() { return this.toughniss; } @Override public float getKnockbackResistance() { return this.knockBackResistance; } }
  5. @Valtiel In your ClientProxy code you are implementing IProxy but in 1.16.5 we have now the MojangMappings, so do you know what IProxy is in 1.16.5?
  6. I want to have an Trident item that on use creates an lightning. But if I write somethink into the use funktion it´s impossible to throw the Trident. Heres my Code: https://pastebin.com/9dGFUTMf I know it´s because if i write somethink into the use funktion it overrides the vanilla code but I dont know how to code a throable item.

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.