package net.mcreator.miraculous.item; import net.mcreator.miraculous.network.MiraculousModVariables; import net.mcreator.miraculous.procedures.LadybugSuitEffectsProcedure; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.Dist; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Item; import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ArmorItem; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.Entity; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundEvent; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.Minecraft; import net.mcreator.miraculous.client.model.Modelcustom_model; import java.util.function.Consumer; import java.util.Map; import java.util.Collections; public abstract class ScarabellaSuitItem extends ArmorItem { public ScarabellaSuitItem(ArmorItem.Type type, Item.Properties properties) { super(new ArmorMaterial() { @Override public int getDurabilityForType(ArmorItem.Type type) { return new int[]{13, 15, 16, 11}[type.getSlot().getIndex()] * 25; } @Override public int getDefenseForType(ArmorItem.Type type) { return new int[]{2, 5, 6, 2}[type.getSlot().getIndex()]; } @Override public int getEnchantmentValue() { return 9; } @Override public SoundEvent getEquipSound() { return SoundEvents.EMPTY; } @Override public Ingredient getRepairIngredient() { return Ingredient.of(); } @Override public String getName() { return "scarabella_suit"; } @Override public float getToughness() { return 0f; } @Override public float getKnockbackResistance() { return 0f; } }, type, properties); } public static class Helmet extends ScarabellaSuitItem { public Helmet() { super(ArmorItem.Type.HELMET, new Item.Properties()); } @Override public void initializeClient(Consumer consumer) { consumer.accept(new IClientItemExtensions() { @Override public HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel defaultModel) { HumanoidModel armorModel = new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of("head", new Modelcustom_model(Minecraft.getInstance().getEntityModels().bakeLayer(Modelcustom_model.LAYER_LOCATION)).Head, "hat", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "body", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "right_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "left_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap())))); armorModel.crouching = living.isShiftKeyDown(); armorModel.riding = defaultModel.riding; armorModel.young = living.isBaby(); return armorModel; } }); } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 1) { return "miraculous:textures/entities/scarabella1.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 2) { return "miraculous:textures/entities/scarabella2.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 3) { return "miraculous:textures/entities/scarabella3.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 4) { return "miraculous:textures/entities/scarabella4.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 5) { return "miraculous:textures/entities/scarabella5.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 6) { return "miraculous:textures/entities/scarabella6.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 7) { return "miraculous:textures/entities/scarabella7.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 8) { return "miraculous:textures/entities/scarabella8.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 9) { return "miraculous:textures/entities/scarabella9.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 10) { return "miraculous:textures/entities/scarabella10.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 11) { return "miraculous:textures/entities/scarabella11.png"; } else return "miraculous:textures/entities/scarabella.png"; } @Override public void onArmorTick(ItemStack itemstack, Level world, Player entity) { LadybugSuitEffectsProcedure.execute(entity); } } public static class Chestplate extends ScarabellaSuitItem { public Chestplate() { super(ArmorItem.Type.CHESTPLATE, new Item.Properties()); } @Override public void initializeClient(Consumer consumer) { consumer.accept(new IClientItemExtensions() { @Override @OnlyIn(Dist.CLIENT) public HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel defaultModel) { HumanoidModel armorModel = new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of("body", new Modelcustom_model(Minecraft.getInstance().getEntityModels().bakeLayer(Modelcustom_model.LAYER_LOCATION)).Body, "left_arm", new Modelcustom_model(Minecraft.getInstance().getEntityModels().bakeLayer(Modelcustom_model.LAYER_LOCATION)).LeftArm, "right_arm", new Modelcustom_model(Minecraft.getInstance().getEntityModels().bakeLayer(Modelcustom_model.LAYER_LOCATION)).RightArm, "head", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "hat", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "right_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "left_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap())))); armorModel.crouching = living.isShiftKeyDown(); armorModel.riding = defaultModel.riding; armorModel.young = living.isBaby(); return armorModel; } }); } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 1) { return "miraculous:textures/entities/scarabella1.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 2) { return "miraculous:textures/entities/scarabella2.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 3) { return "miraculous:textures/entities/scarabella3.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 4) { return "miraculous:textures/entities/scarabella4.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 5) { return "miraculous:textures/entities/scarabella5.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 6) { return "miraculous:textures/entities/scarabella6.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 7) { return "miraculous:textures/entities/scarabella7.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 8) { return "miraculous:textures/entities/scarabella8.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 9) { return "miraculous:textures/entities/scarabella9.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 10) { return "miraculous:textures/entities/scarabella10.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 11) { return "miraculous:textures/entities/scarabella11.png"; } else return "miraculous:textures/entities/scarabella.png"; } } public static class Leggings extends ScarabellaSuitItem { public Leggings() { super(ArmorItem.Type.LEGGINGS, new Item.Properties()); } @Override public void initializeClient(Consumer consumer) { consumer.accept(new IClientItemExtensions() { @Override @OnlyIn(Dist.CLIENT) public HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel defaultModel) { HumanoidModel armorModel = new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of("left_leg", new Modelcustom_model(Minecraft.getInstance().getEntityModels().bakeLayer(Modelcustom_model.LAYER_LOCATION)).LeftLeg, "right_leg", new Modelcustom_model(Minecraft.getInstance().getEntityModels().bakeLayer(Modelcustom_model.LAYER_LOCATION)).RightLeg, "head", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "hat", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "body", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap())))); armorModel.crouching = living.isShiftKeyDown(); armorModel.riding = defaultModel.riding; armorModel.young = living.isBaby(); return armorModel; } }); } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 1) { return "miraculous:textures/entities/scarabella1.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 2) { return "miraculous:textures/entities/scarabella2.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 3) { return "miraculous:textures/entities/scarabella3.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 4) { return "miraculous:textures/entities/scarabella4.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 5) { return "miraculous:textures/entities/scarabella5.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 6) { return "miraculous:textures/entities/scarabella6.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 7) { return "miraculous:textures/entities/scarabella7.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 8) { return "miraculous:textures/entities/scarabella8.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 9) { return "miraculous:textures/entities/scarabella9.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 10) { return "miraculous:textures/entities/scarabella10.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 11) { return "miraculous:textures/entities/scarabella11.png"; } else return "miraculous:textures/entities/scarabella.png"; } } public static class Boots extends ScarabellaSuitItem { public Boots() { super(ArmorItem.Type.BOOTS, new Item.Properties()); } @Override public void initializeClient(Consumer consumer) { consumer.accept(new IClientItemExtensions() { @Override @OnlyIn(Dist.CLIENT) public HumanoidModel getHumanoidArmorModel(LivingEntity living, ItemStack stack, EquipmentSlot slot, HumanoidModel defaultModel) { HumanoidModel armorModel = new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of("left_leg", new Modelcustom_model(Minecraft.getInstance().getEntityModels().bakeLayer(Modelcustom_model.LAYER_LOCATION)).LeftLeg, "right_leg", new Modelcustom_model(Minecraft.getInstance().getEntityModels().bakeLayer(Modelcustom_model.LAYER_LOCATION)).RightLeg, "head", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "hat", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "body", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()), "left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap())))); armorModel.crouching = living.isShiftKeyDown(); armorModel.riding = defaultModel.riding; armorModel.young = living.isBaby(); return armorModel; } }); } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 1) { return "miraculous:textures/entities/scarabella1.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 2) { return "miraculous:textures/entities/scarabella2.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 3) { return "miraculous:textures/entities/scarabella3.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 4) { return "miraculous:textures/entities/scarabella4.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 5) { return "miraculous:textures/entities/scarabella5.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 6) { return "miraculous:textures/entities/scarabella6.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 7) { return "miraculous:textures/entities/scarabella7.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 8) { return "miraculous:textures/entities/scarabella8.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 9) { return "miraculous:textures/entities/scarabella9.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 10) { return "miraculous:textures/entities/scarabella10.png"; } else if ((entity.getCapability(MiraculousModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new MiraculousModVariables.PlayerVariables())).ladybugtick == 11) { return "miraculous:textures/entities/scarabella11.png"; } else return "miraculous:textures/entities/scarabella.png"; } } }