添加武器初始化方法

This commit is contained in:
17146 2024-05-07 15:15:08 +08:00
parent 0103750bea
commit 3d47f33ed1
10 changed files with 163 additions and 73 deletions

View file

@ -2,7 +2,7 @@ package net.mcreator.target.client.layer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.item.gun.Vector;
import net.mcreator.target.item.gun.VectorItem;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
@ -11,15 +11,15 @@ import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class VectorLayer extends GeoRenderLayer<Vector> {
public class VectorLayer extends GeoRenderLayer<VectorItem> {
private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/item/vector_e.png");
public VectorLayer(GeoRenderer<Vector> entityRenderer) {
public VectorLayer(GeoRenderer<VectorItem> entityRenderer) {
super(entityRenderer);
}
@Override
public void render(PoseStack poseStack, Vector animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
public void render(PoseStack poseStack, VectorItem animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.eyes(LAYER);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
}

View file

@ -1,6 +1,6 @@
package net.mcreator.target.client.model.item;
import net.mcreator.target.item.gun.Vector;
import net.mcreator.target.item.gun.VectorItem;
import net.mcreator.target.network.TargetModVariables;
import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation;
@ -9,24 +9,24 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel;
public class VectorItemModel extends GeoModel<Vector> {
public class VectorItemModel extends GeoModel<VectorItem> {
@Override
public ResourceLocation getAnimationResource(Vector animatable) {
public ResourceLocation getAnimationResource(VectorItem animatable) {
return new ResourceLocation("target", "animations/vector.animation.json");
}
@Override
public ResourceLocation getModelResource(Vector animatable) {
public ResourceLocation getModelResource(VectorItem animatable) {
return new ResourceLocation("target", "geo/vector.geo.json");
}
@Override
public ResourceLocation getTextureResource(Vector animatable) {
public ResourceLocation getTextureResource(VectorItem animatable) {
return new ResourceLocation("target", "textures/item/vector.png");
}
@Override
public void setCustomAnimations(Vector animatable, long instanceId, AnimationState animationState) {
public void setCustomAnimations(VectorItem animatable, long instanceId, AnimationState animationState) {
CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone shen = getAnimationProcessor().getBone("shen");
CoreGeoBone scope = getAnimationProcessor().getBone("scope");

View file

@ -2,7 +2,7 @@ package net.mcreator.target.client.renderer.item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.item.gun.Vector;
import net.mcreator.target.item.gun.VectorItem;
import net.mcreator.target.client.layer.VectorLayer;
import net.mcreator.target.client.model.item.VectorItemModel;
import net.minecraft.client.renderer.MultiBufferSource;
@ -16,14 +16,14 @@ import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.HashSet;
import java.util.Set;
public class VectorItemRenderer extends GeoItemRenderer<Vector> {
public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
public VectorItemRenderer() {
super(new VectorItemModel());
this.addRenderLayer(new VectorLayer(this));
}
@Override
public RenderType getRenderType(Vector animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
public RenderType getRenderType(VectorItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@ -32,7 +32,7 @@ public class VectorItemRenderer extends GeoItemRenderer<Vector> {
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected Vector animatable;
protected VectorItem animatable;
private final Set<String> hiddenBones = new HashSet<>();
private final Set<String> suppressedBones = new HashSet<>();
@ -45,7 +45,7 @@ public class VectorItemRenderer extends GeoItemRenderer<Vector> {
}
@Override
public void actuallyRender(PoseStack matrixStackIn, Vector animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
public void actuallyRender(PoseStack matrixStackIn, VectorItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer;
this.renderType = type;
@ -57,7 +57,7 @@ public class VectorItemRenderer extends GeoItemRenderer<Vector> {
}
@Override
public ResourceLocation getTextureLocation(Vector instance) {
public ResourceLocation getTextureLocation(VectorItem instance) {
return super.getTextureLocation(instance);
}
}

View file

@ -47,7 +47,7 @@ public class ItemAnimationFactory {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof Vector animatable)
if (event.player.getMainHandItem().getItem() instanceof VectorItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
@ -181,7 +181,7 @@ public class ItemAnimationFactory {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof Vector animatable)
if (event.player.getOffhandItem().getItem() instanceof VectorItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();

View file

@ -29,7 +29,7 @@ public class TargetModItems {
public static final RegistryObject<Item> TASER = GUNS.register("taser", Taser::new);
public static final RegistryObject<Item> ABEKIRI = GUNS.register("abekiri", Abekiri::new);
public static final RegistryObject<Item> TRACHELIUM = GUNS.register("trachelium", Trachelium::new);
public static final RegistryObject<Item> VECTOR = GUNS.register("vector", Vector::new);
public static final RegistryObject<Item> VECTOR = GUNS.register("vector", VectorItem::new);
public static final RegistryObject<Item> AK_47 = GUNS.register("ak_47", AK47Item::new);
public static final RegistryObject<Item> SKS = GUNS.register("sks", SksItem::new);
public static final RegistryObject<Item> M_4 = GUNS.register("m_4", M4Item::new);

View file

@ -1,6 +1,9 @@
package net.mcreator.target.init;
import net.mcreator.target.TargetMod;
import net.mcreator.target.item.gun.Abekiri;
import net.mcreator.target.item.gun.Trachelium;
import net.mcreator.target.item.gun.VectorItem;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
@ -20,7 +23,14 @@ public class TargetModTabs {
() -> CreativeModeTab.builder()
.title(Component.translatable("item_group.target.target_guns"))
.icon(() -> new ItemStack(TargetModItems.TASER.get()))
.displayItems((param, output) -> TargetModItems.GUNS.getEntries().forEach(registryObject -> output.accept(registryObject.get())))
.displayItems(
(param, output) -> {
output.accept(TargetModItems.TASER.get());
output.accept(Abekiri.getGunInstance());
output.accept(Trachelium.getGunInstance());
output.accept(VectorItem.getGunInstance());
}
)
.build());
public static final RegistryObject<CreativeModeTab> AMMO_TAB = TABS.register("ammo",

View file

@ -4,7 +4,9 @@ import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.mcreator.target.TargetMod;
import net.mcreator.target.client.renderer.item.AbekiriItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.AbekiriWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.TooltipTool;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel;
@ -152,7 +154,31 @@ public class Abekiri extends GunItem implements GeoItem {
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
AbekiriWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack);
}
}
public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.ABEKIRI.get());
initGun(stack);
return stack;
}
private static void initGun(ItemStack stack) {
stack.getOrCreateTag().putDouble("zoomspeed", 1.4);
stack.getOrCreateTag().putDouble("zoom", 1.25);
stack.getOrCreateTag().putDouble("dev", 5);
stack.getOrCreateTag().putDouble("shotgun", 1);
stack.getOrCreateTag().putDouble("recoilx", 0.005);
stack.getOrCreateTag().putDouble("recoily", 0.026);
stack.getOrCreateTag().putDouble("damage", 2.5);
stack.getOrCreateTag().putDouble("headshot", 1.5);
stack.getOrCreateTag().putDouble("velocity", 15);
stack.getOrCreateTag().putDouble("mag", 2);
stack.getOrCreateTag().putBoolean("init", true);
}
}

View file

@ -4,7 +4,9 @@ import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.mcreator.target.TargetMod;
import net.mcreator.target.client.renderer.item.TracheliumItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.ReloadingProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.RarityTool;
import net.mcreator.target.tools.TooltipTool;
import net.minecraft.ChatFormatting;
@ -71,7 +73,7 @@ public class Trachelium extends GunItem implements GeoItem {
transformType = type;
}
private PlayState idlePredicate(AnimationState event) {
private PlayState idlePredicate(AnimationState<Trachelium> event) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
if (this.animationprocedure.equals("empty")) {
@ -97,7 +99,7 @@ public class Trachelium extends GunItem implements GeoItem {
return PlayState.STOP;
}
private PlayState procedurePredicate(AnimationState event) {
private PlayState procedurePredicate(AnimationState<Trachelium> event) {
if (transformType != null && transformType.firstPerson()) {
if (!(this.animationprocedure.equals("empty")) && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
@ -112,9 +114,9 @@ public class Trachelium extends GunItem implements GeoItem {
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
AnimationController<Trachelium> procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 6, this::idlePredicate);
AnimationController<Trachelium> idleController = new AnimationController<>(this, "idleController", 6, this::idlePredicate);
data.add(idleController);
}
@ -147,8 +149,12 @@ public class Trachelium extends GunItem implements GeoItem {
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
// TODO 把这坨procedure删了
ReloadingProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack);
}
}
@Override
@ -158,4 +164,25 @@ public class Trachelium extends GunItem implements GeoItem {
TooltipTool.addGunTips(list, stack);
}
public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.TRACHELIUM.get());
initGun(stack);
return stack;
}
private static void initGun(ItemStack stack) {
stack.getOrCreateTag().putDouble("zoomspeed", 1.7);
stack.getOrCreateTag().putDouble("zoom", 1.25);
stack.getOrCreateTag().putDouble("dev", 3);
stack.getOrCreateTag().putDouble("handgun", 1);
stack.getOrCreateTag().putDouble("recoilx", 0.005);
stack.getOrCreateTag().putDouble("recoily", 0.022);
stack.getOrCreateTag().putDouble("damage", 18);
stack.getOrCreateTag().putDouble("headshot", 1.5);
stack.getOrCreateTag().putDouble("velocity", 60);
stack.getOrCreateTag().putDouble("mag", 8);
stack.getOrCreateTag().putBoolean("init", true);
}
}

View file

@ -2,8 +2,11 @@ package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.mcreator.target.TargetMod;
import net.mcreator.target.client.renderer.item.VectorItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.TooltipTool;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel;
@ -33,12 +36,12 @@ import java.util.List;
import java.util.UUID;
import java.util.function.Consumer;
public class Vector extends GunItem implements GeoItem {
public class VectorItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
public Vector() {
public VectorItem() {
super(new Item.Properties().stacksTo(1).rarity(Rarity.EPIC));
}
@ -64,7 +67,7 @@ public class Vector extends GunItem implements GeoItem {
transformType = type;
}
private PlayState idlePredicate(AnimationState<Vector> event) {
private PlayState idlePredicate(AnimationState<VectorItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
@ -107,7 +110,7 @@ public class Vector extends GunItem implements GeoItem {
return PlayState.STOP;
}
private PlayState procedurePredicate(AnimationState<Vector> event) {
private PlayState procedurePredicate(AnimationState<VectorItem> event) {
if (transformType != null && transformType.firstPerson()) {
if (!this.animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
@ -124,9 +127,9 @@ public class Vector extends GunItem implements GeoItem {
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController<Vector> procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate);
AnimationController<VectorItem> procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController<Vector> idleController = new AnimationController<>(this, "idleController", 4, this::idlePredicate);
AnimationController<VectorItem> idleController = new AnimationController<>(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
@ -142,8 +145,11 @@ public class Vector extends GunItem implements GeoItem {
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack);
}
}
@Override
@ -163,8 +169,30 @@ public class Vector extends GunItem implements GeoItem {
if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.03f, AttributeModifier.Operation.MULTIPLY_BASE));
new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.03f, AttributeModifier.Operation.MULTIPLY_BASE));
}
return map;
}
public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.TRACHELIUM.get());
initGun(stack);
return stack;
}
private static void initGun(ItemStack stack) {
stack.getOrCreateTag().putDouble("zoomspeed", 1.6);
stack.getOrCreateTag().putDouble("zoom", 1.25);
stack.getOrCreateTag().putDouble("autorifle", 1);
stack.getOrCreateTag().putDouble("dev", 3.5);
stack.getOrCreateTag().putDouble("smg", 1);
stack.getOrCreateTag().putDouble("recoilx", 0.011);
stack.getOrCreateTag().putDouble("recoily", 0.004);
stack.getOrCreateTag().putDouble("damage", 4.5);
stack.getOrCreateTag().putDouble("headshot", 1.5);
stack.getOrCreateTag().putDouble("velocity", 22);
stack.getOrCreateTag().putDouble("mag", 33);
stack.getOrCreateTag().putBoolean("init", true);
}
}

View file

@ -38,7 +38,7 @@ public class GunsDataProcedure {
if (itemstackiterator.is(ItemTags.create(new ResourceLocation("target:gun")))) {
if (TargetModVariables.MapVariables.get(world).pvpmode == false) {
if (!TargetModVariables.MapVariables.get(world).pvpmode) {
if (itemstackiterator.getOrCreateTag().getDouble("level") >= 10) {
itemstackiterator.getOrCreateTag().putDouble("damageadd", 1 + 0.05 * (itemstackiterator.getOrCreateTag().getDouble("level") - 10));
} else {
@ -90,19 +90,18 @@ public class GunsDataProcedure {
itemstackiterator.getOrCreateTag().putDouble("mag", 55);
itemstackiterator.getOrCreateTag().putDouble("firemode", 2);
}
if (itemstackiterator.getItem() == TargetModItems.TRACHELIUM.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.7);
itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25);
itemstackiterator.getOrCreateTag().putDouble("dev", 3);
itemstackiterator.getOrCreateTag().putDouble("handgun", 1);
itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.005);
itemstackiterator.getOrCreateTag().putDouble("recoily", 0.022);
itemstackiterator.getOrCreateTag().putDouble("damage", 18);
itemstackiterator.getOrCreateTag().putDouble("headshot", 1.5);
itemstackiterator.getOrCreateTag().putDouble("velocity", 60);
itemstackiterator.getOrCreateTag().putDouble("mag", 8);
}
// if (itemstackiterator.getItem() == TargetModItems.TRACHELIUM.get()) {
// itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.7);
// itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25);
// itemstackiterator.getOrCreateTag().putDouble("dev", 3);
// itemstackiterator.getOrCreateTag().putDouble("handgun", 1);
// itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.005);
// itemstackiterator.getOrCreateTag().putDouble("recoily", 0.022);
// itemstackiterator.getOrCreateTag().putDouble("damage", 18);
// itemstackiterator.getOrCreateTag().putDouble("headshot", 1.5);
// itemstackiterator.getOrCreateTag().putDouble("velocity", 60);
// itemstackiterator.getOrCreateTag().putDouble("mag", 8);
// }
if (itemstackiterator.getItem() == TargetModItems.HUNTING_RIFLE.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1);
itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25);
@ -135,18 +134,18 @@ public class GunsDataProcedure {
itemstackiterator.getOrCreateTag().putDouble("velocity", 3.75);
itemstackiterator.getOrCreateTag().putDouble("mag", 1);
}
if (itemstackiterator.getItem() == TargetModItems.ABEKIRI.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.4);
itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25);
itemstackiterator.getOrCreateTag().putDouble("dev", 5);
itemstackiterator.getOrCreateTag().putDouble("shotgun", 1);
itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.005);
itemstackiterator.getOrCreateTag().putDouble("recoily", 0.026);
itemstackiterator.getOrCreateTag().putDouble("damage", 2.5);
itemstackiterator.getOrCreateTag().putDouble("headshot", 1.5);
itemstackiterator.getOrCreateTag().putDouble("velocity", 15);
itemstackiterator.getOrCreateTag().putDouble("mag", 2);
}
// if (itemstackiterator.getItem() == TargetModItems.ABEKIRI.get()) {
// itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.4);
// itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25);
// itemstackiterator.getOrCreateTag().putDouble("dev", 5);
// itemstackiterator.getOrCreateTag().putDouble("shotgun", 1);
// itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.005);
// itemstackiterator.getOrCreateTag().putDouble("recoily", 0.026);
// itemstackiterator.getOrCreateTag().putDouble("damage", 2.5);
// itemstackiterator.getOrCreateTag().putDouble("headshot", 1.5);
// itemstackiterator.getOrCreateTag().putDouble("velocity", 15);
// itemstackiterator.getOrCreateTag().putDouble("mag", 2);
// }
if (itemstackiterator.getItem() == TargetModItems.M_98B.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.85);
itemstackiterator.getOrCreateTag().putDouble("zoom", 4);
@ -247,19 +246,19 @@ public class GunsDataProcedure {
itemstackiterator.getOrCreateTag().putDouble("velocity", 40);
itemstackiterator.getOrCreateTag().putDouble("mag", 4);
}
if (itemstackiterator.getItem() == TargetModItems.VECTOR.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.6);
itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25);
itemstackiterator.getOrCreateTag().putDouble("autorifle", 1);
itemstackiterator.getOrCreateTag().putDouble("dev", 3.5);
itemstackiterator.getOrCreateTag().putDouble("smg", 1);
itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.011);
itemstackiterator.getOrCreateTag().putDouble("recoily", 0.004);
itemstackiterator.getOrCreateTag().putDouble("damage", 4.5);
itemstackiterator.getOrCreateTag().putDouble("headshot", 1.5);
itemstackiterator.getOrCreateTag().putDouble("velocity", 22);
itemstackiterator.getOrCreateTag().putDouble("mag", 33);
}
// if (itemstackiterator.getItem() == TargetModItems.VECTOR.get()) {
// itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.6);
// itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25);
// itemstackiterator.getOrCreateTag().putDouble("autorifle", 1);
// itemstackiterator.getOrCreateTag().putDouble("dev", 3.5);
// itemstackiterator.getOrCreateTag().putDouble("smg", 1);
// itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.011);
// itemstackiterator.getOrCreateTag().putDouble("recoily", 0.004);
// itemstackiterator.getOrCreateTag().putDouble("damage", 4.5);
// itemstackiterator.getOrCreateTag().putDouble("headshot", 1.5);
// itemstackiterator.getOrCreateTag().putDouble("velocity", 22);
// itemstackiterator.getOrCreateTag().putDouble("mag", 33);
// }
if (itemstackiterator.getItem() == TargetModItems.MINIGUN.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoom", 1);
itemstackiterator.getOrCreateTag().putDouble("rifle", 1);