调整武器初始方法

This commit is contained in:
Atsuihsio 2024-05-07 16:15:22 +08:00
parent 077d612d01
commit 7273a8899e
8 changed files with 164 additions and 70 deletions

View file

@ -29,24 +29,28 @@ public class TargetModTabs {
output.accept(VectorItem.getGunInstance()); output.accept(VectorItem.getGunInstance());
output.accept(SksItem.getGunInstance()); output.accept(SksItem.getGunInstance());
output.accept(AK47Item.getGunInstance()); output.accept(AK47Item.getGunInstance());
output.accept(Devotion.getGunInstance()); output.accept(M4Item.getGunInstance());
output.accept(HuntingRifle.getGunInstance()); output.accept(Hk416Item.getGunInstance());
output.accept(M79Item.getGunInstance());
output.accept(Mk14Item.getGunInstance()); output.accept(Mk14Item.getGunInstance());
output.accept(MarlinItem.getGunInstance()); output.accept(MarlinItem.getGunInstance());
output.accept(SvdItem.getGunInstance()); output.accept(SvdItem.getGunInstance());
output.accept(HuntingRifle.getGunInstance());
output.accept(M98bItem.getGunInstance());
output.accept(SentinelItem.getGunInstance()); output.accept(SentinelItem.getGunInstance());
output.accept(Kraber.getGunInstance()); output.accept(Kraber.getGunInstance());
output.accept(M870Item.getGunInstance()); output.accept(M870Item.getGunInstance());
output.accept(Aa12Item.getGunInstance()); output.accept(Aa12Item.getGunInstance());
output.accept(Devotion.getGunInstance());
output.accept(RpkItem.getGunInstance()); output.accept(RpkItem.getGunInstance());
output.accept(M60Item.getGunInstance()); output.accept(M60Item.getGunInstance());
output.accept(Minigun.getGunInstance()); output.accept(Minigun.getGunInstance());
output.accept(BocekItem.getGunInstance());
output.accept(M79Item.getGunInstance());
output.accept(RpgItem.getGunInstance());
} }
) )
.build()); .build());

View file

@ -3,7 +3,9 @@ package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import net.mcreator.target.client.renderer.item.BocekItemRenderer; import net.mcreator.target.client.renderer.item.BocekItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.BocekreloadProcedure; import net.mcreator.target.procedures.BocekreloadProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.RarityTool; import net.mcreator.target.tools.RarityTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
@ -144,6 +146,10 @@ public class BocekItem extends GunItem implements GeoItem {
itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player)); itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player));
} }
BocekreloadProcedure.execute(entity, itemstack); BocekreloadProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack, false);
}
} }
public static double getAmmoCount(Player player) { public static double getAmmoCount(Player player) {
@ -160,4 +166,27 @@ public class BocekItem extends GunItem implements GeoItem {
protected static boolean check(ItemStack stack) { protected static boolean check(ItemStack stack) {
return stack.getItem() == Items.ARROW; 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"));
}
}
} }

View file

@ -3,7 +3,9 @@ package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import net.mcreator.target.client.renderer.item.Hk416ItemRenderer; import net.mcreator.target.client.renderer.item.Hk416ItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.Hk416WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; import net.mcreator.target.procedures.Hk416WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.TooltipTool; import net.mcreator.target.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; 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) { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected); super.inventoryTick(itemstack, world, entity, slot, selected);
Hk416WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); 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"));
}
} }
} }

View file

@ -3,7 +3,9 @@ package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import net.mcreator.target.client.renderer.item.M4ItemRenderer; import net.mcreator.target.client.renderer.item.M4ItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.M4WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; import net.mcreator.target.procedures.M4WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.TooltipTool; import net.mcreator.target.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; 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) { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected); super.inventoryTick(itemstack, world, entity, slot, selected);
M4WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); 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"));
}
} }
} }

View file

@ -182,15 +182,13 @@ public class M79Item extends GunItem implements GeoItem {
} }
private static void initGun(ItemStack stack, boolean isCreative) { 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("zoom", 1.25);
stack.getOrCreateTag().putDouble("sniperguns", 1); stack.getOrCreateTag().putDouble("dev", 1);
stack.getOrCreateTag().putDouble("dev", 7);
stack.getOrCreateTag().putDouble("recoilx", 0.004); 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("damage", 40);
stack.getOrCreateTag().putDouble("headshot", 3); stack.getOrCreateTag().putDouble("velocity", 3.75);
stack.getOrCreateTag().putDouble("velocity", 50);
stack.getOrCreateTag().putDouble("mag", 1); stack.getOrCreateTag().putDouble("mag", 1);
stack.getOrCreateTag().putBoolean("init", true); stack.getOrCreateTag().putBoolean("init", true);

View file

@ -3,7 +3,9 @@ package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import net.mcreator.target.client.renderer.item.M98bItemRenderer; import net.mcreator.target.client.renderer.item.M98bItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.M98bWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; import net.mcreator.target.procedures.M98bWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.TooltipTool; import net.mcreator.target.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; 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) { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected); super.inventoryTick(itemstack, world, entity, slot, selected);
M98bWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); 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"));
}
} }
} }

View file

@ -1,5 +1,6 @@
package net.mcreator.target.item.gun; package net.mcreator.target.item.gun;
import net.mcreator.target.tools.ItemNBTTool;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.animation.RawAnimation;
@ -164,6 +165,10 @@ public class RpgItem extends GunItem implements GeoItem {
itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player)); itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player));
} }
TacRpgWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); TacRpgWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack, false);
}
} }
public static double getAmmoCount(Player player) { public static double getAmmoCount(Player player) {
@ -180,4 +185,26 @@ public class RpgItem extends GunItem implements GeoItem {
protected static boolean check(ItemStack stack) { protected static boolean check(ItemStack stack) {
return stack.getItem() == TargetModItems.ROCKET.get(); 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"));
}
}
} }

View file

@ -35,65 +35,6 @@ public class GunsDataProcedure {
itemstackiterator = (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY); itemstackiterator = (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY);
if (itemstackiterator.is(ItemTags.create(new ResourceLocation("target:gun")))) { 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);
}
} }
} }