From a4776f98cc16b47de30f1a65da94f9e8bee52cfb Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Tue, 7 May 2024 15:54:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=B6=E4=BB=96=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=AD=A6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../target/client/layer/SentinelLayer.java | 8 +-- .../client/model/item/SentinelItemModel.java | 12 ++-- .../renderer/item/SentinelItemRenderer.java | 12 ++-- .../target/init/ItemAnimationFactory.java | 4 +- .../mcreator/target/init/TargetModItems.java | 2 +- .../mcreator/target/init/TargetModTabs.java | 7 ++ .../net/mcreator/target/item/gun/Kraber.java | 33 ++++++++- .../net/mcreator/target/item/gun/Minigun.java | 34 +++++++++- .../mcreator/target/item/gun/Mk14Item.java | 36 +++++++++- .../net/mcreator/target/item/gun/RpkItem.java | 37 +++++++++- .../{Sentinel.java => gun/SentinelItem.java} | 39 +++++++++-- .../target/procedures/GunsDataProcedure.java | 68 ------------------- 12 files changed, 197 insertions(+), 95 deletions(-) rename src/main/java/net/mcreator/target/item/{Sentinel.java => gun/SentinelItem.java} (85%) diff --git a/src/main/java/net/mcreator/target/client/layer/SentinelLayer.java b/src/main/java/net/mcreator/target/client/layer/SentinelLayer.java index 1cb117062..368aba47d 100644 --- a/src/main/java/net/mcreator/target/client/layer/SentinelLayer.java +++ b/src/main/java/net/mcreator/target/client/layer/SentinelLayer.java @@ -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.Sentinel; +import net.mcreator.target.item.gun.SentinelItem; 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 SentinelLayer extends GeoRenderLayer { +public class SentinelLayer extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/item/sentinel_e.png"); - public SentinelLayer(GeoRenderer entityRenderer) { + public SentinelLayer(GeoRenderer entityRenderer) { super(entityRenderer); } @Override - public void render(PoseStack poseStack, Sentinel animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + public void render(PoseStack poseStack, SentinelItem 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); } diff --git a/src/main/java/net/mcreator/target/client/model/item/SentinelItemModel.java b/src/main/java/net/mcreator/target/client/model/item/SentinelItemModel.java index ee5771e67..4af36c436 100644 --- a/src/main/java/net/mcreator/target/client/model/item/SentinelItemModel.java +++ b/src/main/java/net/mcreator/target/client/model/item/SentinelItemModel.java @@ -1,6 +1,6 @@ package net.mcreator.target.client.model.item; -import net.mcreator.target.item.Sentinel; +import net.mcreator.target.item.gun.SentinelItem; import net.mcreator.target.network.TargetModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; @@ -10,24 +10,24 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone; import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.model.GeoModel; -public class SentinelItemModel extends GeoModel { +public class SentinelItemModel extends GeoModel { @Override - public ResourceLocation getAnimationResource(Sentinel animatable) { + public ResourceLocation getAnimationResource(SentinelItem animatable) { return new ResourceLocation("target", "animations/sentinel.animation.json"); } @Override - public ResourceLocation getModelResource(Sentinel animatable) { + public ResourceLocation getModelResource(SentinelItem animatable) { return new ResourceLocation("target", "geo/sentinel.geo.json"); } @Override - public ResourceLocation getTextureResource(Sentinel animatable) { + public ResourceLocation getTextureResource(SentinelItem animatable) { return new ResourceLocation("target", "textures/item/sentinel.png"); } @Override - public void setCustomAnimations(Sentinel animatable, long instanceId, AnimationState animationState) { + public void setCustomAnimations(SentinelItem animatable, long instanceId, AnimationState animationState) { CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone scope = getAnimationProcessor().getBone("scope2"); diff --git a/src/main/java/net/mcreator/target/client/renderer/item/SentinelItemRenderer.java b/src/main/java/net/mcreator/target/client/renderer/item/SentinelItemRenderer.java index 762075a12..cb96c3394 100644 --- a/src/main/java/net/mcreator/target/client/renderer/item/SentinelItemRenderer.java +++ b/src/main/java/net/mcreator/target/client/renderer/item/SentinelItemRenderer.java @@ -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.Sentinel; +import net.mcreator.target.item.gun.SentinelItem; import net.mcreator.target.client.layer.SentinelLayer; import net.mcreator.target.client.model.item.SentinelItemModel; 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 SentinelItemRenderer extends GeoItemRenderer { +public class SentinelItemRenderer extends GeoItemRenderer { public SentinelItemRenderer() { super(new SentinelItemModel()); this.addRenderLayer(new SentinelLayer(this)); } @Override - public RenderType getRenderType(Sentinel animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(SentinelItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } @@ -32,7 +32,7 @@ public class SentinelItemRenderer extends GeoItemRenderer { protected MultiBufferSource currentBuffer; protected RenderType renderType; public ItemDisplayContext transformType; - protected Sentinel animatable; + protected SentinelItem animatable; private final Set hiddenBones = new HashSet<>(); private final Set suppressedBones = new HashSet<>(); @@ -45,7 +45,7 @@ public class SentinelItemRenderer extends GeoItemRenderer { } @Override - public void actuallyRender(PoseStack matrixStackIn, Sentinel animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, + public void actuallyRender(PoseStack matrixStackIn, SentinelItem 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 SentinelItemRenderer extends GeoItemRenderer { } @Override - public ResourceLocation getTextureLocation(Sentinel instance) { + public ResourceLocation getTextureLocation(SentinelItem instance) { return super.getTextureLocation(instance); } } diff --git a/src/main/java/net/mcreator/target/init/ItemAnimationFactory.java b/src/main/java/net/mcreator/target/init/ItemAnimationFactory.java index c894ad34d..ad319d735 100644 --- a/src/main/java/net/mcreator/target/init/ItemAnimationFactory.java +++ b/src/main/java/net/mcreator/target/init/ItemAnimationFactory.java @@ -92,7 +92,7 @@ public class ItemAnimationFactory { animatable.animationprocedure = animation; disableUseAnim(); } - if (event.player.getMainHandItem().getItem() instanceof Sentinel animatable) + if (event.player.getMainHandItem().getItem() instanceof SentinelItem animatable) if (event.player.level().isClientSide()) { animatable.animationprocedure = animation; disableUseAnim(); @@ -226,7 +226,7 @@ public class ItemAnimationFactory { animatable.animationprocedure = animation; disableUseAnim(); } - if (event.player.getOffhandItem().getItem() instanceof Sentinel animatable) + if (event.player.getOffhandItem().getItem() instanceof SentinelItem animatable) if (event.player.level().isClientSide()) { animatable.animationprocedure = animation; disableUseAnim(); diff --git a/src/main/java/net/mcreator/target/init/TargetModItems.java b/src/main/java/net/mcreator/target/init/TargetModItems.java index b304e846b..1070acb85 100644 --- a/src/main/java/net/mcreator/target/init/TargetModItems.java +++ b/src/main/java/net/mcreator/target/init/TargetModItems.java @@ -38,7 +38,7 @@ public class TargetModItems { public static final RegistryObject MARLIN = GUNS.register("marlin", MarlinItem::new); public static final RegistryObject SVD = GUNS.register("svd", SvdItem::new); public static final RegistryObject M_98B = GUNS.register("m_98b", M98bItem::new); - public static final RegistryObject SENTINEL = GUNS.register("sentinel", Sentinel::new); + public static final RegistryObject SENTINEL = GUNS.register("sentinel", SentinelItem::new); public static final RegistryObject HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifle::new); public static final RegistryObject KRABER = GUNS.register("kraber", Kraber::new); public static final RegistryObject M_870 = GUNS.register("m_870", M870Item::new); diff --git a/src/main/java/net/mcreator/target/init/TargetModTabs.java b/src/main/java/net/mcreator/target/init/TargetModTabs.java index 0323a8596..9b259f5ce 100644 --- a/src/main/java/net/mcreator/target/init/TargetModTabs.java +++ b/src/main/java/net/mcreator/target/init/TargetModTabs.java @@ -28,13 +28,20 @@ public class TargetModTabs { output.accept(Trachelium.getGunInstance()); output.accept(VectorItem.getGunInstance()); + output.accept(Mk14Item.getGunInstance()); output.accept(MarlinItem.getGunInstance()); output.accept(SvdItem.getGunInstance()); + output.accept(SentinelItem.getGunInstance()); + + output.accept(Kraber.getGunInstance()); + output.accept(M870Item.getGunInstance()); output.accept(Aa12Item.getGunInstance()); + output.accept(RpkItem.getGunInstance()); output.accept(M60Item.getGunInstance()); + output.accept(Minigun.getGunInstance()); } ) .build()); diff --git a/src/main/java/net/mcreator/target/item/gun/Kraber.java b/src/main/java/net/mcreator/target/item/gun/Kraber.java index 57bfbded4..c68ee605f 100644 --- a/src/main/java/net/mcreator/target/item/gun/Kraber.java +++ b/src/main/java/net/mcreator/target/item/gun/Kraber.java @@ -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.KraberItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.KraberWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.RarityTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; @@ -150,6 +153,10 @@ public class Kraber extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); KraberWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } } @Override @@ -159,10 +166,34 @@ public class Kraber extends GunItem implements GeoItem { if (slot == EquipmentSlot.MAINHAND) { map = HashMultimap.create(map); map.put(Attributes.MOVEMENT_SPEED, - new AttributeModifier(uuid, "henghengaaa", -0.1f, AttributeModifier.Operation.MULTIPLY_BASE)); + new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.1f, AttributeModifier.Operation.MULTIPLY_BASE)); } return map; } + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.KRABER.get()); + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 0.8); + stack.getOrCreateTag().putDouble("zoom", 3); + stack.getOrCreateTag().putDouble("sniperguns", 1); + stack.getOrCreateTag().putDouble("bipod", 1); + stack.getOrCreateTag().putDouble("dev", 6); + stack.getOrCreateTag().putDouble("recoilx", 0.008); + stack.getOrCreateTag().putDouble("recoily", 0.018); + stack.getOrCreateTag().putDouble("damage", 70); + stack.getOrCreateTag().putDouble("headshot", 3); + stack.getOrCreateTag().putDouble("velocity", 40); + stack.getOrCreateTag().putDouble("mag", 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/Minigun.java b/src/main/java/net/mcreator/target/item/gun/Minigun.java index eed85135e..0819fb942 100644 --- a/src/main/java/net/mcreator/target/item/gun/Minigun.java +++ b/src/main/java/net/mcreator/target/item/gun/Minigun.java @@ -2,7 +2,9 @@ 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.MinigunItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.MiniguninbackpackProcedure; import net.mcreator.target.tools.RarityTool; import net.mcreator.target.tools.ItemNBTTool; @@ -165,7 +167,7 @@ public class Minigun extends GunItem implements GeoItem { if (slot == EquipmentSlot.MAINHAND) { map = HashMultimap.create(map); map.put(Attributes.MOVEMENT_SPEED, - new AttributeModifier(uuid, "henghengaaa", -0.2f, AttributeModifier.Operation.MULTIPLY_BASE)); + new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.2f, AttributeModifier.Operation.MULTIPLY_BASE)); } return map; } @@ -179,6 +181,36 @@ public class Minigun extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); MiniguninbackpackProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.MINIGUN.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoom", 1); + stack.getOrCreateTag().putDouble("rifle", 1); + stack.getOrCreateTag().putDouble("autorifle", 1); + stack.getOrCreateTag().putDouble("mg", 1); + stack.getOrCreateTag().putDouble("dev", 5); + stack.getOrCreateTag().putDouble("recoilx", 0.024); + stack.getOrCreateTag().putDouble("recoily", 0.005); + stack.getOrCreateTag().putDouble("damage", 8); + stack.getOrCreateTag().putDouble("headshot", 2); + stack.getOrCreateTag().putDouble("velocity", 40); + 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/Mk14Item.java b/src/main/java/net/mcreator/target/item/gun/Mk14Item.java index 230d0bbca..350e723d0 100644 --- a/src/main/java/net/mcreator/target/item/gun/Mk14Item.java +++ b/src/main/java/net/mcreator/target/item/gun/Mk14Item.java @@ -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.Mk14ItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.Mk14WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -140,6 +143,10 @@ public class Mk14Item extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); Mk14WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } } @Override @@ -159,8 +166,35 @@ public class Mk14Item extends GunItem implements GeoItem { if (slot == EquipmentSlot.MAINHAND) { map = HashMultimap.create(map); map.put(Attributes.MOVEMENT_SPEED, - new AttributeModifier(uuid, "henghengaaa", -0.05f, AttributeModifier.Operation.MULTIPLY_BASE)); + new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.05f, AttributeModifier.Operation.MULTIPLY_BASE)); } return map; } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.MK_14.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 0.9); + stack.getOrCreateTag().putDouble("zoom", 3.4); + stack.getOrCreateTag().putDouble("rifle", 1); + stack.getOrCreateTag().putDouble("autorifle", 1); + stack.getOrCreateTag().putDouble("dev", 6); + stack.getOrCreateTag().putDouble("bipod", 1); + stack.getOrCreateTag().putDouble("recoilx", 0.006); + stack.getOrCreateTag().putDouble("recoily", 0.014); + stack.getOrCreateTag().putDouble("damage", 12); + stack.getOrCreateTag().putDouble("headshot", 2.5); + stack.getOrCreateTag().putDouble("velocity", 45); + 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/item/gun/RpkItem.java b/src/main/java/net/mcreator/target/item/gun/RpkItem.java index f59944be2..95ea20d15 100644 --- a/src/main/java/net/mcreator/target/item/gun/RpkItem.java +++ b/src/main/java/net/mcreator/target/item/gun/RpkItem.java @@ -1,5 +1,8 @@ package net.mcreator.target.item.gun; +import net.mcreator.target.TargetMod; +import net.mcreator.target.init.TargetModItems; +import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.TooltipTool; import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.core.object.PlayState; @@ -158,7 +161,7 @@ public class RpkItem extends GunItem implements GeoItem { if (slot == EquipmentSlot.MAINHAND) { map = HashMultimap.create(map); map.put(Attributes.MOVEMENT_SPEED, - new AttributeModifier(uuid, "henghengaaa", -0.06f, AttributeModifier.Operation.MULTIPLY_BASE)); + new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.06f, AttributeModifier.Operation.MULTIPLY_BASE)); } return map; } @@ -172,5 +175,37 @@ public class RpkItem extends GunItem implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); RpkWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.RPK.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 1.0); + stack.getOrCreateTag().putDouble("zoom", 1.25); + 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.0035); + stack.getOrCreateTag().putDouble("recoily", 0.012); + stack.getOrCreateTag().putDouble("damage", 8.75); + stack.getOrCreateTag().putDouble("headshot", 2); + stack.getOrCreateTag().putDouble("velocity", 35); + stack.getOrCreateTag().putDouble("mag", 50); + 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/Sentinel.java b/src/main/java/net/mcreator/target/item/gun/SentinelItem.java similarity index 85% rename from src/main/java/net/mcreator/target/item/Sentinel.java rename to src/main/java/net/mcreator/target/item/gun/SentinelItem.java index 3ac707d67..b6a10806d 100644 --- a/src/main/java/net/mcreator/target/item/Sentinel.java +++ b/src/main/java/net/mcreator/target/item/gun/SentinelItem.java @@ -1,8 +1,10 @@ -package net.mcreator.target.item; +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.SentinelItemRenderer; +import net.mcreator.target.init.TargetModItems; import net.mcreator.target.procedures.SentinelWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; import net.mcreator.target.tools.RarityTool; import net.mcreator.target.tools.ItemNBTTool; @@ -37,13 +39,13 @@ import java.util.List; import java.util.UUID; import java.util.function.Consumer; -public class Sentinel extends Item implements GeoItem { +public class SentinelItem extends GunItem implements GeoItem { private static final String TAG_POWER = "power"; private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationprocedure = "empty"; public static ItemDisplayContext transformType; - public Sentinel() { + public SentinelItem() { super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY)); } @@ -168,6 +170,10 @@ public class Sentinel extends Item implements GeoItem { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); SentinelWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + + if (!ItemNBTTool.getBoolean(itemstack, "init", false)) { + initGun(itemstack, false); + } } @Override @@ -187,8 +193,33 @@ public class Sentinel extends Item implements GeoItem { if (slot == EquipmentSlot.MAINHAND) { map = HashMultimap.create(map); map.put(Attributes.MOVEMENT_SPEED, - new AttributeModifier(uuid, "henghengaaa", -0.06f, AttributeModifier.Operation.MULTIPLY_BASE)); + new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.06f, AttributeModifier.Operation.MULTIPLY_BASE)); } return map; } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(TargetModItems.SENTINEL.get()); + + initGun(stack, true); + return stack; + } + + private static void initGun(ItemStack stack, boolean isCreative) { + stack.getOrCreateTag().putDouble("zoomspeed", 0.95); + stack.getOrCreateTag().putDouble("zoom", 3); + stack.getOrCreateTag().putDouble("sniperguns", 1); + stack.getOrCreateTag().putDouble("dev", 6); + stack.getOrCreateTag().putDouble("recoilx", 0.007); + stack.getOrCreateTag().putDouble("recoily", 0.018); + stack.getOrCreateTag().putDouble("damage", 25); + stack.getOrCreateTag().putDouble("mag", 5); + stack.getOrCreateTag().putDouble("headshot", 3); + stack.getOrCreateTag().putDouble("velocity", 50); + 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 6e924f24b..fe1dae47f 100644 --- a/src/main/java/net/mcreator/target/procedures/GunsDataProcedure.java +++ b/src/main/java/net/mcreator/target/procedures/GunsDataProcedure.java @@ -157,74 +157,6 @@ public class GunsDataProcedure { itemstackiterator.getOrCreateTag().putDouble("velocity", 45); itemstackiterator.getOrCreateTag().putDouble("mag", 30); } - if (itemstackiterator.getItem() == TargetModItems.RPK.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.0); - itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25); - 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.0035); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.012); - itemstackiterator.getOrCreateTag().putDouble("damage", 8.75); - itemstackiterator.getOrCreateTag().putDouble("headshot", 2); - itemstackiterator.getOrCreateTag().putDouble("velocity", 35); - itemstackiterator.getOrCreateTag().putDouble("mag", 50); - } - - if (itemstackiterator.getItem() == TargetModItems.KRABER.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.8); - itemstackiterator.getOrCreateTag().putDouble("zoom", 3); - itemstackiterator.getOrCreateTag().putDouble("sniperguns", 1); - itemstackiterator.getOrCreateTag().putDouble("bipod", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 6); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.008); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.018); - itemstackiterator.getOrCreateTag().putDouble("damage", 70); - itemstackiterator.getOrCreateTag().putDouble("headshot", 3); - itemstackiterator.getOrCreateTag().putDouble("velocity", 40); - itemstackiterator.getOrCreateTag().putDouble("mag", 4); - } - if (itemstackiterator.getItem() == TargetModItems.MINIGUN.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoom", 1); - itemstackiterator.getOrCreateTag().putDouble("rifle", 1); - itemstackiterator.getOrCreateTag().putDouble("autorifle", 1); - itemstackiterator.getOrCreateTag().putDouble("mg", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 5); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.024); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.005); - itemstackiterator.getOrCreateTag().putDouble("damage", 8); - itemstackiterator.getOrCreateTag().putDouble("headshot", 2); - itemstackiterator.getOrCreateTag().putDouble("velocity", 40); - itemstackiterator.getOrCreateTag().putDouble("firemode", 2); - } - if (itemstackiterator.getItem() == TargetModItems.MK_14.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.9); - itemstackiterator.getOrCreateTag().putDouble("zoom", 3.4); - itemstackiterator.getOrCreateTag().putDouble("rifle", 1); - itemstackiterator.getOrCreateTag().putDouble("autorifle", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 6); - itemstackiterator.getOrCreateTag().putDouble("bipod", 1); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.006); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.014); - itemstackiterator.getOrCreateTag().putDouble("damage", 12); - itemstackiterator.getOrCreateTag().putDouble("headshot", 2.5); - itemstackiterator.getOrCreateTag().putDouble("velocity", 45); - itemstackiterator.getOrCreateTag().putDouble("mag", 20); - } - if (itemstackiterator.getItem() == TargetModItems.SENTINEL.get()) { - itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.95); - itemstackiterator.getOrCreateTag().putDouble("zoom", 3); - itemstackiterator.getOrCreateTag().putDouble("sniperguns", 1); - itemstackiterator.getOrCreateTag().putDouble("dev", 6); - itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.007); - itemstackiterator.getOrCreateTag().putDouble("recoily", 0.018); - itemstackiterator.getOrCreateTag().putDouble("damage", 25); - itemstackiterator.getOrCreateTag().putDouble("mag", 5); - itemstackiterator.getOrCreateTag().putDouble("headshot", 3); - itemstackiterator.getOrCreateTag().putDouble("velocity", 50); - } } }