From f59588877b3ce0148f29494cfcd2f67f4d2cb8f7 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Wed, 25 Sep 2024 02:23:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=B4=E7=9B=94=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../b69ee8a2655365569b979911c0440daa8c470ac2 | 4 +- .../{ru_6b47.json => ru_helmet_6b47.json} | 2 +- .../client/model/armor/Ru6b47Model.java | 12 +-- .../renderer/armor/Ru6b47ArmorRenderer.java | 6 +- .../datagen/ModItemModelProvider.java | 2 +- .../mcreator/superbwarfare/init/ModItems.java | 4 +- .../superbwarfare/item/armor/Ru6b47.java | 100 ------------------ .../item/armor/RuHelmet6b47.java | 50 +++++++++ .../superbwarfare/tiers/ModArmorMaterial.java | 84 +++++++++++++++ .../assets/superbwarfare/lang/en_us.json | 2 +- .../assets/superbwarfare/lang/zh_cn.json | 2 +- .../item/{ru_6b47.png => ru_helmet_6b47.png} | Bin ...ting.json => ru_helmet_6b47_crafting.json} | 2 +- 13 files changed, 152 insertions(+), 118 deletions(-) rename src/generated/resources/assets/superbwarfare/models/item/{ru_6b47.json => ru_helmet_6b47.json} (55%) delete mode 100644 src/main/java/net/mcreator/superbwarfare/item/armor/Ru6b47.java create mode 100644 src/main/java/net/mcreator/superbwarfare/item/armor/RuHelmet6b47.java create mode 100644 src/main/java/net/mcreator/superbwarfare/tiers/ModArmorMaterial.java rename src/main/resources/assets/superbwarfare/textures/item/{ru_6b47.png => ru_helmet_6b47.png} (100%) rename src/main/resources/data/superbwarfare/recipes/{helmet_ru_6b47_crafting.json => ru_helmet_6b47_crafting.json} (86%) diff --git a/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 b/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 index b4e840abb..ae4c040b4 100644 --- a/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 +++ b/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 @@ -1,4 +1,4 @@ -// 1.20.1 2024-09-25T01:00:24.9322237 Item Models: superbwarfare +// 1.20.1 2024-09-25T02:21:34.5694533 Item Models: superbwarfare 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/aa_12_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_47_blueprint.json c993bddc0db9453ffbefa59f9ac9a74dba909038 assets/superbwarfare/models/item/ancient_cpu.json @@ -70,7 +70,7 @@ ce0f0949b0545d8ef08aeaa52dd423dbe592f704 assets/superbwarfare/models/item/raw_ce 5b8f7d5922e49e06bcd4d4d2a2a3dc934548570b assets/superbwarfare/models/item/reforging_table.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/rpg_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/rpk_blueprint.json -0385b632f86e2ecfbc28433ca209aa9a1da9ec72 assets/superbwarfare/models/item/ru_6b47.json +66a2586547a7cc44a80f950036a1795af580518a assets/superbwarfare/models/item/ru_helmet_6b47.json ce2232fbc6a9186371c6ae6745ec3be2a0a33546 assets/superbwarfare/models/item/scheelite.json c010baff106b3307ec585df4757f7c3d756e9794 assets/superbwarfare/models/item/seeker.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/sentinel_blueprint.json diff --git a/src/generated/resources/assets/superbwarfare/models/item/ru_6b47.json b/src/generated/resources/assets/superbwarfare/models/item/ru_helmet_6b47.json similarity index 55% rename from src/generated/resources/assets/superbwarfare/models/item/ru_6b47.json rename to src/generated/resources/assets/superbwarfare/models/item/ru_helmet_6b47.json index 066429534..205a1f342 100644 --- a/src/generated/resources/assets/superbwarfare/models/item/ru_6b47.json +++ b/src/generated/resources/assets/superbwarfare/models/item/ru_helmet_6b47.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "superbwarfare:item/ru_6b47" + "layer0": "superbwarfare:item/ru_helmet_6b47" } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/armor/Ru6b47Model.java b/src/main/java/net/mcreator/superbwarfare/client/model/armor/Ru6b47Model.java index f9503e819..a275f88c6 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/armor/Ru6b47Model.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/armor/Ru6b47Model.java @@ -1,23 +1,23 @@ package net.mcreator.superbwarfare.client.model.armor; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.armor.Ru6b47; +import net.mcreator.superbwarfare.item.armor.RuHelmet6b47; import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.model.GeoModel; -public class Ru6b47Model extends GeoModel { +public class Ru6b47Model extends GeoModel { @Override - public ResourceLocation getAnimationResource(Ru6b47 object) { + public ResourceLocation getAnimationResource(RuHelmet6b47 object) { return null; } @Override - public ResourceLocation getModelResource(Ru6b47 object) { + public ResourceLocation getModelResource(RuHelmet6b47 object) { return new ResourceLocation(ModUtils.MODID, "geo/ru_6b47.geo.json"); } @Override - public ResourceLocation getTextureResource(Ru6b47 object) { - return new ResourceLocation(ModUtils.MODID, "textures/armor/ru_6b47.png"); + public ResourceLocation getTextureResource(RuHelmet6b47 object) { + return new ResourceLocation(ModUtils.MODID, "textures/armor/ru_helmet_6b47.png"); } } diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/armor/Ru6b47ArmorRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/armor/Ru6b47ArmorRenderer.java index 7ac481e3a..c4da2069b 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/armor/Ru6b47ArmorRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/armor/Ru6b47ArmorRenderer.java @@ -1,21 +1,21 @@ package net.mcreator.superbwarfare.client.renderer.armor; import net.mcreator.superbwarfare.client.model.armor.Ru6b47Model; -import net.mcreator.superbwarfare.item.armor.Ru6b47; +import net.mcreator.superbwarfare.item.armor.RuHelmet6b47; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.renderer.GeoArmorRenderer; -public class Ru6b47ArmorRenderer extends GeoArmorRenderer { +public class Ru6b47ArmorRenderer extends GeoArmorRenderer { public Ru6b47ArmorRenderer() { super(new Ru6b47Model()); this.head = new GeoBone(null, "", false, (double) 0, false, false); } @Override - public RenderType getRenderType(Ru6b47 animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(RuHelmet6b47 animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } } diff --git a/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java b/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java index 2eba3c9f3..f479a8b47 100644 --- a/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java +++ b/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java @@ -87,7 +87,7 @@ public class ModItemModelProvider extends ItemModelProvider { // armor - simpleItem(ModItems.RU_6B47); + simpleItem(ModItems.RU_HELMET_6B47); // blueprints blueprintItem(ModItems.TRACHELIUM_BLUEPRINT); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java index ce98aed52..001248ed2 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.init; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.item.*; -import net.mcreator.superbwarfare.item.armor.Ru6b47; +import net.mcreator.superbwarfare.item.armor.RuHelmet6b47; import net.mcreator.superbwarfare.item.common.BlueprintItem; import net.mcreator.superbwarfare.item.common.MaterialPack; import net.mcreator.superbwarfare.item.common.ammo.*; @@ -123,7 +123,7 @@ public class ModItems { public static final RegistryObject KNIFE = ITEMS.register("knife", Knife::new); public static final RegistryObject HAMMER = ITEMS.register("hammer", Hammer::new); public static final RegistryObject CROWBAR = ITEMS.register("crowbar", Crowbar::new); - public static final RegistryObject RU_6B47 = ITEMS.register("ru_6b47", () -> new Ru6b47(ArmorItem.Type.HELMET, new Item.Properties())); + public static final RegistryObject RU_HELMET_6B47 = ITEMS.register("ru_helmet_6b47", RuHelmet6b47::new); public static final RegistryObject MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new); public static final RegistryObject MORTAR_BARREL = ITEMS.register("mortar_barrel", () -> new Item(new Item.Properties())); public static final RegistryObject MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", () -> new Item(new Item.Properties())); diff --git a/src/main/java/net/mcreator/superbwarfare/item/armor/Ru6b47.java b/src/main/java/net/mcreator/superbwarfare/item/armor/Ru6b47.java deleted file mode 100644 index 66058517e..000000000 --- a/src/main/java/net/mcreator/superbwarfare/item/armor/Ru6b47.java +++ /dev/null @@ -1,100 +0,0 @@ - -package net.mcreator.superbwarfare.item.armor; - -import net.mcreator.superbwarfare.client.renderer.armor.Ru6b47ArmorRenderer; -import net.minecraft.client.model.HumanoidModel; -import net.minecraft.network.chat.Component; -import net.minecraft.sounds.SoundEvent; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.*; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.Level; -import net.minecraftforge.client.extensions.common.IClientItemExtensions; -import software.bernie.geckolib.animatable.GeoItem; -import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; -import software.bernie.geckolib.core.animation.AnimatableManager; -import software.bernie.geckolib.renderer.GeoArmorRenderer; -import software.bernie.geckolib.util.GeckoLibUtil; - -import java.util.List; -import java.util.function.Consumer; - -public class Ru6b47 extends ArmorItem implements GeoItem { - private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public String animationprocedure = "empty"; - - public Ru6b47(ArmorItem.Type type, Item.Properties properties) { - super(new ArmorMaterial() { - @Override - public int getDurabilityForType(ArmorItem.Type type) { - return 500; - } - - @Override - public int getDefenseForType(ArmorItem.Type type) { - return 3; - } - - @Override - public int getEnchantmentValue() { - return 15; - } - - @Override - public SoundEvent getEquipSound() { - return SoundEvents.ARMOR_EQUIP_IRON; - } - - @Override - public Ingredient getRepairIngredient() { - return Ingredient.of(); - } - - @Override - public String getName() { - return "ru_6b47"; - } - - @Override - public float getToughness() { - return 4f; - } - - @Override - public float getKnockbackResistance() { - return 0f; - } - }, type, properties); - } - - @Override - public void initializeClient(Consumer consumer) { - consumer.accept(new IClientItemExtensions() { - private GeoArmorRenderer renderer; - - @Override - public HumanoidModel getHumanoidArmorModel(LivingEntity livingEntity, ItemStack itemStack, EquipmentSlot equipmentSlot, HumanoidModel original) { - if (this.renderer == null) - this.renderer = new Ru6b47ArmorRenderer(); - this.renderer.prepForRender(livingEntity, itemStack, equipmentSlot, original); - return this.renderer; - } - }); - } - - @Override - public void appendHoverText(ItemStack itemstack, Level world, List list, TooltipFlag flag) { - super.appendHoverText(itemstack, world, list, flag); - } - - @Override - public void registerControllers(AnimatableManager.ControllerRegistrar data) { - } - - @Override - public AnimatableInstanceCache getAnimatableInstanceCache() { - return this.cache; - } -} diff --git a/src/main/java/net/mcreator/superbwarfare/item/armor/RuHelmet6b47.java b/src/main/java/net/mcreator/superbwarfare/item/armor/RuHelmet6b47.java new file mode 100644 index 000000000..4767e63d8 --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/item/armor/RuHelmet6b47.java @@ -0,0 +1,50 @@ +package net.mcreator.superbwarfare.item.armor; + +import net.mcreator.superbwarfare.client.renderer.armor.Ru6b47ArmorRenderer; +import net.mcreator.superbwarfare.tiers.ModArmorMaterial; +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ItemStack; +import net.minecraftforge.client.extensions.common.IClientItemExtensions; +import software.bernie.geckolib.animatable.GeoItem; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.AnimatableManager; +import software.bernie.geckolib.renderer.GeoArmorRenderer; +import software.bernie.geckolib.util.GeckoLibUtil; + +import java.util.function.Consumer; + +public class RuHelmet6b47 extends ArmorItem implements GeoItem { + private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + public String animationprocedure = "empty"; + + public RuHelmet6b47() { + super(ModArmorMaterial.CEMENTED_CARBIDE, Type.HELMET, new Properties()); + } + + @Override + public void initializeClient(Consumer consumer) { + consumer.accept(new IClientItemExtensions() { + private GeoArmorRenderer renderer; + + @Override + public HumanoidModel getHumanoidArmorModel(LivingEntity livingEntity, ItemStack itemStack, EquipmentSlot equipmentSlot, HumanoidModel original) { + if (this.renderer == null) + this.renderer = new Ru6b47ArmorRenderer(); + this.renderer.prepForRender(livingEntity, itemStack, equipmentSlot, original); + return this.renderer; + } + }); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar data) { + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return this.cache; + } +} diff --git a/src/main/java/net/mcreator/superbwarfare/tiers/ModArmorMaterial.java b/src/main/java/net/mcreator/superbwarfare/tiers/ModArmorMaterial.java new file mode 100644 index 000000000..0e406fe5c --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/tiers/ModArmorMaterial.java @@ -0,0 +1,84 @@ +package net.mcreator.superbwarfare.tiers; + +import net.mcreator.superbwarfare.init.ModItems; +import net.minecraft.Util; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.util.LazyLoadedValue; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.crafting.Ingredient; + +import java.util.EnumMap; +import java.util.function.Supplier; + +public enum ModArmorMaterial implements ArmorMaterial { + CEMENTED_CARBIDE("cemented_carbide", 50, Util.make(new EnumMap<>(ArmorItem.Type.class), p -> { + p.put(ArmorItem.Type.BOOTS, 3); + p.put(ArmorItem.Type.LEGGINGS, 6); + p.put(ArmorItem.Type.CHESTPLATE, 8); + p.put(ArmorItem.Type.HELMET, 3); + }), 10, SoundEvents.ARMOR_EQUIP_IRON, 4.0F, 0.0F, () -> Ingredient.of(ModItems.CEMENTED_CARBIDE_INGOT.get())); + + private static final EnumMap HEALTH_FUNCTION_FOR_TYPE = Util.make(new EnumMap<>(ArmorItem.Type.class), (p_266653_) -> { + p_266653_.put(ArmorItem.Type.BOOTS, 13); + p_266653_.put(ArmorItem.Type.LEGGINGS, 15); + p_266653_.put(ArmorItem.Type.CHESTPLATE, 16); + p_266653_.put(ArmorItem.Type.HELMET, 11); + }); + private final String name; + private final int durabilityMultiplier; + private final EnumMap protectionFunctionForType; + private final int enchantmentValue; + private final SoundEvent sound; + private final float toughness; + private final float knockbackResistance; + private final LazyLoadedValue repairIngredient; + + ModArmorMaterial(String pName, int pDurabilityMultiplier, EnumMap pProtectionFunctionForType, int pEnchantmentValue, SoundEvent pSound, float pToughness, float pKnockbackResistance, Supplier pRepairIngredient) { + this.name = pName; + this.durabilityMultiplier = pDurabilityMultiplier; + this.protectionFunctionForType = pProtectionFunctionForType; + this.enchantmentValue = pEnchantmentValue; + this.sound = pSound; + this.toughness = pToughness; + this.knockbackResistance = pKnockbackResistance; + this.repairIngredient = new LazyLoadedValue<>(pRepairIngredient); + } + + public int getDurabilityForType(ArmorItem.Type pType) { + return HEALTH_FUNCTION_FOR_TYPE.get(pType) * this.durabilityMultiplier; + } + + public int getDefenseForType(ArmorItem.Type pType) { + return this.protectionFunctionForType.get(pType); + } + + public int getEnchantmentValue() { + return this.enchantmentValue; + } + + public SoundEvent getEquipSound() { + return this.sound; + } + + public Ingredient getRepairIngredient() { + return this.repairIngredient.get(); + } + + public String getName() { + return this.name; + } + + public float getToughness() { + return this.toughness; + } + + public float getKnockbackResistance() { + return this.knockbackResistance; + } + + public String getSerializedName() { + return this.name; + } +} diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 4054f40b7..5938154bf 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -204,7 +204,7 @@ "item.superbwarfare.scheelite": "Raw Galena", "item.superbwarfare.raw_silver": "Raw Silver", - "item.superbwarfare.ru_6b47": "Russia 6b47 Helmet", + "item.superbwarfare.ru_helmet_6b47": "Russia 6b47 Helmet", "item.superbwarfare.ap_bullet": "Ap Bullet", "des.superbwarfare.ap_bullet": "Increased the armor-piercing ratio of bullets", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 4950e3633..2d4f386b7 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -204,7 +204,7 @@ "item.superbwarfare.scheelite": "白钨矿", "item.superbwarfare.raw_silver": "粗银", - "item.superbwarfare.ru_6b47": "俄罗斯6B47头盔", + "item.superbwarfare.ru_helmet_6b47": "俄罗斯6B47头盔", "item.superbwarfare.ap_bullet": "穿甲弹", "des.superbwarfare.ap_bullet": "增加子弹的穿甲比例", diff --git a/src/main/resources/assets/superbwarfare/textures/item/ru_6b47.png b/src/main/resources/assets/superbwarfare/textures/item/ru_helmet_6b47.png similarity index 100% rename from src/main/resources/assets/superbwarfare/textures/item/ru_6b47.png rename to src/main/resources/assets/superbwarfare/textures/item/ru_helmet_6b47.png diff --git a/src/main/resources/data/superbwarfare/recipes/helmet_ru_6b47_crafting.json b/src/main/resources/data/superbwarfare/recipes/ru_helmet_6b47_crafting.json similarity index 86% rename from src/main/resources/data/superbwarfare/recipes/helmet_ru_6b47_crafting.json rename to src/main/resources/data/superbwarfare/recipes/ru_helmet_6b47_crafting.json index 67bd37254..4b69ae000 100644 --- a/src/main/resources/data/superbwarfare/recipes/helmet_ru_6b47_crafting.json +++ b/src/main/resources/data/superbwarfare/recipes/ru_helmet_6b47_crafting.json @@ -14,7 +14,7 @@ } }, "result": { - "item": "superbwarfare:ru_6b47", + "item": "superbwarfare:ru_helmet_6b47", "count": 1 } } \ No newline at end of file