diff --git a/src/main/java/net/mcreator/target/init/TargetModTabs.java b/src/main/java/net/mcreator/target/init/TargetModTabs.java index 9b259f5ce..b60acef9a 100644 --- a/src/main/java/net/mcreator/target/init/TargetModTabs.java +++ b/src/main/java/net/mcreator/target/init/TargetModTabs.java @@ -27,6 +27,11 @@ public class TargetModTabs { output.accept(Abekiri.getGunInstance()); output.accept(Trachelium.getGunInstance()); 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(Mk14Item.getGunInstance()); output.accept(MarlinItem.getGunInstance()); diff --git a/src/main/java/net/mcreator/target/item/gun/AK47Item.java b/src/main/java/net/mcreator/target/item/gun/AK47Item.java index aa8fcf99e..e242725e9 100644 --- a/src/main/java/net/mcreator/target/item/gun/AK47Item.java +++ b/src/main/java/net/mcreator/target/item/gun/AK47Item.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.AK47ItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.AK47WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +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,36 @@ public class AK47Item extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); AK47WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.AK_47.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 1.1); + 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.0025); + stack.getOrCreateTag().putDouble("recoily", 0.012); + stack.getOrCreateTag().putDouble("damage", 8.5); + stack.getOrCreateTag().putDouble("headshot", 2); + stack.getOrCreateTag().putDouble("velocity", 30); + 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/Devotion.java b/src/main/java/net/mcreator/target/item/gun/Devotion.java index 22dbaf35e..5984a8879 100644 --- a/src/main/java/net/mcreator/target/item/gun/Devotion.java +++ b/src/main/java/net/mcreator/target/item/gun/Devotion.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.DevotionItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.DevotionWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -153,5 +155,38 @@ public class Devotion extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); DevotionWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.DEVOTION.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 0.9); + stack.getOrCreateTag().putDouble("zoom", 2); + stack.getOrCreateTag().putDouble("rifle", 1); + stack.getOrCreateTag().putDouble("autorifle", 1); + stack.getOrCreateTag().putDouble("mg", 1); + stack.getOrCreateTag().putDouble("dev", 5); + stack.getOrCreateTag().putDouble("bipod", 1); + stack.getOrCreateTag().putDouble("recoilx", 0.0018); + stack.getOrCreateTag().putDouble("recoily", 0.01); + stack.getOrCreateTag().putDouble("damage", 7); + stack.getOrCreateTag().putDouble("headshot", 2); + stack.getOrCreateTag().putDouble("velocity", 40); + stack.getOrCreateTag().putDouble("mag", 55); + stack.getOrCreateTag().putDouble("firemode", 2); + 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/HuntingRifle.java b/src/main/java/net/mcreator/target/item/gun/HuntingRifle.java index 97682ca8b..5e8ab9c0e 100644 --- a/src/main/java/net/mcreator/target/item/gun/HuntingRifle.java +++ b/src/main/java/net/mcreator/target/item/gun/HuntingRifle.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.HuntingRifleItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.HrrelodingProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -148,5 +150,34 @@ public class HuntingRifle extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); HrrelodingProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.HUNTING_RIFLE.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 1); + stack.getOrCreateTag().putDouble("zoom", 1.25); + stack.getOrCreateTag().putDouble("sniperguns", 1); + stack.getOrCreateTag().putDouble("dev", 7); + stack.getOrCreateTag().putDouble("recoilx", 0.004); + stack.getOrCreateTag().putDouble("recoily", 0.03); + stack.getOrCreateTag().putDouble("damage", 40); + stack.getOrCreateTag().putDouble("headshot", 3); + stack.getOrCreateTag().putDouble("velocity", 50); + stack.getOrCreateTag().putDouble("mag", 1); + 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 274a24f47..495d285a0 100644 --- a/src/main/java/net/mcreator/target/item/gun/M79Item.java +++ b/src/main/java/net/mcreator/target/item/gun/M79Item.java @@ -5,6 +5,7 @@ import com.google.common.collect.Multimap; import net.mcreator.target.init.TargetModItems; import net.mcreator.target.client.renderer.item.M79ItemRenderer; import net.mcreator.target.procedures.M79WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -153,6 +154,10 @@ public class M79Item extends GunItem implements GeoItem { itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player)); } M79WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } } public static double getAmmoCount(Player player) { @@ -165,8 +170,32 @@ public class M79Item extends GunItem implements GeoItem { } return sum; } - protected static boolean check(ItemStack stack) { return stack.getItem() == TargetModItems.GRENADE_40MM.get(); } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.M_79.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 1); + stack.getOrCreateTag().putDouble("zoom", 1.25); + stack.getOrCreateTag().putDouble("sniperguns", 1); + stack.getOrCreateTag().putDouble("dev", 7); + stack.getOrCreateTag().putDouble("recoilx", 0.004); + stack.getOrCreateTag().putDouble("recoily", 0.03); + stack.getOrCreateTag().putDouble("damage", 40); + stack.getOrCreateTag().putDouble("headshot", 3); + stack.getOrCreateTag().putDouble("velocity", 50); + stack.getOrCreateTag().putDouble("mag", 1); + 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/SksItem.java b/src/main/java/net/mcreator/target/item/gun/SksItem.java index 7c9be74d9..0f509cfce 100644 --- a/src/main/java/net/mcreator/target/item/gun/SksItem.java +++ b/src/main/java/net/mcreator/target/item/gun/SksItem.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.SksItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.SksWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -154,5 +156,34 @@ public class SksItem extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); SksWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.SKS.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 1); + stack.getOrCreateTag().putDouble("zoom", 1.25); + stack.getOrCreateTag().putDouble("rifle", 1); + stack.getOrCreateTag().putDouble("dev", 5); + stack.getOrCreateTag().putDouble("recoilx", 0.004); + stack.getOrCreateTag().putDouble("recoily", 0.015); + stack.getOrCreateTag().putDouble("damage", 9.5); + stack.getOrCreateTag().putDouble("headshot", 2); + stack.getOrCreateTag().putDouble("velocity", 40); + stack.getOrCreateTag().putDouble("mag", 20); + 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 fe1dae47f..cb41b015a 100644 --- a/src/main/java/net/mcreator/target/procedures/GunsDataProcedure.java +++ b/src/main/java/net/mcreator/target/procedures/GunsDataProcedure.java @@ -35,70 +35,7 @@ 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.SKS.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1); - itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25); - itemstackiterator.getOrCreateTag().putDouble("rifle", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 5); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.004); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.015); - itemstackiterator.getOrCreateTag().putDouble("damage", 9.5); - itemstackiterator.getOrCreateTag().putDouble("headshot", 2); - itemstackiterator.getOrCreateTag().putDouble("velocity", 40); - itemstackiterator.getOrCreateTag().putDouble("mag", 20); - } - if (itemstackiterator.getItem() == TargetModItems.AK_47.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.1); - 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.0025); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.012); - itemstackiterator.getOrCreateTag().putDouble("damage", 8.5); - itemstackiterator.getOrCreateTag().putDouble("headshot", 2); - itemstackiterator.getOrCreateTag().putDouble("velocity", 30); - itemstackiterator.getOrCreateTag().putDouble("mag", 30); - } - if (itemstackiterator.getItem() == TargetModItems.DEVOTION.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.9); - itemstackiterator.getOrCreateTag().putDouble("zoom", 2); - itemstackiterator.getOrCreateTag().putDouble("rifle", 1); - itemstackiterator.getOrCreateTag().putDouble("autorifle", 1); - itemstackiterator.getOrCreateTag().putDouble("mg", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 5); - itemstackiterator.getOrCreateTag().putDouble("bipod", 1); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.0018); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.01); - itemstackiterator.getOrCreateTag().putDouble("damage", 7); - itemstackiterator.getOrCreateTag().putDouble("headshot", 2); - itemstackiterator.getOrCreateTag().putDouble("velocity", 40); - itemstackiterator.getOrCreateTag().putDouble("mag", 55); - itemstackiterator.getOrCreateTag().putDouble("firemode", 2); - } - if (itemstackiterator.getItem() == TargetModItems.HUNTING_RIFLE.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1); - itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25); - itemstackiterator.getOrCreateTag().putDouble("sniperguns", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 7); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.004); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.03); - itemstackiterator.getOrCreateTag().putDouble("damage", 40); - itemstackiterator.getOrCreateTag().putDouble("headshot", 3); - itemstackiterator.getOrCreateTag().putDouble("velocity", 50); - itemstackiterator.getOrCreateTag().putDouble("mag", 1); - } - if (itemstackiterator.getItem() == TargetModItems.M_79.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.95); - itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25); - itemstackiterator.getOrCreateTag().putDouble("dev", 1); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.004); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.023); - itemstackiterator.getOrCreateTag().putDouble("damage", 40); - itemstackiterator.getOrCreateTag().putDouble("velocity", 3.75); - itemstackiterator.getOrCreateTag().putDouble("mag", 1); - } if (itemstackiterator.getItem() == TargetModItems.M_98B.get()) { itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.85); itemstackiterator.getOrCreateTag().putDouble("zoom", 4);