From 7273a8899e52057b9ec76d7b8c6a556a5198e304 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Tue, 7 May 2024 16:15:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=AD=A6=E5=99=A8=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mcreator/target/init/TargetModTabs.java | 14 +++-- .../mcreator/target/item/gun/BocekItem.java | 29 +++++++++ .../mcreator/target/item/gun/Hk416Item.java | 32 ++++++++++ .../net/mcreator/target/item/gun/M4Item.java | 32 ++++++++++ .../net/mcreator/target/item/gun/M79Item.java | 10 ++-- .../mcreator/target/item/gun/M98bItem.java | 31 ++++++++++ .../net/mcreator/target/item/gun/RpgItem.java | 27 +++++++++ .../target/procedures/GunsDataProcedure.java | 59 ------------------- 8 files changed, 164 insertions(+), 70 deletions(-) diff --git a/src/main/java/net/mcreator/target/init/TargetModTabs.java b/src/main/java/net/mcreator/target/init/TargetModTabs.java index b60acef9a..d7a8b0448 100644 --- a/src/main/java/net/mcreator/target/init/TargetModTabs.java +++ b/src/main/java/net/mcreator/target/init/TargetModTabs.java @@ -29,24 +29,28 @@ public class TargetModTabs { output.accept(VectorItem.getGunInstance()); output.accept(SksItem.getGunInstance()); output.accept(AK47Item.getGunInstance()); - output.accept(Devotion.getGunInstance()); - output.accept(HuntingRifle.getGunInstance()); - output.accept(M79Item.getGunInstance()); + output.accept(M4Item.getGunInstance()); + output.accept(Hk416Item.getGunInstance()); output.accept(Mk14Item.getGunInstance()); output.accept(MarlinItem.getGunInstance()); output.accept(SvdItem.getGunInstance()); - + output.accept(HuntingRifle.getGunInstance()); + output.accept(M98bItem.getGunInstance()); output.accept(SentinelItem.getGunInstance()); - output.accept(Kraber.getGunInstance()); output.accept(M870Item.getGunInstance()); output.accept(Aa12Item.getGunInstance()); + output.accept(Devotion.getGunInstance()); output.accept(RpkItem.getGunInstance()); output.accept(M60Item.getGunInstance()); output.accept(Minigun.getGunInstance()); + + output.accept(BocekItem.getGunInstance()); + output.accept(M79Item.getGunInstance()); + output.accept(RpgItem.getGunInstance()); } ) .build()); diff --git a/src/main/java/net/mcreator/target/item/gun/BocekItem.java b/src/main/java/net/mcreator/target/item/gun/BocekItem.java index d033c68ce..cd3ae7a5e 100644 --- a/src/main/java/net/mcreator/target/item/gun/BocekItem.java +++ b/src/main/java/net/mcreator/target/item/gun/BocekItem.java @@ -3,7 +3,9 @@ package net.mcreator.target.item.gun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import net.mcreator.target.client.renderer.item.BocekItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.BocekreloadProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.RarityTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -144,6 +146,10 @@ public class BocekItem extends GunItem implements GeoItem { itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player)); } BocekreloadProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } } public static double getAmmoCount(Player player) { @@ -160,4 +166,27 @@ public class BocekItem extends GunItem implements GeoItem { protected static boolean check(ItemStack stack) { return stack.getItem() == Items.ARROW; } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.BOCEK.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 1); + stack.getOrCreateTag().putDouble("zoom", 2); + stack.getOrCreateTag().putDouble("autorifle", 1); + stack.getOrCreateTag().putDouble("dev", 4); + stack.getOrCreateTag().putDouble("recoilx", 0.005); + stack.getOrCreateTag().putDouble("recoily", 0.003); + stack.getOrCreateTag().putDouble("headshot", 1.5); + stack.getOrCreateTag().putDouble("damage", 2.4); + stack.getOrCreateTag().putBoolean("init", true); + + if (isCreative) { + stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag")); + } + } } diff --git a/src/main/java/net/mcreator/target/item/gun/Hk416Item.java b/src/main/java/net/mcreator/target/item/gun/Hk416Item.java index f36062ee6..4c8146374 100644 --- a/src/main/java/net/mcreator/target/item/gun/Hk416Item.java +++ b/src/main/java/net/mcreator/target/item/gun/Hk416Item.java @@ -3,7 +3,9 @@ package net.mcreator.target.item.gun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import net.mcreator.target.client.renderer.item.Hk416ItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.Hk416WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -162,5 +164,35 @@ public class Hk416Item extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); Hk416WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.HK_416.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 1.3); + stack.getOrCreateTag().putDouble("zoom", 1.25); + stack.getOrCreateTag().putDouble("rifle", 1); + stack.getOrCreateTag().putDouble("autorifle", 1); + stack.getOrCreateTag().putDouble("dev", 4); + stack.getOrCreateTag().putDouble("recoilx", 0.0016); + stack.getOrCreateTag().putDouble("recoily", 0.009); + stack.getOrCreateTag().putDouble("damage", 7.5); + stack.getOrCreateTag().putDouble("headshot", 2); + stack.getOrCreateTag().putDouble("velocity", 45); + stack.getOrCreateTag().putDouble("mag", 30); + stack.getOrCreateTag().putBoolean("init", true); + + if (isCreative) { + stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag")); + } } } diff --git a/src/main/java/net/mcreator/target/item/gun/M4Item.java b/src/main/java/net/mcreator/target/item/gun/M4Item.java index f7ed4b1e3..84325e1d1 100644 --- a/src/main/java/net/mcreator/target/item/gun/M4Item.java +++ b/src/main/java/net/mcreator/target/item/gun/M4Item.java @@ -3,7 +3,9 @@ package net.mcreator.target.item.gun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import net.mcreator.target.client.renderer.item.M4ItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.M4WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -162,5 +164,35 @@ public class M4Item extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); M4WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.M_4.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 1.15); + stack.getOrCreateTag().putDouble("zoom", 1.25); + stack.getOrCreateTag().putDouble("rifle", 1); + stack.getOrCreateTag().putDouble("autorifle", 1); + stack.getOrCreateTag().putDouble("dev", 4); + stack.getOrCreateTag().putDouble("recoilx", 0.0015); + stack.getOrCreateTag().putDouble("recoily", 0.011); + stack.getOrCreateTag().putDouble("damage", 7); + stack.getOrCreateTag().putDouble("headshot", 2); + stack.getOrCreateTag().putDouble("velocity", 45); + stack.getOrCreateTag().putDouble("mag", 30); + stack.getOrCreateTag().putBoolean("init", true); + + if (isCreative) { + stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag")); + } } } diff --git a/src/main/java/net/mcreator/target/item/gun/M79Item.java b/src/main/java/net/mcreator/target/item/gun/M79Item.java index 495d285a0..d521fbf44 100644 --- a/src/main/java/net/mcreator/target/item/gun/M79Item.java +++ b/src/main/java/net/mcreator/target/item/gun/M79Item.java @@ -182,15 +182,13 @@ public class M79Item extends GunItem implements GeoItem { } private static void initGun(ItemStack stack, boolean isCreative) { - stack.getOrCreateTag().putDouble("zoomspeed", 1); + stack.getOrCreateTag().putDouble("zoomspeed", 0.95); stack.getOrCreateTag().putDouble("zoom", 1.25); - stack.getOrCreateTag().putDouble("sniperguns", 1); - stack.getOrCreateTag().putDouble("dev", 7); + stack.getOrCreateTag().putDouble("dev", 1); stack.getOrCreateTag().putDouble("recoilx", 0.004); - stack.getOrCreateTag().putDouble("recoily", 0.03); + stack.getOrCreateTag().putDouble("recoily", 0.023); stack.getOrCreateTag().putDouble("damage", 40); - stack.getOrCreateTag().putDouble("headshot", 3); - stack.getOrCreateTag().putDouble("velocity", 50); + stack.getOrCreateTag().putDouble("velocity", 3.75); stack.getOrCreateTag().putDouble("mag", 1); stack.getOrCreateTag().putBoolean("init", true); diff --git a/src/main/java/net/mcreator/target/item/gun/M98bItem.java b/src/main/java/net/mcreator/target/item/gun/M98bItem.java index 34917fad0..c439eac4a 100644 --- a/src/main/java/net/mcreator/target/item/gun/M98bItem.java +++ b/src/main/java/net/mcreator/target/item/gun/M98bItem.java @@ -3,7 +3,9 @@ package net.mcreator.target.item.gun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import net.mcreator.target.client.renderer.item.M98bItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.M98bWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -158,5 +160,34 @@ public class M98bItem extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); M98bWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.M_98B.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 0.85); + stack.getOrCreateTag().putDouble("zoom", 4); + stack.getOrCreateTag().putDouble("sniperguns", 1); + stack.getOrCreateTag().putDouble("dev", 6); + stack.getOrCreateTag().putDouble("recoilx", 0.007); + stack.getOrCreateTag().putDouble("recoily", 0.013); + stack.getOrCreateTag().putDouble("damage", 28); + stack.getOrCreateTag().putDouble("headshot", 3); + stack.getOrCreateTag().putDouble("velocity", 55); + stack.getOrCreateTag().putDouble("mag", 5); + stack.getOrCreateTag().putBoolean("init", true); + + if (isCreative) { + stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag")); + } } } diff --git a/src/main/java/net/mcreator/target/item/gun/RpgItem.java b/src/main/java/net/mcreator/target/item/gun/RpgItem.java index 09c6f657b..1251ad25c 100644 --- a/src/main/java/net/mcreator/target/item/gun/RpgItem.java +++ b/src/main/java/net/mcreator/target/item/gun/RpgItem.java @@ -1,5 +1,6 @@ package net.mcreator.target.item.gun; +import net.mcreator.target.tools.ItemNBTTool; import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.animation.RawAnimation; @@ -164,6 +165,10 @@ public class RpgItem extends GunItem implements GeoItem { itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player)); } TacRpgWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } } public static double getAmmoCount(Player player) { @@ -180,4 +185,26 @@ public class RpgItem extends GunItem implements GeoItem { protected static boolean check(ItemStack stack) { return stack.getItem() == TargetModItems.ROCKET.get(); } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.RPG.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 0.77); + stack.getOrCreateTag().putDouble("zoom", 1.25); + stack.getOrCreateTag().putDouble("dev", 5); + stack.getOrCreateTag().putDouble("recoilx", 0.008); + stack.getOrCreateTag().putDouble("recoily", 0.018); + stack.getOrCreateTag().putDouble("damage", 150); + stack.getOrCreateTag().putDouble("velocity", 5.75); + stack.getOrCreateTag().putBoolean("init", true); + + if (isCreative) { + stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag")); + } + } } diff --git a/src/main/java/net/mcreator/target/procedures/GunsDataProcedure.java b/src/main/java/net/mcreator/target/procedures/GunsDataProcedure.java index cb41b015a..2eef0521b 100644 --- a/src/main/java/net/mcreator/target/procedures/GunsDataProcedure.java +++ b/src/main/java/net/mcreator/target/procedures/GunsDataProcedure.java @@ -35,65 +35,6 @@ public class GunsDataProcedure { itemstackiterator = (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY); if (itemstackiterator.is(ItemTags.create(new ResourceLocation("target:gun")))) { - - if (itemstackiterator.getItem() == TargetModItems.M_98B.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.85); - itemstackiterator.getOrCreateTag().putDouble("zoom", 4); - itemstackiterator.getOrCreateTag().putDouble("sniperguns", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 6); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.007); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.013); - itemstackiterator.getOrCreateTag().putDouble("damage", 28); - itemstackiterator.getOrCreateTag().putDouble("headshot", 3); - itemstackiterator.getOrCreateTag().putDouble("velocity", 55); - itemstackiterator.getOrCreateTag().putDouble("mag", 5); - } - if (itemstackiterator.getItem() == TargetModItems.RPG.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.77); - itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25); - itemstackiterator.getOrCreateTag().putDouble("dev", 5); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.008); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.018); - itemstackiterator.getOrCreateTag().putDouble("damage", 150); - itemstackiterator.getOrCreateTag().putDouble("velocity", 5.75); - itemstackiterator.getOrCreateTag().putDouble("mag", 1); - } - if (itemstackiterator.getItem() == TargetModItems.M_4.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.15); - itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25); - itemstackiterator.getOrCreateTag().putDouble("rifle", 1); - itemstackiterator.getOrCreateTag().putDouble("autorifle", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 4); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.0015); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.011); - itemstackiterator.getOrCreateTag().putDouble("damage", 7); - itemstackiterator.getOrCreateTag().putDouble("headshot", 2); - itemstackiterator.getOrCreateTag().putDouble("velocity", 45); - itemstackiterator.getOrCreateTag().putDouble("mag", 30); - } - if (itemstackiterator.getItem() == TargetModItems.BOCEK.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1); - itemstackiterator.getOrCreateTag().putDouble("zoom", 2); - itemstackiterator.getOrCreateTag().putDouble("autorifle", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 4); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.005); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.003); - itemstackiterator.getOrCreateTag().putDouble("headshot", 1.5); - itemstackiterator.getOrCreateTag().putDouble("damage", 2.4); - } - if (itemstackiterator.getItem() == TargetModItems.HK_416.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.3); - itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25); - itemstackiterator.getOrCreateTag().putDouble("rifle", 1); - itemstackiterator.getOrCreateTag().putDouble("autorifle", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 4); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.0016); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.009); - itemstackiterator.getOrCreateTag().putDouble("damage", 7.5); - itemstackiterator.getOrCreateTag().putDouble("headshot", 2); - itemstackiterator.getOrCreateTag().putDouble("velocity", 45); - itemstackiterator.getOrCreateTag().putDouble("mag", 30); - } } }