diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/Glock17Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/Glock17Layer.java index 6948752b4..cd338510a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/Glock17Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/Glock17Layer.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.Glock17Item; +import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item; 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/Glock18Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/Glock18Layer.java index ded7b0a7e..01b73a89a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/Glock18Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/Glock18Layer.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.Glock18Item; +import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item; 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/HuntingRifleLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/HuntingRifleLayer.java index 55c70f709..fbe0bb6a1 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/HuntingRifleLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/HuntingRifleLayer.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.HuntingRifle; +import net.mcreator.superbwarfare.item.gun.sniper.HuntingRifleItem; 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 HuntingRifleLayer extends GeoRenderLayer { +public class HuntingRifleLayer extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/huntingrifle_e.png"); - public HuntingRifleLayer(GeoRenderer entityRenderer) { + public HuntingRifleLayer(GeoRenderer entityRenderer) { super(entityRenderer); } @Override - public void render(PoseStack poseStack, HuntingRifle animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + public void render(PoseStack poseStack, HuntingRifleItem 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/K98Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/K98Layer.java index c903a177b..b716c95f0 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/K98Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/K98Layer.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.K98Item; +import net.mcreator.superbwarfare.item.gun.sniper.K98Item; 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/M1911Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/M1911Layer.java index 5fc672931..e4b206a84 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/M1911Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/M1911Layer.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.M1911Item; +import net.mcreator.superbwarfare.item.gun.handgun.M1911Item; 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/M98bLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/M98bLayer.java index 821c07c4a..a4ba219b6 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/M98bLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/M98bLayer.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.M98bItem; +import net.mcreator.superbwarfare.item.gun.sniper.M98bItem; 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/MosinNagantLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/MosinNagantLayer.java index 78d11d0f8..ce9e0c55a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/MosinNagantLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/MosinNagantLayer.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.MosinNagantItem; +import net.mcreator.superbwarfare.item.gun.sniper.MosinNagantItem; 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/Ntw20Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/Ntw20Layer.java index 358ae0303..a6404275b 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/Ntw20Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/Ntw20Layer.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.Ntw20; +import net.mcreator.superbwarfare.item.gun.sniper.Ntw20Item; 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 Ntw20Layer extends GeoRenderLayer { +public class Ntw20Layer extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/ntw_20_e.png"); - public Ntw20Layer(GeoRenderer entityRenderer) { + public Ntw20Layer(GeoRenderer entityRenderer) { super(entityRenderer); } @Override - public void render(PoseStack poseStack, Ntw20 animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + public void render(PoseStack poseStack, Ntw20Item 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/SentinelLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/SentinelLayer.java index 204bd5efe..32a4f0007 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/SentinelLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/SentinelLayer.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.SentinelItem; +import net.mcreator.superbwarfare.item.gun.sniper.SentinelItem; 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/SvdLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/SvdLayer.java index 082410dfe..eb056d0f2 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/SvdLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/SvdLayer.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.SvdItem; +import net.mcreator.superbwarfare.item.gun.sniper.SvdItem; 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/TracheliumLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/TracheliumLayer.java index 0fa82eba3..d0bc4bee2 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/TracheliumLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/TracheliumLayer.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.Trachelium; +import net.mcreator.superbwarfare.item.gun.handgun.Trachelium; 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/Glock17ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock17ItemModel.java index 3aa0b915e..447776b14 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock17ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock17ItemModel.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.Glock17Item; +import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item; 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/Glock18ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock18ItemModel.java index fdd97968b..e271507bd 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock18ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Glock18ItemModel.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.Glock18Item; +import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item; 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/HuntingRifleItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java index 2b1461e4c..8d42149ec 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.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.HuntingRifle; +import net.mcreator.superbwarfare.item.gun.sniper.HuntingRifleItem; 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 HuntingRifleItemModel extends GeoModel { +public class HuntingRifleItemModel extends GeoModel { @Override - public ResourceLocation getAnimationResource(HuntingRifle animatable) { + public ResourceLocation getAnimationResource(HuntingRifleItem animatable) { return new ResourceLocation(ModUtils.MODID, "animations/hunting_rifle.animation.json"); } @Override - public ResourceLocation getModelResource(HuntingRifle animatable) { + public ResourceLocation getModelResource(HuntingRifleItem animatable) { return new ResourceLocation(ModUtils.MODID, "geo/hunting_rifle.geo.json"); } @Override - public ResourceLocation getTextureResource(HuntingRifle animatable) { + public ResourceLocation getTextureResource(HuntingRifleItem animatable) { return new ResourceLocation(ModUtils.MODID, "textures/item/huntingrifle.png"); } @Override - public void setCustomAnimations(HuntingRifle animatable, long instanceId, AnimationState animationState) { + public void setCustomAnimations(HuntingRifleItem animatable, long instanceId, AnimationState animationState) { CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone shen = getAnimationProcessor().getBone("lieqiang"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/K98ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/K98ItemModel.java index c68c6b73b..b3a875360 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/K98ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/K98ItemModel.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.K98Item; +import net.mcreator.superbwarfare.item.gun.sniper.K98Item; 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/M1911ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M1911ItemModel.java index 25db07786..81ac10f77 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M1911ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M1911ItemModel.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.M1911Item; +import net.mcreator.superbwarfare.item.gun.handgun.M1911Item; 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/M98bItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M98bItemModel.java index 3017447ef..563d63839 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M98bItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M98bItemModel.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.M98bItem; +import net.mcreator.superbwarfare.item.gun.sniper.M98bItem; 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/MosinNagantItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/MosinNagantItemModel.java index c152bd504..9823f2e89 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/MosinNagantItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/MosinNagantItemModel.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.MosinNagantItem; +import net.mcreator.superbwarfare.item.gun.sniper.MosinNagantItem; 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/Ntw20Model.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Ntw20Model.java index 2a3fd5e02..402c1de63 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Ntw20Model.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Ntw20Model.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.Ntw20; +import net.mcreator.superbwarfare.item.gun.sniper.Ntw20Item; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; @@ -13,24 +13,24 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone; import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.model.GeoModel; -public class Ntw20Model extends GeoModel { +public class Ntw20Model extends GeoModel { @Override - public ResourceLocation getAnimationResource(Ntw20 animatable) { + public ResourceLocation getAnimationResource(Ntw20Item animatable) { return new ResourceLocation(ModUtils.MODID, "animations/ntw_20.animation.json"); } @Override - public ResourceLocation getModelResource(Ntw20 animatable) { + public ResourceLocation getModelResource(Ntw20Item animatable) { return new ResourceLocation(ModUtils.MODID, "geo/ntw_20.geo.json"); } @Override - public ResourceLocation getTextureResource(Ntw20 animatable) { + public ResourceLocation getTextureResource(Ntw20Item animatable) { return new ResourceLocation(ModUtils.MODID, "textures/item/ntw_20.png"); } @Override - public void setCustomAnimations(Ntw20 animatable, long instanceId, AnimationState animationState) { + public void setCustomAnimations(Ntw20Item animatable, long instanceId, AnimationState animationState) { CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone scope = getAnimationProcessor().getBone("scope"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java index 673132073..0c42e69f3 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.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.SentinelItem; +import net.mcreator.superbwarfare.item.gun.sniper.SentinelItem; 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/SvdItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java index f9eeca05d..3631b89bb 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.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.SvdItem; +import net.mcreator.superbwarfare.item.gun.sniper.SvdItem; 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/TracheliumItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/TracheliumItemModel.java index fa00e55d9..cb39183dd 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/TracheliumItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/TracheliumItemModel.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.Trachelium; +import net.mcreator.superbwarfare.item.gun.handgun.Trachelium; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock17ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock17ItemRenderer.java index 9b4e760af..b4a2aa3f9 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock17ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock17ItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.Glock17Layer; import net.mcreator.superbwarfare.client.model.item.Glock17ItemModel; -import net.mcreator.superbwarfare.item.gun.Glock17Item; +import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item; 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/Glock18ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock18ItemRenderer.java index 85b7f0ff1..a210c821e 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock18ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock18ItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.Glock18Layer; import net.mcreator.superbwarfare.client.model.item.Glock18ItemModel; -import net.mcreator.superbwarfare.item.gun.Glock18Item; +import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item; 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/HuntingRifleItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java index 13bdadff1..edc2f5a18 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.HuntingRifleLayer; import net.mcreator.superbwarfare.client.model.item.HuntingRifleItemModel; -import net.mcreator.superbwarfare.item.gun.HuntingRifle; +import net.mcreator.superbwarfare.item.gun.sniper.HuntingRifleItem; 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 HuntingRifleItemRenderer extends GeoItemRenderer { +public class HuntingRifleItemRenderer extends GeoItemRenderer { public HuntingRifleItemRenderer() { super(new HuntingRifleItemModel()); this.addRenderLayer(new HuntingRifleLayer(this)); } @Override - public RenderType getRenderType(HuntingRifle animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(HuntingRifleItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } @@ -41,7 +41,7 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer { protected MultiBufferSource currentBuffer; protected RenderType renderType; public ItemDisplayContext transformType; - protected HuntingRifle animatable; + protected HuntingRifleItem animatable; private final Set hiddenBones = new HashSet<>(); @Override @@ -53,7 +53,7 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer { } @Override - public void actuallyRender(PoseStack matrixStackIn, HuntingRifle animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, + public void actuallyRender(PoseStack matrixStackIn, HuntingRifleItem 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 HuntingRifleItemRenderer extends GeoItemRenderer { } @Override - public void renderRecursively(PoseStack stack, HuntingRifle animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, + public void renderRecursively(PoseStack stack, HuntingRifleItem 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 HuntingRifleItemRenderer extends GeoItemRenderer { } @Override - public ResourceLocation getTextureLocation(HuntingRifle instance) { + public ResourceLocation getTextureLocation(HuntingRifleItem instance) { return super.getTextureLocation(instance); } } diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/K98ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/K98ItemRenderer.java index 1c5103540..d4ea6755e 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/K98ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/K98ItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.K98Layer; import net.mcreator.superbwarfare.client.model.item.K98ItemModel; -import net.mcreator.superbwarfare.item.gun.K98Item; +import net.mcreator.superbwarfare.item.gun.sniper.K98Item; 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/M1911ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M1911ItemRenderer.java index 3d5d7d75b..114bc57f2 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M1911ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M1911ItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.M1911Layer; import net.mcreator.superbwarfare.client.model.item.M1911ItemModel; -import net.mcreator.superbwarfare.item.gun.M1911Item; +import net.mcreator.superbwarfare.item.gun.handgun.M1911Item; 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/M98bItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M98bItemRenderer.java index b0d3069c6..bc3f7e9cd 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M98bItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M98bItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.M98bLayer; import net.mcreator.superbwarfare.client.model.item.M98bItemModel; -import net.mcreator.superbwarfare.item.gun.M98bItem; +import net.mcreator.superbwarfare.item.gun.sniper.M98bItem; 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/MosinNagantItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java index 0274487f9..21926c6df 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.MosinNagantLayer; import net.mcreator.superbwarfare.client.model.item.MosinNagantItemModel; -import net.mcreator.superbwarfare.item.gun.MosinNagantItem; +import net.mcreator.superbwarfare.item.gun.sniper.MosinNagantItem; 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/Ntw20Renderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Ntw20Renderer.java index c5979d801..5a21845da 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Ntw20Renderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Ntw20Renderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.Ntw20Layer; import net.mcreator.superbwarfare.client.model.item.Ntw20Model; -import net.mcreator.superbwarfare.item.gun.Ntw20; +import net.mcreator.superbwarfare.item.gun.sniper.Ntw20Item; 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 Ntw20Renderer extends GeoItemRenderer { +public class Ntw20Renderer extends GeoItemRenderer { public Ntw20Renderer() { super(new Ntw20Model()); this.addRenderLayer(new Ntw20Layer(this)); } @Override - public RenderType getRenderType(Ntw20 animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(Ntw20Item animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } @@ -42,7 +42,7 @@ public class Ntw20Renderer extends GeoItemRenderer { protected MultiBufferSource currentBuffer; protected RenderType renderType; public ItemDisplayContext transformType; - protected Ntw20 animatable; + protected Ntw20Item animatable; private final Set hiddenBones = new HashSet<>(); private final Set suppressedBones = new HashSet<>(); @@ -55,7 +55,7 @@ public class Ntw20Renderer extends GeoItemRenderer { } @Override - public void actuallyRender(PoseStack matrixStackIn, Ntw20 animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, + public void actuallyRender(PoseStack matrixStackIn, Ntw20Item 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; @@ -67,7 +67,7 @@ public class Ntw20Renderer extends GeoItemRenderer { } @Override - public void renderRecursively(PoseStack stack, Ntw20 animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, + public void renderRecursively(PoseStack stack, Ntw20Item 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(); @@ -143,7 +143,7 @@ public class Ntw20Renderer extends GeoItemRenderer { } @Override - public ResourceLocation getTextureLocation(Ntw20 instance) { + public ResourceLocation getTextureLocation(Ntw20Item instance) { return super.getTextureLocation(instance); } } diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SentinelItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SentinelItemRenderer.java index ce9f5765e..273c44379 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SentinelItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SentinelItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.SentinelLayer; import net.mcreator.superbwarfare.client.model.item.SentinelItemModel; -import net.mcreator.superbwarfare.item.gun.SentinelItem; +import net.mcreator.superbwarfare.item.gun.sniper.SentinelItem; 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/SvdItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SvdItemRenderer.java index b63c6e8d2..f6555f551 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SvdItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SvdItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.SvdLayer; import net.mcreator.superbwarfare.client.model.item.SvdItemModel; -import net.mcreator.superbwarfare.item.gun.SvdItem; +import net.mcreator.superbwarfare.item.gun.sniper.SvdItem; 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/TracheliumItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TracheliumItemRenderer.java index f65f851b0..1b8ea9517 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TracheliumItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TracheliumItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.TracheliumLayer; import net.mcreator.superbwarfare.client.model.item.TracheliumItemModel; -import net.mcreator.superbwarfare.item.gun.Trachelium; +import net.mcreator.superbwarfare.item.gun.handgun.Trachelium; 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/init/ModItems.java b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java index ab85a5b6f..4785019c2 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java @@ -6,7 +6,12 @@ import net.mcreator.superbwarfare.item.common.BlueprintItem; import net.mcreator.superbwarfare.item.common.MaterialPack; import net.mcreator.superbwarfare.item.common.ammo.*; import net.mcreator.superbwarfare.item.gun.*; +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.rifle.*; +import net.mcreator.superbwarfare.item.gun.sniper.*; import net.mcreator.superbwarfare.tools.RarityTool; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; @@ -47,8 +52,8 @@ public class ModItems { 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", SentinelItem::new); - public static final RegistryObject HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifle::new); - public static final RegistryObject NTW_20 = GUNS.register("ntw_20", Ntw20::new); + public static final RegistryObject HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifleItem::new); + 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); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java index 1eb2e66cc..defe7f938 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java @@ -2,7 +2,12 @@ package net.mcreator.superbwarfare.init; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.item.gun.*; +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.rifle.*; +import net.mcreator.superbwarfare.item.gun.sniper.*; import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; @@ -41,10 +46,10 @@ public class ModTabs { output.accept(K98Item.getGunInstance()); output.accept(MosinNagantItem.getGunInstance()); output.accept(SvdItem.getGunInstance()); - output.accept(HuntingRifle.getGunInstance()); + output.accept(HuntingRifleItem.getGunInstance()); output.accept(M98bItem.getGunInstance()); output.accept(SentinelItem.getGunInstance()); - output.accept(Ntw20.getGunInstance()); + output.accept(Ntw20Item.getGunInstance()); output.accept(M870Item.getGunInstance()); output.accept(Aa12Item.getGunInstance()); output.accept(Devotion.getGunInstance()); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Glock17Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Glock17Item.java similarity index 92% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Glock17Item.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Glock17Item.java index 68c4fefef..832d44aa2 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Glock17Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Glock17Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.handgun; 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; @@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; -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; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -40,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; @@ -76,7 +74,7 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState fireAnimPredicate(AnimationState event) { + private PlayState fireAnimPredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; ItemStack stack = player.getMainHandItem(); @@ -108,7 +106,6 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem { if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (this.animationProcedure.equals("empty")) { - if (stack.getOrCreateTag().getInt("draw_time") < 10) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.draw")); } @@ -142,11 +139,6 @@ public class Glock17Item 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 Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { Multimap map = super.getAttributeModifiers(slot, stack); @@ -161,10 +153,7 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem { @Override public Set getReloadSound() { - return Set.of( - ModSounds.GLOCK_17_RELOAD_EMPTY.get(), - ModSounds.GLOCK_17_RELOAD_NORMAL.get() - ); + return Set.of(ModSounds.GLOCK_17_RELOAD_EMPTY.get(), ModSounds.GLOCK_17_RELOAD_NORMAL.get()); } public static ItemStack getGunInstance() { @@ -187,4 +176,9 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " GLOCK-17"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.HANDGUN_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Glock18Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Glock18Item.java similarity index 94% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Glock18Item.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Glock18Item.java index fa0525adf..ee6f0aa4e 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Glock18Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Glock18Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.handgun; 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; @@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; -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; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -40,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; @@ -76,7 +74,7 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState fireAnimPredicate(AnimationState event) { + private PlayState fireAnimPredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; ItemStack stack = player.getMainHandItem(); @@ -115,7 +113,6 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem { if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (this.animationProcedure.equals("empty")) { - if (stack.getOrCreateTag().getInt("draw_time") < 10) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.draw")); } @@ -149,11 +146,6 @@ public class Glock18Item 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 Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { Multimap map = super.getAttributeModifiers(slot, stack); @@ -194,4 +186,9 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " GLOCK-18"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.HANDGUN_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M1911Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/handgun/M1911Item.java similarity index 94% rename from src/main/java/net/mcreator/superbwarfare/item/gun/M1911Item.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/handgun/M1911Item.java index fa638fbb9..e8c6e9e06 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M1911Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/handgun/M1911Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.handgun; 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; @@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; -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; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -40,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; @@ -76,7 +74,7 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState fireAnimPredicate(AnimationState event) { + private PlayState fireAnimPredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; ItemStack stack = player.getMainHandItem(); @@ -95,7 +93,6 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal")); } - return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.idle")); } return PlayState.STOP; @@ -142,11 +139,6 @@ public class M1911Item 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 Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { Multimap map = super.getAttributeModifiers(slot, stack); @@ -187,4 +179,9 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " M-1911"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.HANDGUN_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Trachelium.java b/src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Trachelium.java similarity index 94% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Trachelium.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Trachelium.java index 498c89ae5..0576d04a1 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Trachelium.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/handgun/Trachelium.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.handgun; 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; @@ -81,7 +84,7 @@ public class Trachelium 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(); @@ -114,7 +117,7 @@ public class Trachelium 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)); @@ -184,4 +187,9 @@ public class Trachelium extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return "TRACHELIUM"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.HANDGUN_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/HuntingRifle.java b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/HuntingRifleItem.java similarity index 90% rename from src/main/java/net/mcreator/superbwarfare/item/gun/HuntingRifle.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/sniper/HuntingRifleItem.java index 9d3d5cb13..e8317bd67 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/HuntingRifle.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/HuntingRifleItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.sniper; 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,17 +40,16 @@ 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; -public class HuntingRifle extends GunItem implements GeoItem, AnimatedItem { +public class HuntingRifleItem extends GunItem implements GeoItem, AnimatedItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationProcedure = "empty"; public static ItemDisplayContext transformType; - public HuntingRifle() { + public HuntingRifleItem() { super(new Item.Properties().stacksTo(1).rarity(Rarity.EPIC)); } @@ -78,14 +80,13 @@ public class HuntingRifle 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.hunting_rifle.draw")); } @@ -110,7 +111,7 @@ public class HuntingRifle 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)); @@ -149,11 +150,6 @@ public class HuntingRifle 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 ItemStack getGunInstance() { ItemStack stack = new ItemStack(ModItems.HUNTING_RIFLE.get()); GunsTool.initCreativeGun(stack, ModItems.HUNTING_RIFLE.getId().getPath()); @@ -174,4 +170,9 @@ public class HuntingRifle extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " Hunting Rifle"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/K98Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/K98Item.java similarity index 87% rename from src/main/java/net/mcreator/superbwarfare/item/gun/K98Item.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/sniper/K98Item.java index f5ddf2828..6420e697b 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/K98Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/K98Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.sniper; 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; @@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; -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; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -40,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; @@ -76,14 +74,13 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState fireAnimPredicate(AnimationState event) { + private PlayState fireAnimPredicate(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("bolt_action_anim") > 0) { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.shift")); } @@ -124,7 +121,6 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem { 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.k98.draw")); } @@ -147,21 +143,6 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - 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)); - if (event.getController().getAnimationState() == AnimationController.State.STOPPED) { - this.animationProcedure = "empty"; - event.getController().forceAnimationReset(); - } - } else if (this.animationProcedure.equals("empty")) { - return PlayState.STOP; - } - } - return PlayState.CONTINUE; - } - @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate); @@ -175,11 +156,6 @@ public class K98Item 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 Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { Multimap map = super.getAttributeModifiers(slot, stack); @@ -223,4 +199,9 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " KAR-98K"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M98bItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/M98bItem.java similarity index 90% rename from src/main/java/net/mcreator/superbwarfare/item/gun/M98bItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/sniper/M98bItem.java index 63c171a4e..d552745fa 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M98bItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/M98bItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.sniper; 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 M98bItem 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.m98b.draw")); } @@ -114,7 +115,7 @@ public class M98bItem 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)); @@ -142,11 +143,6 @@ public class M98bItem 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 Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { Multimap map = super.getAttributeModifiers(slot, stack); @@ -161,11 +157,7 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem { @Override public Set getReloadSound() { - return Set.of( - ModSounds.M_98B_RELOAD_EMPTY.get(), - ModSounds.M_98B_RELOAD_NORMAL.get(), - ModSounds.M_98B_BOLT.get() - ); + return Set.of(ModSounds.M_98B_RELOAD_EMPTY.get(), ModSounds.M_98B_RELOAD_NORMAL.get(), ModSounds.M_98B_BOLT.get()); } public static ItemStack getGunInstance() { @@ -188,4 +180,9 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " M98-B"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/MosinNagantItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/MosinNagantItem.java similarity index 87% rename from src/main/java/net/mcreator/superbwarfare/item/gun/MosinNagantItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/sniper/MosinNagantItem.java index 568bd29b1..85f8e53c2 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/MosinNagantItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/MosinNagantItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.sniper; 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; @@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; -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; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -40,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; @@ -76,14 +74,13 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState fireAnimPredicate(AnimationState event) { + private PlayState fireAnimPredicate(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("bolt_action_anim") > 0) { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.shift")); } @@ -124,7 +121,6 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem { 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.mosin.draw")); } @@ -147,21 +143,6 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - 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)); - if (event.getController().getAnimationState() == AnimationController.State.STOPPED) { - this.animationProcedure = "empty"; - event.getController().forceAnimationReset(); - } - } else if (this.animationProcedure.equals("empty")) { - return PlayState.STOP; - } - } - return PlayState.CONTINUE; - } - @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate); @@ -175,11 +156,6 @@ public class MosinNagantItem 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 Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { Multimap map = super.getAttributeModifiers(slot, stack); @@ -223,4 +199,9 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return "MOSIN NAGANT"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Ntw20.java b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/Ntw20Item.java similarity index 87% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Ntw20.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/sniper/Ntw20Item.java index 2e4e92728..f9d2ae7fd 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Ntw20.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/Ntw20Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.sniper; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,15 +8,16 @@ 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.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.sounds.SoundEvent; import net.minecraft.world.InteractionHand; @@ -29,8 +30,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; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -41,27 +40,22 @@ 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; -public class Ntw20 extends GunItem implements GeoItem, AnimatedItem { +public class Ntw20Item extends GunItem implements GeoItem, AnimatedItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationProcedure = "empty"; public static ItemDisplayContext transformType; - public Ntw20() { + public Ntw20Item() { super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY)); } @Override public Set getReloadSound() { - return Set.of( - ModSounds.NTW_20_RELOAD_EMPTY.get(), - ModSounds.NTW_20_RELOAD_NORMAL.get(), - ModSounds.NTW_20_BOLT.get() - ); + return Set.of(ModSounds.NTW_20_RELOAD_EMPTY.get(), ModSounds.NTW_20_RELOAD_NORMAL.get(), ModSounds.NTW_20_BOLT.get()); } @Override @@ -86,14 +80,13 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState fireAnimPredicate(AnimationState event) { + private PlayState fireAnimPredicate(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("bolt_action_anim") > 0) { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.shift")); } @@ -115,21 +108,20 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - 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.ntw_20.draw")); } if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 - && !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading"))) { + && player.getPersistentData().getDouble("noRun") == 0 + && !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading"))) { if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && stack.getOrCreateTag().getInt("bolt_action_anim") == 0) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.run_fast")); } else { @@ -150,17 +142,11 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem { data.add(idleController); } - @Override public AnimatableInstanceCache getAnimatableInstanceCache() { return this.cache; } - @Override - public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { - TooltipTool.addGunTips(list, stack); - } - @Override public Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { Multimap map = super.getAttributeModifiers(slot, stack); @@ -193,4 +179,9 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return "NTW-20"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/SentinelItem.java similarity index 92% rename from src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/sniper/SentinelItem.java index d24a5d596..8da0f212d 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/SentinelItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.sniper; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -9,6 +9,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.RarityTool; @@ -121,14 +124,13 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem { transformType = type; } - private PlayState fireAnimPredicate(AnimationState event) { + private PlayState fireAnimPredicate(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("bolt_action_anim") > 0) { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift")); } @@ -161,7 +163,6 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem { 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.sentinel.draw")); } @@ -182,21 +183,6 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem { return PlayState.STOP; } - 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)); - if (event.getController().getAnimationState() == AnimationController.State.STOPPED) { - this.animationProcedure = "empty"; - event.getController().forceAnimationReset(); - } - } else if (this.animationProcedure.equals("empty")) { - return PlayState.STOP; - } - } - return PlayState.CONTINUE; - } - @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate); @@ -220,14 +206,11 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem { super.inventoryTick(itemStack, world, entity, slot, selected); var tag = itemStack.getOrCreateTag(); - itemStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( energy -> { int energyStored = energy.getEnergyStored(); - if (energyStored > 0) { energy.extractEnergy(5, false); - tag.putDouble("sentinelChargeDamage", 0.2857142857142857 * tag.getDouble("damage") * tag.getDouble("levelDamageMultiple")); } else { tag.putDouble("sentinelChargeDamage", 0); @@ -282,4 +265,9 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return "SENTINEL"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/SvdItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/SvdItem.java similarity index 92% rename from src/main/java/net/mcreator/superbwarfare/item/gun/SvdItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/sniper/SvdItem.java index 1e3f6e4c8..65a281a56 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/SvdItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/sniper/SvdItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.sniper; 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,7 +75,7 @@ public class SvdItem 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(); @@ -110,7 +112,7 @@ public class SvdItem 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)); @@ -125,7 +127,6 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem { return PlayState.CONTINUE; } - @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { var procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate); @@ -139,11 +140,6 @@ public class SvdItem 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.SVD_RELOAD_EMPTY.get(), ModSounds.SVD_RELOAD_NORMAL.get()); @@ -181,4 +177,9 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem { public String getGunDisplayName() { return " SVD"; } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.SNIPER_RIFLE_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 a3b452a25..b7c544b86 100644 --- a/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java +++ b/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java @@ -215,5 +215,39 @@ public class PerkHelper { } }; + public static final Predicate HANDGUN_PERKS = perk -> { + switch (perk.type) { + case AMMO -> { + return true; + } + case FUNCTIONAL -> { + return perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FIELD_DOCTOR.get() || perk == ModPerks.SUBSISTENCE.get(); + } + case DAMAGE -> { + return perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.GUTSHOT_STRAIGHT.get() || perk == ModPerks.MONSTER_HUNTER.get(); + } + default -> { + return false; + } + } + }; + + public static final Predicate SNIPER_RIFLE_PERKS = perk -> { + switch (perk.type) { + case AMMO -> { + return true; + } + case FUNCTIONAL -> { + return perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FOURTH_TIMES_CHARM.get(); + } + case DAMAGE -> { + return perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.MONSTER_HUNTER.get(); + } + default -> { + return false; + } + } + }; + }