From dd2cda38d9685e44462fde9fd61d225effc69bf1 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Mon, 9 Sep 2024 00:51:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=A4=A7=E9=83=A8?= =?UTF-8?q?=E5=88=86=E7=9A=84perk=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/client/layer/Aa12Layer.java | 2 +- .../client/layer/AbekiriLayer.java | 8 ++--- .../client/layer/DevotionLayer.java | 8 ++--- .../superbwarfare/client/layer/M60Layer.java | 2 +- .../superbwarfare/client/layer/M870Layer.java | 2 +- .../client/layer/MinigunLayer.java | 2 +- .../superbwarfare/client/layer/RpkLayer.java | 2 +- .../client/layer/VectorLayer.java | 2 +- .../client/model/item/Aa12ItemModel.java | 2 +- .../client/model/item/AbekiriItemModel.java | 12 +++---- .../client/model/item/DevotionItemModel.java | 12 +++---- .../client/model/item/M60ItemModel.java | 2 +- .../client/model/item/M870ItemModel.java | 2 +- .../client/model/item/MinigunItemModel.java | 2 +- .../client/model/item/RpkItemModel.java | 2 +- .../client/model/item/VectorItemModel.java | 2 +- .../renderer/item/Aa12ItemRenderer.java | 2 +- .../renderer/item/AbekiriItemRenderer.java | 14 ++++---- .../renderer/item/DevotionItemRenderer.java | 14 ++++---- .../client/renderer/item/M60ItemRenderer.java | 2 +- .../renderer/item/M870ItemRenderer.java | 2 +- .../renderer/item/MinigunItemRenderer.java | 2 +- .../client/renderer/item/RpkItemRenderer.java | 2 +- .../renderer/item/VectorItemRenderer.java | 2 +- .../mcreator/superbwarfare/init/ModItems.java | 12 +++++-- .../mcreator/superbwarfare/init/ModTabs.java | 12 +++++-- .../mcreator/superbwarfare/init/ModTags.java | 3 +- .../superbwarfare/item/gun/JavelinItem.java | 15 ++------ .../DevotionItem.java} | 19 +++++++---- .../item/gun/{ => machinegun}/M60Item.java | 29 ++++++++-------- .../item/gun/{ => machinegun}/Minigun.java | 23 +++++++------ .../item/gun/{ => machinegun}/RpkItem.java | 29 ++++++++-------- .../item/gun/{ => shotgun}/Aa12Item.java | 3 +- .../AbekiriItem.java} | 11 +++--- .../item/gun/{ => shotgun}/M870Item.java | 15 +++++--- .../item/gun/{ => smg}/VectorItem.java | 24 +++++++------ .../superbwarfare/perk/PerkHelper.java | 34 +++++++++++++++++++ .../tags/items/{mg.json => machine_gun.json} | 0 .../superbwarfare/tags/items/shotgun.json | 8 +++++ 39 files changed, 206 insertions(+), 135 deletions(-) rename src/main/java/net/mcreator/superbwarfare/item/gun/{Devotion.java => machinegun/DevotionItem.java} (92%) rename src/main/java/net/mcreator/superbwarfare/item/gun/{ => machinegun}/M60Item.java (92%) rename src/main/java/net/mcreator/superbwarfare/item/gun/{ => machinegun}/Minigun.java (95%) rename src/main/java/net/mcreator/superbwarfare/item/gun/{ => machinegun}/RpkItem.java (92%) rename src/main/java/net/mcreator/superbwarfare/item/gun/{ => shotgun}/Aa12Item.java (98%) rename src/main/java/net/mcreator/superbwarfare/item/gun/{Abekiri.java => shotgun/AbekiriItem.java} (95%) rename src/main/java/net/mcreator/superbwarfare/item/gun/{ => shotgun}/M870Item.java (94%) rename src/main/java/net/mcreator/superbwarfare/item/gun/{ => smg}/VectorItem.java (94%) rename src/main/resources/data/superbwarfare/tags/items/{mg.json => machine_gun.json} (100%) create mode 100644 src/main/resources/data/superbwarfare/tags/items/shotgun.json diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/Aa12Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/Aa12Layer.java index 5e9de5464..1bff97828 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/Aa12Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/Aa12Layer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.Aa12Item; +import net.mcreator.superbwarfare.item.gun.shotgun.Aa12Item; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/AbekiriLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/AbekiriLayer.java index 4f7e51f91..4dd42eb71 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/AbekiriLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/AbekiriLayer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.Abekiri; +import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; @@ -12,15 +12,15 @@ import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoRenderer; import software.bernie.geckolib.renderer.layer.GeoRenderLayer; -public class AbekiriLayer extends GeoRenderLayer { +public class AbekiriLayer extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/abekiri_e.png"); - public AbekiriLayer(GeoRenderer entityRenderer) { + public AbekiriLayer(GeoRenderer entityRenderer) { super(entityRenderer); } @Override - public void render(PoseStack poseStack, Abekiri animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + public void render(PoseStack poseStack, AbekiriItem 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/superbwarfare/client/layer/DevotionLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/DevotionLayer.java index 1564408de..479f9550a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/DevotionLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/DevotionLayer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.Devotion; +import net.mcreator.superbwarfare.item.gun.machinegun.DevotionItem; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; @@ -12,15 +12,15 @@ import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoRenderer; import software.bernie.geckolib.renderer.layer.GeoRenderLayer; -public class DevotionLayer extends GeoRenderLayer { +public class DevotionLayer extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/devotion_e.png"); - public DevotionLayer(GeoRenderer entityRenderer) { + public DevotionLayer(GeoRenderer entityRenderer) { super(entityRenderer); } @Override - public void render(PoseStack poseStack, Devotion animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + public void render(PoseStack poseStack, DevotionItem 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/superbwarfare/client/layer/M60Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/M60Layer.java index a26f9914e..6c69818c2 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/M60Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/M60Layer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.M60Item; +import net.mcreator.superbwarfare.item.gun.machinegun.M60Item; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/M870Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/M870Layer.java index fb6d2c953..c608714f6 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/M870Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/M870Layer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.M870Item; +import net.mcreator.superbwarfare.item.gun.shotgun.M870Item; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/MinigunLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/MinigunLayer.java index 43a45416c..8ce8cfd00 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/MinigunLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/MinigunLayer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/RpkLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/RpkLayer.java index 833ab6002..3366dc6c4 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/RpkLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/RpkLayer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.RpkItem; +import net.mcreator.superbwarfare.item.gun.machinegun.RpkItem; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/VectorLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/VectorLayer.java index a0b63d4a1..66d2d4d08 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/VectorLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/VectorLayer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.VectorItem; +import net.mcreator.superbwarfare.item.gun.smg.VectorItem; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Aa12ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Aa12ItemModel.java index a6ab03031..ad11f81b6 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Aa12ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Aa12ItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.Aa12Item; +import net.mcreator.superbwarfare.item.gun.shotgun.Aa12Item; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/AbekiriItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/AbekiriItemModel.java index 725831def..444532ec9 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/AbekiriItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/AbekiriItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.Abekiri; +import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -12,24 +12,24 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone; import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.model.GeoModel; -public class AbekiriItemModel extends GeoModel { +public class AbekiriItemModel extends GeoModel { @Override - public ResourceLocation getAnimationResource(Abekiri animatable) { + public ResourceLocation getAnimationResource(AbekiriItem animatable) { return new ResourceLocation(ModUtils.MODID, "animations/abekiri.animation.json"); } @Override - public ResourceLocation getModelResource(Abekiri animatable) { + public ResourceLocation getModelResource(AbekiriItem animatable) { return new ResourceLocation(ModUtils.MODID, "geo/abekiri.geo.json"); } @Override - public ResourceLocation getTextureResource(Abekiri animatable) { + public ResourceLocation getTextureResource(AbekiriItem animatable) { return new ResourceLocation(ModUtils.MODID, "textures/item/abekiri.png"); } @Override - public void setCustomAnimations(Abekiri animatable, long instanceId, AnimationState animationState) { + public void setCustomAnimations(AbekiriItem animatable, long instanceId, AnimationState animationState) { CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone shen = getAnimationProcessor().getBone("shen"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java index 083ad44fc..e42f5e894 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.Devotion; +import net.mcreator.superbwarfare.item.gun.machinegun.DevotionItem; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; @@ -13,25 +13,25 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone; import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.model.GeoModel; -public class DevotionItemModel extends GeoModel { +public class DevotionItemModel extends GeoModel { @Override - public ResourceLocation getAnimationResource(Devotion animatable) { + public ResourceLocation getAnimationResource(DevotionItem animatable) { return new ResourceLocation(ModUtils.MODID, "animations/devotion.animation.json"); } @Override - public ResourceLocation getModelResource(Devotion animatable) { + public ResourceLocation getModelResource(DevotionItem animatable) { return new ResourceLocation(ModUtils.MODID, "geo/devotion.geo.json"); } @Override - public ResourceLocation getTextureResource(Devotion animatable) { + public ResourceLocation getTextureResource(DevotionItem animatable) { return new ResourceLocation(ModUtils.MODID, "textures/item/devotion.png"); } @Override - public void setCustomAnimations(Devotion animatable, long instanceId, AnimationState animationState) { + public void setCustomAnimations(DevotionItem animatable, long instanceId, AnimationState animationState) { CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone l = getAnimationProcessor().getBone("l"); CoreGeoBone r = getAnimationProcessor().getBone("r"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java index 64d901e38..3bb5033a8 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.M60Item; +import net.mcreator.superbwarfare.item.gun.machinegun.M60Item; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M870ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M870ItemModel.java index b73696788..dec47a8fe 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M870ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M870ItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.M870Item; +import net.mcreator.superbwarfare.item.gun.shotgun.M870Item; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java index 6c53ce0a0..a7d64b210 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java index 490f41455..9140b2bbe 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.RpkItem; +import net.mcreator.superbwarfare.item.gun.machinegun.RpkItem; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/VectorItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/VectorItemModel.java index 36905d728..16591ffc5 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/VectorItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/VectorItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.VectorItem; +import net.mcreator.superbwarfare.item.gun.smg.VectorItem; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Aa12ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Aa12ItemRenderer.java index f71b97821..b428e1f83 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Aa12ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Aa12ItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.Aa12Layer; import net.mcreator.superbwarfare.client.model.item.Aa12ItemModel; -import net.mcreator.superbwarfare.item.gun.Aa12Item; +import net.mcreator.superbwarfare.item.gun.shotgun.Aa12Item; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AbekiriItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AbekiriItemRenderer.java index 261440dd7..788b93960 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AbekiriItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AbekiriItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.AbekiriLayer; import net.mcreator.superbwarfare.client.model.item.AbekiriItemModel; -import net.mcreator.superbwarfare.item.gun.Abekiri; +import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; @@ -25,14 +25,14 @@ import software.bernie.geckolib.util.RenderUtils; import java.util.HashSet; import java.util.Set; -public class AbekiriItemRenderer extends GeoItemRenderer { +public class AbekiriItemRenderer extends GeoItemRenderer { public AbekiriItemRenderer() { super(new AbekiriItemModel()); this.addRenderLayer(new AbekiriLayer(this)); } @Override - public RenderType getRenderType(Abekiri animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(AbekiriItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } @@ -41,7 +41,7 @@ public class AbekiriItemRenderer extends GeoItemRenderer { protected MultiBufferSource currentBuffer; protected RenderType renderType; public ItemDisplayContext transformType; - protected Abekiri animatable; + protected AbekiriItem animatable; private final Set hiddenBones = new HashSet<>(); @Override @@ -53,7 +53,7 @@ public class AbekiriItemRenderer extends GeoItemRenderer { } @Override - public void actuallyRender(PoseStack matrixStackIn, Abekiri animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, + public void actuallyRender(PoseStack matrixStackIn, AbekiriItem 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; @@ -65,7 +65,7 @@ public class AbekiriItemRenderer extends GeoItemRenderer { } @Override - public void renderRecursively(PoseStack stack, Abekiri animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, + public void renderRecursively(PoseStack stack, AbekiriItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, float green, float blue, float alpha) { Minecraft mc = Minecraft.getInstance(); String name = bone.getName(); @@ -128,7 +128,7 @@ public class AbekiriItemRenderer extends GeoItemRenderer { } @Override - public ResourceLocation getTextureLocation(Abekiri instance) { + public ResourceLocation getTextureLocation(AbekiriItem instance) { return super.getTextureLocation(instance); } } diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/DevotionItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/DevotionItemRenderer.java index 51915e76f..e4328fd32 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/DevotionItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/DevotionItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.DevotionLayer; import net.mcreator.superbwarfare.client.model.item.DevotionItemModel; -import net.mcreator.superbwarfare.item.gun.Devotion; +import net.mcreator.superbwarfare.item.gun.machinegun.DevotionItem; import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; @@ -26,14 +26,14 @@ import software.bernie.geckolib.util.RenderUtils; import java.util.HashSet; import java.util.Set; -public class DevotionItemRenderer extends GeoItemRenderer { +public class DevotionItemRenderer extends GeoItemRenderer { public DevotionItemRenderer() { super(new DevotionItemModel()); this.addRenderLayer(new DevotionLayer(this)); } @Override - public RenderType getRenderType(Devotion animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(DevotionItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } @@ -42,7 +42,7 @@ public class DevotionItemRenderer extends GeoItemRenderer { protected MultiBufferSource currentBuffer; protected RenderType renderType; public ItemDisplayContext transformType; - protected Devotion animatable; + protected DevotionItem animatable; private final Set hiddenBones = new HashSet<>(); @Override @@ -54,7 +54,7 @@ public class DevotionItemRenderer extends GeoItemRenderer { } @Override - public void actuallyRender(PoseStack matrixStackIn, Devotion animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, + public void actuallyRender(PoseStack matrixStackIn, DevotionItem 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; @@ -66,7 +66,7 @@ public class DevotionItemRenderer extends GeoItemRenderer { } @Override - public void renderRecursively(PoseStack stack, Devotion animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, + public void renderRecursively(PoseStack stack, DevotionItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, float green, float blue, float alpha) { Minecraft mc = Minecraft.getInstance(); String name = bone.getName(); @@ -141,7 +141,7 @@ public class DevotionItemRenderer extends GeoItemRenderer { } @Override - public ResourceLocation getTextureLocation(Devotion instance) { + public ResourceLocation getTextureLocation(DevotionItem instance) { return super.getTextureLocation(instance); } } diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M60ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M60ItemRenderer.java index 82e0e7636..2195c975c 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M60ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M60ItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.M60Layer; import net.mcreator.superbwarfare.client.model.item.M60ItemModel; -import net.mcreator.superbwarfare.item.gun.M60Item; +import net.mcreator.superbwarfare.item.gun.machinegun.M60Item; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M870ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M870ItemRenderer.java index db2f35bb5..af0e614a9 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M870ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M870ItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.M870Layer; import net.mcreator.superbwarfare.client.model.item.M870ItemModel; -import net.mcreator.superbwarfare.item.gun.M870Item; +import net.mcreator.superbwarfare.item.gun.shotgun.M870Item; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java index 0c30418f8..b421d0bdd 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.MinigunLayer; import net.mcreator.superbwarfare.client.model.item.MinigunItemModel; -import net.mcreator.superbwarfare.item.gun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpkItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpkItemRenderer.java index 55195b765..4a54c0633 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpkItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpkItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.RpkLayer; import net.mcreator.superbwarfare.client.model.item.RpkItemModel; -import net.mcreator.superbwarfare.item.gun.RpkItem; +import net.mcreator.superbwarfare.item.gun.machinegun.RpkItem; import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/VectorItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/VectorItemRenderer.java index ac46c9ba1..e6ea1fb39 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/VectorItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/VectorItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.VectorLayer; import net.mcreator.superbwarfare.client.model.item.VectorItemModel; -import net.mcreator.superbwarfare.item.gun.VectorItem; +import net.mcreator.superbwarfare.item.gun.smg.VectorItem; import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java index 4785019c2..ec16f06c4 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java @@ -10,7 +10,15 @@ import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item; import net.mcreator.superbwarfare.item.gun.handgun.M1911Item; import net.mcreator.superbwarfare.item.gun.handgun.Trachelium; +import net.mcreator.superbwarfare.item.gun.machinegun.DevotionItem; +import net.mcreator.superbwarfare.item.gun.machinegun.M60Item; +import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.RpkItem; import net.mcreator.superbwarfare.item.gun.rifle.*; +import net.mcreator.superbwarfare.item.gun.shotgun.Aa12Item; +import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem; +import net.mcreator.superbwarfare.item.gun.shotgun.M870Item; +import net.mcreator.superbwarfare.item.gun.smg.VectorItem; import net.mcreator.superbwarfare.item.gun.sniper.*; import net.mcreator.superbwarfare.tools.RarityTool; import net.minecraft.world.item.BlockItem; @@ -37,7 +45,7 @@ public class ModItems { public static final RegistryObject GLOCK_17 = GUNS.register("glock_17", Glock17Item::new); public static final RegistryObject GLOCK_18 = GUNS.register("glock_18", Glock18Item::new); public static final RegistryObject M_1911 = GUNS.register("m_1911", M1911Item::new); - public static final RegistryObject ABEKIRI = GUNS.register("abekiri", Abekiri::new); + public static final RegistryObject ABEKIRI = GUNS.register("abekiri", AbekiriItem::new); public static final RegistryObject TRACHELIUM = GUNS.register("trachelium", Trachelium::new); public static final RegistryObject VECTOR = GUNS.register("vector", VectorItem::new); public static final RegistryObject AK_47 = GUNS.register("ak_47", AK47Item::new); @@ -56,7 +64,7 @@ public class ModItems { public static final RegistryObject NTW_20 = GUNS.register("ntw_20", Ntw20Item::new); public static final RegistryObject M_870 = GUNS.register("m_870", M870Item::new); public static final RegistryObject AA_12 = GUNS.register("aa_12", Aa12Item::new); - public static final RegistryObject DEVOTION = GUNS.register("devotion", Devotion::new); + public static final RegistryObject DEVOTION = GUNS.register("devotion", DevotionItem::new); public static final RegistryObject RPK = GUNS.register("rpk", RpkItem::new); public static final RegistryObject M_60 = GUNS.register("m_60", M60Item::new); public static final RegistryObject MINIGUN = GUNS.register("minigun", Minigun::new); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java index defe7f938..78cdfcb48 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java @@ -6,7 +6,15 @@ import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item; import net.mcreator.superbwarfare.item.gun.handgun.M1911Item; import net.mcreator.superbwarfare.item.gun.handgun.Trachelium; +import net.mcreator.superbwarfare.item.gun.machinegun.DevotionItem; +import net.mcreator.superbwarfare.item.gun.machinegun.M60Item; +import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.RpkItem; import net.mcreator.superbwarfare.item.gun.rifle.*; +import net.mcreator.superbwarfare.item.gun.shotgun.Aa12Item; +import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem; +import net.mcreator.superbwarfare.item.gun.shotgun.M870Item; +import net.mcreator.superbwarfare.item.gun.smg.VectorItem; import net.mcreator.superbwarfare.item.gun.sniper.*; import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; @@ -33,7 +41,7 @@ public class ModTabs { output.accept(Glock17Item.getGunInstance()); output.accept(Glock18Item.getGunInstance()); output.accept(M1911Item.getGunInstance()); - output.accept(Abekiri.getGunInstance()); + output.accept(AbekiriItem.getGunInstance()); output.accept(Trachelium.getGunInstance()); output.accept(VectorItem.getGunInstance()); output.accept(SksItem.getGunInstance()); @@ -52,7 +60,7 @@ public class ModTabs { output.accept(Ntw20Item.getGunInstance()); output.accept(M870Item.getGunInstance()); output.accept(Aa12Item.getGunInstance()); - output.accept(Devotion.getGunInstance()); + output.accept(DevotionItem.getGunInstance()); output.accept(RpkItem.getGunInstance()); output.accept(M60Item.getGunInstance()); output.accept(Minigun.getGunInstance()); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModTags.java b/src/main/java/net/mcreator/superbwarfare/init/ModTags.java index f1994d0b8..0624c8a42 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModTags.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModTags.java @@ -20,7 +20,8 @@ public class ModTags { public static final TagKey HANDGUN = tag("handgun"); public static final TagKey RIFLE = tag("rifle"); public static final TagKey SNIPER_RIFLE = tag("sniper_rifle"); - public static final TagKey MG = tag("mg"); + public static final TagKey MACHINE_GUN = tag("machine_gun"); + public static final TagKey SHOTGUN = tag("shotgun"); public static final TagKey NORMAL_GUN = tag("normal_gun"); public static final TagKey LEGENDARY_GUN = tag("legendary_gun"); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/JavelinItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/JavelinItem.java index c769b3fe9..7c22ae56c 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/JavelinItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/JavelinItem.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; @@ -29,7 +28,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; @@ -41,7 +39,6 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; -import java.util.List; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -150,11 +147,6 @@ public class JavelinItem extends GunItem implements GeoItem, AnimatedItem { return map; } - @Override - public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { - TooltipTool.addGunTips(list, stack); - } - public static int getAmmoCount(Player player) { int sum = 0; for (int i = 0; i < player.getInventory().getContainerSize(); ++i) { @@ -194,15 +186,12 @@ public class JavelinItem extends GunItem implements GeoItem, AnimatedItem { SoundTool.playLocalSound(serverPlayer, ModSounds.JAVELIN_LOCK.get(), 2, 1); } - if (tag.getInt("SeekTime") > 20 && seekingEntity instanceof LivingEntity _entity && !_entity.level().isClientSide()) { - _entity.addEffect(new MobEffectInstance(MobEffects.GLOWING, 40, 0)); + if (tag.getInt("SeekTime") > 20 && seekingEntity instanceof LivingEntity living && !living.level().isClientSide()) { + living.addEffect(new MobEffectInstance(MobEffects.GLOWING, 40, 0)); if (player instanceof ServerPlayer serverPlayer) { SoundTool.playLocalSound(serverPlayer, ModSounds.JAVELIN_LOCKON.get(), 2, 1); } } -// if (seekingEntity != null) { -// player.displayClientMessage(Component.literal(" " + tag.getInt("SeekTime")), true); -// } } } } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Devotion.java b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/DevotionItem.java similarity index 92% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Devotion.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/DevotionItem.java index 2c21ede64..c469ecaa9 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Devotion.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/DevotionItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.machinegun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,6 +8,9 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; +import net.mcreator.superbwarfare.perk.Perk; +import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; import net.minecraft.client.Minecraft; @@ -41,12 +44,12 @@ import java.util.Set; import java.util.UUID; import java.util.function.Consumer; -public class Devotion extends GunItem implements GeoItem, AnimatedItem { +public class DevotionItem extends GunItem implements GeoItem, AnimatedItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationProcedure = "empty"; public static ItemDisplayContext transformType; - public Devotion() { + public DevotionItem() { super(new Item.Properties().stacksTo(1).rarity(Rarity.EPIC)); } @@ -72,14 +75,13 @@ public class Devotion extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState idlePredicate(AnimationState event) { + private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (this.animationProcedure.equals("empty")) { - if (stack.getOrCreateTag().getInt("draw_time") < 16) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.devotion.draw")); } @@ -109,7 +111,7 @@ public class Devotion extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - private PlayState procedurePredicate(AnimationState event) { + private PlayState procedurePredicate(AnimationState 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)); @@ -172,4 +174,9 @@ public class Devotion extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " Devotion"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.MACHINE_GUN_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M60Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/M60Item.java similarity index 92% rename from src/main/java/net/mcreator/superbwarfare/item/gun/M60Item.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/M60Item.java index 78066d30e..dd04ad061 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M60Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/M60Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.machinegun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; +import net.mcreator.superbwarfare.perk.Perk; +import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; -import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.InteractionHand; @@ -25,8 +26,10 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.item.*; -import net.minecraft.world.level.Level; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Rarity; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -37,7 +40,6 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; -import java.util.List; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -73,14 +75,13 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState idlePredicate(AnimationState event) { + private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (this.animationProcedure.equals("empty")) { - if (stack.getOrCreateTag().getInt("draw_time") < 29) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m60.draw")); } @@ -122,7 +123,7 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - private PlayState procedurePredicate(AnimationState event) { + private PlayState procedurePredicate(AnimationState 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)); @@ -150,11 +151,6 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem { return this.cache; } - @Override - public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { - TooltipTool.addGunTips(list, stack); - } - @Override public Set getReloadSound() { return Set.of(ModSounds.M_60_RELOAD_EMPTY.get(), ModSounds.M_60_RELOAD_NORMAL.get()); @@ -192,4 +188,9 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " M60"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.MACHINE_GUN_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Minigun.java b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/Minigun.java similarity index 95% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Minigun.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/Minigun.java index 7e7471e17..4da455d71 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Minigun.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/Minigun.java @@ -1,21 +1,22 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.machinegun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.client.renderer.item.MinigunItemRenderer; import net.mcreator.superbwarfare.init.ModItems; +import net.mcreator.superbwarfare.init.ModPerks; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; +import net.mcreator.superbwarfare.perk.Perk; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.ItemNBTTool; import net.mcreator.superbwarfare.tools.RarityTool; -import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; @@ -30,7 +31,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; @@ -42,7 +42,6 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; -import java.util.List; import java.util.UUID; import java.util.function.Consumer; @@ -172,11 +171,6 @@ public class Minigun extends GunItem implements GeoItem, AnimatedItem { return map; } - @Override - public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { - TooltipTool.addGunTips(list, stack); - } - @Override public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); @@ -217,4 +211,13 @@ public class Minigun extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return "M134 MINIGUN"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return switch (perk.type) { + case AMMO -> true; + case FUNCTIONAL -> false; + case DAMAGE -> perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.KILLING_TALLY.get(); + }; + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/RpkItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/RpkItem.java similarity index 92% rename from src/main/java/net/mcreator/superbwarfare/item/gun/RpkItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/RpkItem.java index e82e0a06c..ddf2a35b2 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/RpkItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/RpkItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.machinegun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; +import net.mcreator.superbwarfare.perk.Perk; +import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; -import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.InteractionHand; @@ -25,8 +26,10 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.item.*; -import net.minecraft.world.level.Level; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Rarity; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -37,7 +40,6 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; -import java.util.List; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -73,14 +75,13 @@ public class RpkItem extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState idlePredicate(AnimationState event) { + private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (this.animationProcedure.equals("empty")) { - if (stack.getOrCreateTag().getInt("draw_time") < 16) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.draw")); } @@ -118,7 +119,7 @@ public class RpkItem extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - private PlayState procedurePredicate(AnimationState event) { + private PlayState procedurePredicate(AnimationState 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)); @@ -158,11 +159,6 @@ public class RpkItem extends GunItem implements GeoItem, AnimatedItem { return map; } - @Override - public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { - TooltipTool.addGunTips(list, stack); - } - @Override public Set getReloadSound() { return Set.of(ModSounds.RPK_RELOAD_EMPTY.get(), ModSounds.RPK_RELOAD_NORMAL.get()); @@ -188,4 +184,9 @@ public class RpkItem extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " RPK"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.MACHINE_GUN_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Aa12Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/Aa12Item.java similarity index 98% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Aa12Item.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/Aa12Item.java index cedaece24..f502230d9 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Aa12Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/Aa12Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.shotgun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,6 +8,7 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; import net.mcreator.superbwarfare.perk.Perk; import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Abekiri.java b/src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/AbekiriItem.java similarity index 95% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Abekiri.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/AbekiriItem.java index 33c438ac4..086c05458 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Abekiri.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/AbekiriItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.shotgun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,6 +8,7 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; import net.mcreator.superbwarfare.perk.Perk; import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; @@ -45,7 +46,7 @@ import java.util.Set; import java.util.UUID; import java.util.function.Consumer; -public class Abekiri extends GunItem implements GeoItem, AnimatedItem { +public class AbekiriItem extends GunItem implements GeoItem, AnimatedItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationProcedure = "empty"; public static ItemDisplayContext transformType; @@ -55,7 +56,7 @@ public class Abekiri extends GunItem implements GeoItem, AnimatedItem { return Set.of(ModSounds.ABEKIRI_RELOAD_EMPTY.get(), ModSounds.ABEKIRI_RELOAD_NORMAL.get()); } - public Abekiri() { + public AbekiriItem() { super(new Item.Properties().durability(24).rarity(Rarity.COMMON)); } @@ -81,7 +82,7 @@ public class Abekiri extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState idlePredicate(AnimationState event) { + private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; ItemStack stack = player.getMainHandItem(); @@ -118,7 +119,7 @@ public class Abekiri extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - private PlayState procedurePredicate(AnimationState event) { + private PlayState procedurePredicate(AnimationState event) { if (transformType != null) { if (!(this.animationProcedure.equals("empty")) && event.getController().getAnimationState() == AnimationController.State.STOPPED) { event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure)); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M870Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/M870Item.java similarity index 94% rename from src/main/java/net/mcreator/superbwarfare/item/gun/M870Item.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/M870Item.java index dbdb9e423..16adcaa09 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M870Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/shotgun/M870Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.shotgun; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,6 +8,9 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; +import net.mcreator.superbwarfare.perk.Perk; +import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; @@ -74,7 +77,7 @@ public class M870Item extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState idlePredicate(AnimationState event) { + private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; ItemStack stack = player.getMainHandItem(); @@ -82,7 +85,6 @@ public class M870Item extends GunItem implements GeoItem, AnimatedItem { if (transformType != null && transformType.firstPerson()) { if (this.animationProcedure.equals("empty")) { - if (stack.getOrCreateTag().getInt("draw_time") < 16) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m870.draw")); } @@ -126,7 +128,7 @@ public class M870Item extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - private PlayState procedurePredicate(AnimationState event) { + private PlayState procedurePredicate(AnimationState 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)); @@ -196,4 +198,9 @@ public class M870Item extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " M870 MCS"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SHOTGUN_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/VectorItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/smg/VectorItem.java similarity index 94% rename from src/main/java/net/mcreator/superbwarfare/item/gun/VectorItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/smg/VectorItem.java index 2e34e5977..427f47105 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/VectorItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/smg/VectorItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.smg; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; +import net.mcreator.superbwarfare.perk.Perk; +import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; -import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.InteractionHand; @@ -25,8 +26,10 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.item.*; -import net.minecraft.world.level.Level; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Rarity; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -37,7 +40,6 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; -import java.util.List; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -149,11 +151,6 @@ public class VectorItem extends GunItem implements GeoItem, AnimatedItem { return this.cache; } - @Override - public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { - TooltipTool.addGunTips(list, stack); - } - public static ItemStack getGunInstance() { ItemStack stack = new ItemStack(ModItems.VECTOR.get()); GunsTool.initCreativeGun(stack, ModItems.VECTOR.getId().getPath()); @@ -191,4 +188,9 @@ public class VectorItem extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return "VECTOR"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SMG_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java b/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java index b7c544b86..53ec87d34 100644 --- a/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java +++ b/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java @@ -249,5 +249,39 @@ public class PerkHelper { } }; + public static final Predicate SMG_PERKS = perk -> { + switch (perk.type) { + case AMMO -> { + return true; + } + case FUNCTIONAL -> { + return perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.SUBSISTENCE.get(); + } + case DAMAGE -> { + return perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.GUTSHOT_STRAIGHT.get() || + perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.HEAD_SEEKER.get(); + } + default -> { + return false; + } + } + }; + + public static final Predicate MACHINE_GUN_PERKS = perk -> { + switch (perk.type) { + case AMMO -> { + return true; + } + case FUNCTIONAL -> { + return perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.SUBSISTENCE.get(); + } + case DAMAGE -> { + return perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.KILLING_TALLY.get(); + } + default -> { + return false; + } + } + }; } diff --git a/src/main/resources/data/superbwarfare/tags/items/mg.json b/src/main/resources/data/superbwarfare/tags/items/machine_gun.json similarity index 100% rename from src/main/resources/data/superbwarfare/tags/items/mg.json rename to src/main/resources/data/superbwarfare/tags/items/machine_gun.json diff --git a/src/main/resources/data/superbwarfare/tags/items/shotgun.json b/src/main/resources/data/superbwarfare/tags/items/shotgun.json new file mode 100644 index 000000000..7155833b2 --- /dev/null +++ b/src/main/resources/data/superbwarfare/tags/items/shotgun.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "superbwarfare:abekiri", + "superbwarfare:aa_12", + "superbwarfare:m_870" + ] +} \ No newline at end of file