diff --git a/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 b/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 index 4f98c7b55..0f7a26da5 100644 --- a/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 +++ b/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 @@ -1,10 +1,9 @@ -// 1.20.1 2024-10-13T21:19:13.9561013 Item Models: superbwarfare +// 1.20.1 2024-10-20T00:05:58.4595202 Item Models: superbwarfare 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/aa_12_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_12_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_47_blueprint.json c993bddc0db9453ffbefa59f9ac9a74dba909038 assets/superbwarfare/models/item/ancient_cpu.json 4b8fe8fbe5e64c3449ad539317254e4ed7188411 assets/superbwarfare/models/item/ap_head.json -9a20bdee844ad4f2556250e0eca7a2575cafd712 assets/superbwarfare/models/item/armor_plate.json 984c08ca6f6893a15721a85e30118f9e32c65c7f assets/superbwarfare/models/item/barbed_wire.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/bocek_blueprint.json 1e5b4637c3787516305dd3d1598f401a5e78a954 assets/superbwarfare/models/item/cemented_carbide_action.json diff --git a/src/generated/resources/assets/superbwarfare/models/item/armor_plate.json b/src/generated/resources/assets/superbwarfare/models/item/armor_plate.json deleted file mode 100644 index 4bf81fa0f..000000000 --- a/src/generated/resources/assets/superbwarfare/models/item/armor_plate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "superbwarfare:item/armor_plate" - } -} \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java b/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java index ed543cf66..e9a623d7b 100644 --- a/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java +++ b/src/main/java/net/mcreator/superbwarfare/datagen/ModItemModelProvider.java @@ -85,8 +85,6 @@ public class ModItemModelProvider extends ItemModelProvider { simpleItem(ModItems.EPIC_MATERIAL_PACK); simpleItem(ModItems.LEGENDARY_MATERIAL_PACK); - simpleItem(ModItems.ARMOR_PLATE); - // armor simpleItem(ModItems.RU_HELMET_6B47); diff --git a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java index 958a93de7..9b06dc177 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java @@ -299,16 +299,9 @@ public class PlayerEventHandler { private static void handleRespawnReload(Player player) { if (!GameplayConfig.RESPAWN_RELOAD.get()) return; - int count = 0; - for (var inv : player.getInventory().items) { - if (inv.is(ModItems.CREATIVE_AMMO_BOX.get())) { - count++; - } - } - for (ItemStack stack : player.getInventory().items) { if (stack.is(ModTags.Items.GUN)) { - if (count == 0) { + if (!player.getInventory().hasAnyMatching(s -> s.is(ModItems.CREATIVE_AMMO_BOX.get()))) { var cap = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()); if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO) && cap.shotgunAmmo > 0) { diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModProperties.java b/src/main/java/net/mcreator/superbwarfare/init/ModProperties.java index 29543d83b..6c70041a3 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModProperties.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModProperties.java @@ -1,18 +1,20 @@ package net.mcreator.superbwarfare.init; +import net.mcreator.superbwarfare.ModUtils; +import net.mcreator.superbwarfare.tools.ItemNBTTool; import net.minecraft.client.renderer.item.ItemProperties; -import net.minecraft.resources.ResourceLocation; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.mcreator.superbwarfare.tools.ItemNBTTool; @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public class ModProperties { @SubscribeEvent public static void propertyOverrideRegistry(FMLClientSetupEvent event) { - event.enqueueWork(() -> ItemProperties.register(ModItems.MONITOR.get(), new ResourceLocation("superbwarfare", "monitor_linked"), + event.enqueueWork(() -> ItemProperties.register(ModItems.MONITOR.get(), ModUtils.loc("monitor_linked"), (itemStack, clientWorld, livingEntity, seed) -> ItemNBTTool.getBoolean(itemStack, "Linked", false) ? 1.0F : 0.0F)); + event.enqueueWork(() -> ItemProperties.register(ModItems.ARMOR_PLATE.get(), ModUtils.loc("armor_plate_infinite"), + (itemStack, clientWorld, livingEntity, seed) -> ItemNBTTool.getBoolean(itemStack, "Infinite", false) ? 1.0F : 0.0F)); } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java index 70fbf5e14..6c3b3418a 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java @@ -1,6 +1,7 @@ package net.mcreator.superbwarfare.init; import net.mcreator.superbwarfare.ModUtils; +import net.mcreator.superbwarfare.item.ArmorPlate; import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item; import net.mcreator.superbwarfare.item.gun.handgun.M1911Item; @@ -98,7 +99,12 @@ public class ModTabs { .title(Component.translatable("item_group.superbwarfare.item")) .icon(() -> new ItemStack(ModItems.TARGET_DEPLOYER.get())) .withTabsBefore(AMMO_TAB.getKey()) - .displayItems((param, output) -> ModItems.ITEMS.getEntries().forEach(registryObject -> output.accept(registryObject.get()))) + .displayItems((param, output) -> ModItems.ITEMS.getEntries().forEach(registryObject -> { + output.accept(registryObject.get()); + if (registryObject.get() == ModItems.ARMOR_PLATE.get()) { + output.accept(ArmorPlate.getInfiniteInstance()); + } + })) .build()); public static final RegistryObject BLOCK_TAB = TABS.register("block", diff --git a/src/main/java/net/mcreator/superbwarfare/item/ArmorPlate.java b/src/main/java/net/mcreator/superbwarfare/item/ArmorPlate.java index cfbdc4992..01845b799 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/ArmorPlate.java +++ b/src/main/java/net/mcreator/superbwarfare/item/ArmorPlate.java @@ -1,6 +1,9 @@ package net.mcreator.superbwarfare.item; +import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModTags; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -12,15 +15,26 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.UseAnim; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; public class ArmorPlate extends Item { public ArmorPlate() { super(new Item.Properties()); } + @Override + public void appendHoverText(ItemStack pStack, @Nullable Level pLevel, List pTooltipComponents, TooltipFlag pIsAdvanced) { + if (pStack.getOrCreateTag().getBoolean("Infinite")) { + pTooltipComponents.add(Component.translatable("des.superbwarfare.armor_plate.infinite").withStyle(ChatFormatting.GRAY)); + } + } + @Override public @NotNull InteractionResultHolder use(Level worldIn, Player playerIn, InteractionHand handIn) { ItemStack stack = playerIn.getItemInHand(handIn); @@ -65,7 +79,7 @@ public class ArmorPlate extends Item { serverPlayer.level().playSound(null, serverPlayer.getOnPos(), SoundEvents.ARMOR_EQUIP_IRON, SoundSource.PLAYERS, 0.5f, 1); } - if (pLivingEntity instanceof Player player && !player.isCreative()) { + if (pLivingEntity instanceof Player player && !player.isCreative() && !pStack.getOrCreateTag().getBoolean("Infinite")) { pStack.shrink(1); } } @@ -78,4 +92,9 @@ public class ArmorPlate extends Item { return 30; } + public static ItemStack getInfiniteInstance() { + ItemStack stack = new ItemStack(ModItems.ARMOR_PLATE.get()); + stack.getOrCreateTag().putBoolean("Infinite", true); + return stack; + } } diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index a7d2fd9d6..a28ce09e2 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -221,6 +221,7 @@ "item.superbwarfare.raw_silver": "Raw Silver", "item.superbwarfare.armor_plate": "Armor Plate", + "des.superbwarfare.armor_plate.infinite": "Infinite", "item.superbwarfare.ru_helmet_6b47": "Russia 6b47 Helmet", "item.superbwarfare.ru_chest_6b43": "Russia 6b43 Chest", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 20423f10d..81c777585 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -221,6 +221,7 @@ "item.superbwarfare.raw_silver": "粗银", "item.superbwarfare.armor_plate": "防弹插板", + "des.superbwarfare.armor_plate.infinite": "无限", "item.superbwarfare.ru_helmet_6b47": "俄罗斯6B47头盔", "item.superbwarfare.ru_chest_6b43": "俄罗斯6B43防弹胸甲", diff --git a/src/main/resources/assets/superbwarfare/models/item/armor_plate.json b/src/main/resources/assets/superbwarfare/models/item/armor_plate.json new file mode 100644 index 000000000..47eba1c6e --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/armor_plate.json @@ -0,0 +1,14 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/armor_plate" + }, + "overrides": [ + { + "predicate": { + "superbwarfare:armor_plate_infinite": 1 + }, + "model": "superbwarfare:item/armor_plate_infinite" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/models/item/armor_plate_infinite.json b/src/main/resources/assets/superbwarfare/models/item/armor_plate_infinite.json new file mode 100644 index 000000000..3dd45cdcd --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/armor_plate_infinite.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/armor_plate_infinite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/textures/item/armor_plate_infinity.png b/src/main/resources/assets/superbwarfare/textures/item/armor_plate_infinite.png similarity index 100% rename from src/main/resources/assets/superbwarfare/textures/item/armor_plate_infinity.png rename to src/main/resources/assets/superbwarfare/textures/item/armor_plate_infinite.png