diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/BocekLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/BocekLayer.java index 88b0ef5ff..67ce957f2 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/BocekLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/BocekLayer.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.BocekItem; +import net.mcreator.superbwarfare.item.gun.special.BocekItem; 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/M79Layer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/M79Layer.java index 9dce91041..a9374446d 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/M79Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/M79Layer.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.M79Item; +import net.mcreator.superbwarfare.item.gun.launcher.M79Item; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/MinigunLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/MinigunLayer.java index 8ce8cfd00..ef0d81002 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/MinigunLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/MinigunLayer.java @@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.ModUtils; -import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.MinigunItem; 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 MinigunLayer extends GeoRenderLayer { +public class MinigunLayer extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/minigun_e.png"); - public MinigunLayer(GeoRenderer entityRenderer) { + public MinigunLayer(GeoRenderer entityRenderer) { super(entityRenderer); } @Override - public void render(PoseStack poseStack, Minigun animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + public void render(PoseStack poseStack, MinigunItem 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/RpgLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/RpgLayer.java index 1ca5bcceb..0454bce48 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/RpgLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/RpgLayer.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.RpgItem; +import net.mcreator.superbwarfare.item.gun.launcher.RpgItem; 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/TaserLayer.java b/src/main/java/net/mcreator/superbwarfare/client/layer/TaserLayer.java index 5481627ff..4ae124202 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/TaserLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/TaserLayer.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.Taser; +import net.mcreator.superbwarfare.item.gun.special.TaserItem; 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 TaserLayer extends GeoRenderLayer { +public class TaserLayer extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/tasergun_e.png"); - public TaserLayer(GeoRenderer itemGeoRenderer) { + public TaserLayer(GeoRenderer itemGeoRenderer) { super(itemGeoRenderer); } @Override - public void render(PoseStack poseStack, Taser animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int light, int packedOverlay) { + public void render(PoseStack poseStack, TaserItem animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int light, int packedOverlay) { RenderType glowRenderType = RenderType.entityTranslucent(LAYER); getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, 255, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); diff --git a/src/main/java/net/mcreator/superbwarfare/client/layer/TaserLayer2.java b/src/main/java/net/mcreator/superbwarfare/client/layer/TaserLayer2.java index fe08e3c70..55ea7d220 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/layer/TaserLayer2.java +++ b/src/main/java/net/mcreator/superbwarfare/client/layer/TaserLayer2.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.Taser; +import net.mcreator.superbwarfare.item.gun.special.TaserItem; 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 TaserLayer2 extends GeoRenderLayer { +public class TaserLayer2 extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/tasergun_e2.png"); - public TaserLayer2(GeoRenderer itemGeoRenderer) { + public TaserLayer2(GeoRenderer itemGeoRenderer) { super(itemGeoRenderer); } @Override - public void render(PoseStack poseStack, Taser animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int light, int packedOverlay) { + public void render(PoseStack poseStack, TaserItem animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int light, int packedOverlay) { RenderType glowRenderType = RenderType.eyes(LAYER); getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, light, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/BocekItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/BocekItemModel.java index 0200fba21..6f9727b86 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/BocekItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/BocekItemModel.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.BocekItem; +import net.mcreator.superbwarfare.item.gun.special.BocekItem; 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/JavelinItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/JavelinItemModel.java index f8792fe35..066bb970a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/JavelinItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/JavelinItemModel.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.JavelinItem; +import net.mcreator.superbwarfare.item.gun.launcher.JavelinItem; 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/M79ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M79ItemModel.java index f45b0fcc6..2af1e6d2b 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M79ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M79ItemModel.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.M79Item; +import net.mcreator.superbwarfare.item.gun.launcher.M79Item; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java index a7d64b210..4ad37403a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/MinigunItemModel.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.init.ModTags; -import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.MinigunItem; 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 MinigunItemModel extends GeoModel { +public class MinigunItemModel extends GeoModel { @Override - public ResourceLocation getAnimationResource(Minigun animatable) { + public ResourceLocation getAnimationResource(MinigunItem animatable) { return new ResourceLocation(ModUtils.MODID, "animations/minigun.animation.json"); } @Override - public ResourceLocation getModelResource(Minigun animatable) { + public ResourceLocation getModelResource(MinigunItem animatable) { return new ResourceLocation(ModUtils.MODID, "geo/minigun.geo.json"); } @Override - public ResourceLocation getTextureResource(Minigun animatable) { + public ResourceLocation getTextureResource(MinigunItem animatable) { return new ResourceLocation(ModUtils.MODID, "textures/item/minigun.png"); } @Override - public void setCustomAnimations(Minigun animatable, long instanceId, AnimationState animationState) { + public void setCustomAnimations(MinigunItem animatable, long instanceId, AnimationState animationState) { CoreGeoBone gun = getAnimationProcessor().getBone("barrel"); CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone heat_barrels = getAnimationProcessor().getBone("heatbarrels"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpgItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpgItemModel.java index d9372687f..8dce6e249 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpgItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpgItemModel.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.RpgItem; +import net.mcreator.superbwarfare.item.gun.launcher.RpgItem; 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/TaserItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java index a76fa588e..c7d4acdf4 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.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.Taser; +import net.mcreator.superbwarfare.item.gun.special.TaserItem; import net.mcreator.superbwarfare.tools.ItemNBTTool; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; @@ -13,27 +13,27 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone; import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.model.GeoModel; -public class TaserItemModel extends GeoModel { +public class TaserItemModel extends GeoModel { public static final String TAG_POWER = "Power"; @Override - public ResourceLocation getAnimationResource(Taser animatable) { + public ResourceLocation getAnimationResource(TaserItem animatable) { return new ResourceLocation(ModUtils.MODID, "animations/taser.animation.json"); } @Override - public ResourceLocation getModelResource(Taser animatable) { + public ResourceLocation getModelResource(TaserItem animatable) { return new ResourceLocation(ModUtils.MODID, "geo/taser.geo.json"); } @Override - public ResourceLocation getTextureResource(Taser animatable) { + public ResourceLocation getTextureResource(TaserItem animatable) { return new ResourceLocation(ModUtils.MODID, "textures/item/tasergun.png"); } @Override - public void setCustomAnimations(Taser animatable, long instanceId, AnimationState animationState) { + public void setCustomAnimations(TaserItem animatable, long instanceId, AnimationState animationState) { CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone bar = getAnimationProcessor().getBone("bar"); diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/BocekItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/BocekItemRenderer.java index d0a223758..42a7d5928 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/BocekItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/BocekItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.BocekLayer; import net.mcreator.superbwarfare.client.model.item.BocekItemModel; -import net.mcreator.superbwarfare.item.gun.BocekItem; +import net.mcreator.superbwarfare.item.gun.special.BocekItem; 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/JavelinItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/JavelinItemRenderer.java index 37fba79d8..f7bf49eef 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/JavelinItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/JavelinItemRenderer.java @@ -1,7 +1,7 @@ package net.mcreator.superbwarfare.client.renderer.item; import net.mcreator.superbwarfare.client.model.item.JavelinItemModel; -import net.mcreator.superbwarfare.item.gun.JavelinItem; +import net.mcreator.superbwarfare.item.gun.launcher.JavelinItem; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M79ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M79ItemRenderer.java index a7ff404c0..b80ad3ec3 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M79ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M79ItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.M79Layer; import net.mcreator.superbwarfare.client.model.item.M79ItemModel; -import net.mcreator.superbwarfare.item.gun.M79Item; +import net.mcreator.superbwarfare.item.gun.launcher.M79Item; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java index b421d0bdd..82c2eb27f 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.MinigunLayer; import net.mcreator.superbwarfare.client.model.item.MinigunItemModel; -import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.MinigunItem; 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 MinigunItemRenderer extends GeoItemRenderer { +public class MinigunItemRenderer extends GeoItemRenderer { public MinigunItemRenderer() { super(new MinigunItemModel()); this.addRenderLayer(new MinigunLayer(this)); } @Override - public RenderType getRenderType(Minigun animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(MinigunItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } @@ -41,7 +41,7 @@ public class MinigunItemRenderer extends GeoItemRenderer { protected MultiBufferSource currentBuffer; protected RenderType renderType; public ItemDisplayContext transformType; - protected Minigun animatable; + protected MinigunItem animatable; private final Set hiddenBones = new HashSet<>(); @Override @@ -53,7 +53,7 @@ public class MinigunItemRenderer extends GeoItemRenderer { } @Override - public void actuallyRender(PoseStack matrixStackIn, Minigun animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, + public void actuallyRender(PoseStack matrixStackIn, MinigunItem 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 MinigunItemRenderer extends GeoItemRenderer { } @Override - public void renderRecursively(PoseStack stack, Minigun animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, + public void renderRecursively(PoseStack stack, MinigunItem 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(); @@ -133,7 +133,7 @@ public class MinigunItemRenderer extends GeoItemRenderer { } @Override - public ResourceLocation getTextureLocation(Minigun instance) { + public ResourceLocation getTextureLocation(MinigunItem instance) { return super.getTextureLocation(instance); } } diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpgItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpgItemRenderer.java index 27a590107..326aa5603 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpgItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpgItemRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.RpgLayer; import net.mcreator.superbwarfare.client.model.item.RpgItemModel; -import net.mcreator.superbwarfare.item.gun.RpgItem; +import net.mcreator.superbwarfare.item.gun.launcher.RpgItem; 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/TaserItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TaserItemRenderer.java index 382bf642c..17f9c5c95 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TaserItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TaserItemRenderer.java @@ -5,7 +5,7 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import net.mcreator.superbwarfare.client.layer.TaserLayer; import net.mcreator.superbwarfare.client.layer.TaserLayer2; import net.mcreator.superbwarfare.client.model.item.TaserItemModel; -import net.mcreator.superbwarfare.item.gun.Taser; +import net.mcreator.superbwarfare.item.gun.special.TaserItem; import net.mcreator.superbwarfare.tools.AnimUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; @@ -25,7 +25,7 @@ import software.bernie.geckolib.util.RenderUtils; import java.util.HashSet; import java.util.Set; -public class TaserItemRenderer extends GeoItemRenderer { +public class TaserItemRenderer extends GeoItemRenderer { public TaserItemRenderer() { super(new TaserItemModel()); this.addRenderLayer(new TaserLayer(this)); @@ -33,7 +33,7 @@ public class TaserItemRenderer extends GeoItemRenderer { } @Override - public RenderType getRenderType(Taser animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(TaserItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } @@ -42,7 +42,7 @@ public class TaserItemRenderer extends GeoItemRenderer { protected MultiBufferSource currentBuffer; protected RenderType renderType; public ItemDisplayContext transformType; - protected Taser animatable; + protected TaserItem animatable; private final Set hiddenBones = new HashSet<>(); @Override @@ -54,7 +54,7 @@ public class TaserItemRenderer extends GeoItemRenderer { } @Override - public void actuallyRender(PoseStack matrixStackIn, Taser animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, + public void actuallyRender(PoseStack matrixStackIn, TaserItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, int packedOverlayIn, float red, float green, float blue, float alpha) { this.currentBuffer = renderTypeBuffer; this.renderType = type; @@ -66,7 +66,7 @@ public class TaserItemRenderer extends GeoItemRenderer { } @Override - public void renderRecursively(PoseStack stack, Taser animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, + public void renderRecursively(PoseStack stack, TaserItem 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(); @@ -113,7 +113,7 @@ public class TaserItemRenderer extends GeoItemRenderer { } @Override - public ResourceLocation getTextureLocation(Taser instance) { + public ResourceLocation getTextureLocation(TaserItem instance) { return super.getTextureLocation(instance); } } diff --git a/src/main/java/net/mcreator/superbwarfare/enchantment/MonsterHunter.java b/src/main/java/net/mcreator/superbwarfare/enchantment/MonsterHunter.java deleted file mode 100644 index cd7be00a4..000000000 --- a/src/main/java/net/mcreator/superbwarfare/enchantment/MonsterHunter.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.mcreator.superbwarfare.enchantment; - -import net.mcreator.superbwarfare.tools.EnchantmentCategoryTool; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.item.enchantment.Enchantment; - -public class MonsterHunter extends Enchantment { - public MonsterHunter(EquipmentSlot... slots) { - super(Rarity.UNCOMMON, EnchantmentCategoryTool.GUN, slots); - } - - @Override - public int getMinCost(int pLevel) { - return 8 + 6 * pLevel; - } - - @Override - public int getMaxCost(int pLevel) { - return super.getMaxCost(pLevel) + 20; - } - - @Override - public int getMaxLevel() { - return 5; - } -} diff --git a/src/main/java/net/mcreator/superbwarfare/entity/BocekArrowEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/BocekArrowEntity.java index 634e1e9d1..4f10781cb 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/BocekArrowEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/BocekArrowEntity.java @@ -40,17 +40,16 @@ import java.util.Optional; public class BocekArrowEntity extends AbstractArrow implements ItemSupplier { public static final ItemStack PROJECTILE_ITEM = new ItemStack(Items.ARROW); - private int monsterMultiplier = 0; + private float monsterMultiplier = 0.0f; private float bypassArmorRate = 0.0f; - private float undeadMultiple = 1.0f; + private float undeadMultiplier = 1.0f; public BocekArrowEntity(EntityType type, Level world) { super(type, world); } - public BocekArrowEntity(LivingEntity entity, Level level, int monsterMultiplier) { + public BocekArrowEntity(LivingEntity entity, Level level) { super(ModEntities.BOCEK_ARROW.get(), entity, level); - this.monsterMultiplier = monsterMultiplier; } public BocekArrowEntity(PlayMessages.SpawnEntity packet, Level world) { @@ -62,9 +61,12 @@ public class BocekArrowEntity extends AbstractArrow implements ItemSupplier { return this; } - public BocekArrowEntity undeadMultiple(float undeadMultiple) { - this.undeadMultiple = undeadMultiple; - return this; + public void setUndeadMultiplier(float undeadMultiplier) { + this.undeadMultiplier = undeadMultiplier; + } + + public void setMonsterMultiplier(float monsterMultiplier) { + this.monsterMultiplier = monsterMultiplier; } @Override @@ -159,9 +161,9 @@ public class BocekArrowEntity extends AbstractArrow implements ItemSupplier { boolean hurt; if (entity instanceof Monster monster) { - hurt = performHurt(entity, i * damageMultiplier * (monster.getMobType() == MobType.UNDEAD ? this.undeadMultiple : 1), headshot); + hurt = performHurt(entity, i * (1 + damageMultiplier) * (monster.getMobType() == MobType.UNDEAD ? this.undeadMultiplier : 1), headshot); } else { - hurt = performHurt(entity, i * (entity instanceof LivingEntity living && living.getMobType() == MobType.UNDEAD ? this.undeadMultiple : 1), headshot); + hurt = performHurt(entity, i * (entity instanceof LivingEntity living && living.getMobType() == MobType.UNDEAD ? this.undeadMultiplier : 1), headshot); } if (!hurt) { diff --git a/src/main/java/net/mcreator/superbwarfare/entity/GunGrenadeEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/GunGrenadeEntity.java index fc87c1488..51eb6e45e 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/GunGrenadeEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/GunGrenadeEntity.java @@ -32,23 +32,26 @@ import net.minecraftforge.network.PacketDistributor; import net.minecraftforge.network.PlayMessages; public class GunGrenadeEntity extends ThrowableItemProjectile { - private int monsterMultiplier = 0; - private float damage = 5f; + private float monsterMultiplier = 0.0f; + private float damage = 5.0f; public GunGrenadeEntity(EntityType type, Level world) { super(type, world); } - public GunGrenadeEntity(LivingEntity entity, Level level, float damage, int monsterMultiplier) { + public GunGrenadeEntity(LivingEntity entity, Level level, float damage) { super(ModEntities.GUN_GRENADE.get(), entity, level); this.damage = damage; - this.monsterMultiplier = monsterMultiplier; } public GunGrenadeEntity(PlayMessages.SpawnEntity spawnEntity, Level level) { this(ModEntities.GUN_GRENADE.get(), level); } + public void setMonsterMultiplier(float monsterMultiplier) { + this.monsterMultiplier = monsterMultiplier; + } + @Override public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); @@ -66,7 +69,7 @@ public class GunGrenadeEntity extends ThrowableItemProjectile { @Override protected void onHitEntity(EntityHitResult result) { - float damageMultiplier = 1 + 0.2f * this.monsterMultiplier; + float damageMultiplier = 1 + this.monsterMultiplier; Entity entity = result.getEntity(); if (this.getOwner() instanceof LivingEntity living) { if (!living.level().isClientSide() && living instanceof ServerPlayer player) { diff --git a/src/main/java/net/mcreator/superbwarfare/entity/JavelinMissileEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/JavelinMissileEntity.java index 295ac9c71..d5db69162 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/JavelinMissileEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/JavelinMissileEntity.java @@ -53,23 +53,26 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationprocedure = "empty"; - private int monsterMultiplier = 0; - private float damage = 300f; + private float monsterMultiplier = 0.0f; + private float damage = 300.0f; public JavelinMissileEntity(EntityType type, Level world) { super(type, world); } - public JavelinMissileEntity(LivingEntity entity, Level level, float damage, int monsterMultiplier) { + public JavelinMissileEntity(LivingEntity entity, Level level, float damage) { super(ModEntities.JAVELIN_MISSILE.get(), entity, level); this.damage = damage; - this.monsterMultiplier = monsterMultiplier; } public JavelinMissileEntity(PlayMessages.SpawnEntity spawnEntity, Level level) { this(ModEntities.JAVELIN_MISSILE.get(), level); } + public void setMonsterMultiplier(float monsterMultiplier) { + this.monsterMultiplier = monsterMultiplier; + } + @Override public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); @@ -101,7 +104,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo @Override protected void onHitEntity(EntityHitResult result) { - float damageMultiplier = 1 + 0.2f * this.monsterMultiplier; + float damageMultiplier = 1 + this.monsterMultiplier; Entity entity = result.getEntity(); if (this.getOwner() instanceof LivingEntity living) { if (!living.level().isClientSide() && living instanceof ServerPlayer player) { @@ -172,12 +175,12 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo if (entity != null) { if (entityData.get(TOP)) { if (this.position().distanceTo(entity.position()) > 40) { - this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(),entity.getY() + 30,entity.getZ())); + this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(), entity.getY() + 30, entity.getZ())); } else { - this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(),entity.getEyeY() + (entity instanceof EnderDragon? -3 : 1),entity.getZ())); + this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(), entity.getEyeY() + (entity instanceof EnderDragon ? -3 : 1), entity.getZ())); } } else { - this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(),entity.getEyeY() + (entity instanceof EnderDragon? -3 : 1),entity.getZ())); + this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(), entity.getEyeY() + (entity instanceof EnderDragon ? -3 : 1), entity.getZ())); } if (this.position().distanceTo(entity.position()) < 4) { triggerExplode(entity); @@ -211,8 +214,8 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo double d1 = (pTarget.y - vec3.y) * 0.2; double d2 = (pTarget.z - vec3.z) * 0.2; double d3 = Math.sqrt(d0 * d0 + d2 * d2); - this.setXRot(Mth.wrapDegrees((float)(-(Mth.atan2(d1, d3) * 57.2957763671875)))); - this.setYRot(Mth.wrapDegrees((float)(Mth.atan2(d2, d0) * 57.2957763671875) - 90.0F)); + this.setXRot(Mth.wrapDegrees((float) (-(Mth.atan2(d1, d3) * 57.2957763671875)))); + this.setYRot(Mth.wrapDegrees((float) (Mth.atan2(d2, d0) * 57.2957763671875) - 90.0F)); this.setYHeadRot(this.getYRot()); this.xRotO = this.getXRot(); this.yRotO = this.getYRot(); @@ -273,7 +276,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo @Override protected float getGravity() { - return 0F ; + return 0F; } public String getSyncedAnimation() { diff --git a/src/main/java/net/mcreator/superbwarfare/entity/ProjectileEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/ProjectileEntity.java index 07313e190..83db00e30 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/ProjectileEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/ProjectileEntity.java @@ -65,6 +65,7 @@ import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; +@SuppressWarnings({"unused", "UnusedReturnValue", "SuspiciousNameCombination"}) public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnData, GeoEntity, AnimatedEntity { public static final EntityDataAccessor COLOR_R = SynchedEntityData.defineId(ProjectileEntity.class, EntityDataSerializers.FLOAT); public static final EntityDataAccessor COLOR_G = SynchedEntityData.defineId(ProjectileEntity.class, EntityDataSerializers.FLOAT); @@ -73,8 +74,8 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationProcedure = "empty"; - private static final Predicate PROJECTILE_TARGETS = input -> input != null && input.isPickable() && !input.isSpectator() && input.isAlive(); + private static final Predicate PROJECTILE_TARGETS = input -> input != null && input.isPickable() && !input.isSpectator() && input.isAlive(); private static final Predicate IGNORE_LEAVES = input -> input != null && (input.getBlock() instanceof LeavesBlock || input.getBlock() instanceof FenceBlock || input.getBlock() instanceof IronBarsBlock @@ -82,11 +83,12 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa || input.getBlock() instanceof DoorBlock || input.getBlock() instanceof TrapDoorBlock || input.getBlock() instanceof BarbedWireBlock); + protected LivingEntity shooter; protected int shooterId; private float damage = 1f; private float headShot = 1f; - private int monsterMultiple = 0; + private float monsterMultiple = 0.0f; private float legShot = 0.5f; private boolean beast = false; private boolean zoom = false; @@ -205,25 +207,19 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa } Vec3 hitBoxPos = hitPos.subtract(entity.position()); boolean headshot = false; - boolean legshot = false; + boolean legShot = false; float eyeHeight = entity.getEyeHeight(); float BodyHeight = entity.getBbHeight(); - if ((eyeHeight - 0.35) < hitBoxPos.y && hitBoxPos.y < (eyeHeight + 0.4) && !(entity instanceof ClaymoreEntity - || entity instanceof MortarEntity - || entity instanceof ICannonEntity - || entity instanceof DroneEntity - )) { + if ((eyeHeight - 0.35) < hitBoxPos.y && hitBoxPos.y < (eyeHeight + 0.4) && + !(entity instanceof ClaymoreEntity || entity instanceof MortarEntity || entity instanceof ICannonEntity || entity instanceof DroneEntity)) { headshot = true; } - if (hitBoxPos.y < (0.33 * BodyHeight) && !(entity instanceof ClaymoreEntity - || entity instanceof MortarEntity - || entity instanceof ICannonEntity - || entity instanceof DroneEntity - )) { - legshot = true; + if (hitBoxPos.y < (0.33 * BodyHeight) && !(entity instanceof ClaymoreEntity || entity instanceof MortarEntity || + entity instanceof ICannonEntity || entity instanceof DroneEntity)) { + legShot = true; } - return new EntityResult(entity, hitPos, headshot, legshot); + return new EntityResult(entity, hitPos, headshot, legShot); } @Override @@ -417,7 +413,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa // TODO 实现穿甲比例大于1时的穿透生物效果 protected void onHitEntity(Entity entity, boolean headshot, boolean legShot) { - float mMultiple = 1 + 0.2f * this.monsterMultiple; + float mMultiple = 1 + this.monsterMultiple; if (entity == null) return; @@ -548,9 +544,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa private static T performRayTrace(ClipContext context, BiFunction hitFunction, Function p_217300_2_) { Vec3 startVec = context.getFrom(); Vec3 endVec = context.getTo(); - if (startVec.equals(endVec)) { - return p_217300_2_.apply(context); - } else { + if (!startVec.equals(endVec)) { double startX = Mth.lerp(-0.0000001, endVec.x, startVec.x); double startY = Mth.lerp(-0.0000001, endVec.y, startVec.y); double startZ = Mth.lerp(-0.0000001, endVec.z, startVec.z); @@ -601,9 +595,8 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa return t1; } } - - return p_217300_2_.apply(context); } + return p_217300_2_.apply(context); } public LivingEntity getShooter() { @@ -735,7 +728,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa return this; } - public ProjectileEntity monsterMultiple(int monsterMultiple) { + public ProjectileEntity monsterMultiple(float monsterMultiple) { this.monsterMultiple = monsterMultiple; return this; } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/RpgRocketEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/RpgRocketEntity.java index cce149ebf..4d58481a0 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/RpgRocketEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/RpgRocketEntity.java @@ -48,23 +48,26 @@ public class RpgRocketEntity extends ThrowableItemProjectile implements GeoEntit public String animationprocedure = "empty"; - private int monsterMultiplier = 0; + private float monsterMultiplier = 0.0f; private float damage = 150f; public RpgRocketEntity(EntityType type, Level world) { super(type, world); } - public RpgRocketEntity(LivingEntity entity, Level level, float damage, int monsterMultiplier) { + public RpgRocketEntity(LivingEntity entity, Level level, float damage) { super(ModEntities.RPG_ROCKET.get(), entity, level); this.damage = damage; - this.monsterMultiplier = monsterMultiplier; } public RpgRocketEntity(PlayMessages.SpawnEntity spawnEntity, Level level) { this(ModEntities.RPG_ROCKET.get(), level); } + public void setMonsterMultiplier(float monsterMultiplier) { + this.monsterMultiplier = monsterMultiplier; + } + @Override public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); @@ -82,7 +85,7 @@ public class RpgRocketEntity extends ThrowableItemProjectile implements GeoEntit @Override protected void onHitEntity(EntityHitResult result) { - float damageMultiplier = 1 + 0.2f * this.monsterMultiplier; + float damageMultiplier = 1 + this.monsterMultiplier; Entity entity = result.getEntity(); if (this.getOwner() instanceof LivingEntity living) { if (!living.level().isClientSide() && living instanceof ServerPlayer player) { diff --git a/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java index 142d45b1f..d05033c07 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java @@ -3,7 +3,10 @@ package net.mcreator.superbwarfare.event; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.entity.ProjectileEntity; import net.mcreator.superbwarfare.event.modevent.ReloadEvent; -import net.mcreator.superbwarfare.init.*; +import net.mcreator.superbwarfare.init.ModItems; +import net.mcreator.superbwarfare.init.ModPerks; +import net.mcreator.superbwarfare.init.ModSounds; +import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.perk.AmmoPerk; import net.mcreator.superbwarfare.perk.Perk; @@ -23,7 +26,6 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.event.TickEvent; @@ -352,7 +354,6 @@ public class GunEventHandler { if (!player.level().isClientSide()) { float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot"); - int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), heldItem); float damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("sentinelChargeDamage")) * (float) heldItem.getOrCreateTag().getDouble("levelDamageMultiple"); boolean zoom = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming; @@ -363,8 +364,7 @@ public class GunEventHandler { .shooter(player) .damage(damage) .headShot(headshot) - .zoom(zoom) - .monsterMultiple(monsterMultiple); + .zoom(zoom); float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor"); var perk = PerkHelper.getPerkByType(heldItem, Perk.Type.AMMO); @@ -396,6 +396,12 @@ public class GunEventHandler { projectile.beast(); } + var dmgPerk = PerkHelper.getPerkByType(heldItem, Perk.Type.DAMAGE); + if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) { + int level = PerkHelper.getItemPerkLevel(dmgPerk, heldItem); + projectile.monsterMultiple(0.1f + 0.1f * level); + } + projectile.setPos(player.getX() - 0.1 * player.getLookAngle().x, player.getEyeY() - 0.1 - 0.1 * player.getLookAngle().y, player.getZ() + -0.1 * player.getLookAngle().z); projectile.shoot(player.getLookAngle().x, player.getLookAngle().y + 0.0005f, player.getLookAngle().z, 1 * (float) heldItem.getOrCreateTag().getDouble("velocity"), (float) (zoom ? zoomSpread : spread)); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModEnchantments.java b/src/main/java/net/mcreator/superbwarfare/init/ModEnchantments.java index b85847a4c..cc1bbae6e 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModEnchantments.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModEnchantments.java @@ -14,5 +14,4 @@ public class ModEnchantments { public static final RegistryObject VOLT_OVERLOAD = REGISTRY.register("volt_overload", VoltOverload::new); public static final RegistryObject SUPER_RECHARGE = REGISTRY.register("super_recharge", SuperRecharge::new); public static final RegistryObject LONGER_WIRE = REGISTRY.register("longer_wire", LongerWire::new); - public static final RegistryObject MONSTER_HUNTER = REGISTRY.register("monster_hunter", MonsterHunter::new); } diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java index ec16f06c4..1b7c36a9b 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java @@ -5,14 +5,16 @@ import net.mcreator.superbwarfare.item.*; 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.launcher.JavelinItem; +import net.mcreator.superbwarfare.item.gun.launcher.M79Item; +import net.mcreator.superbwarfare.item.gun.launcher.RpgItem; import net.mcreator.superbwarfare.item.gun.machinegun.DevotionItem; import net.mcreator.superbwarfare.item.gun.machinegun.M60Item; -import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.MinigunItem; import net.mcreator.superbwarfare.item.gun.machinegun.RpkItem; import net.mcreator.superbwarfare.item.gun.rifle.*; import net.mcreator.superbwarfare.item.gun.shotgun.Aa12Item; @@ -20,6 +22,8 @@ import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem; import net.mcreator.superbwarfare.item.gun.shotgun.M870Item; import net.mcreator.superbwarfare.item.gun.smg.VectorItem; import net.mcreator.superbwarfare.item.gun.sniper.*; +import net.mcreator.superbwarfare.item.gun.special.BocekItem; +import net.mcreator.superbwarfare.item.gun.special.TaserItem; import net.mcreator.superbwarfare.tools.RarityTool; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; @@ -41,7 +45,7 @@ public class ModItems { */ public static final DeferredRegister GUNS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); - public static final RegistryObject TASER = GUNS.register("taser", Taser::new); + public static final RegistryObject TASER = GUNS.register("taser", TaserItem::new); public static final RegistryObject GLOCK_17 = GUNS.register("glock_17", Glock17Item::new); public static final RegistryObject GLOCK_18 = GUNS.register("glock_18", Glock18Item::new); public static final RegistryObject M_1911 = GUNS.register("m_1911", M1911Item::new); @@ -67,7 +71,7 @@ public class ModItems { public static final RegistryObject DEVOTION = GUNS.register("devotion", DevotionItem::new); public static final RegistryObject RPK = GUNS.register("rpk", RpkItem::new); public static final RegistryObject M_60 = GUNS.register("m_60", M60Item::new); - public static final RegistryObject MINIGUN = GUNS.register("minigun", Minigun::new); + public static final RegistryObject MINIGUN = GUNS.register("minigun", MinigunItem::new); public static final RegistryObject M_79 = GUNS.register("m_79", M79Item::new); public static final RegistryObject RPG = GUNS.register("rpg", RpgItem::new); public static final RegistryObject JAVELIN = GUNS.register("javelin", JavelinItem::new); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java index 78cdfcb48..77ef94563 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java @@ -1,14 +1,16 @@ 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.launcher.JavelinItem; +import net.mcreator.superbwarfare.item.gun.launcher.M79Item; +import net.mcreator.superbwarfare.item.gun.launcher.RpgItem; import net.mcreator.superbwarfare.item.gun.machinegun.DevotionItem; import net.mcreator.superbwarfare.item.gun.machinegun.M60Item; -import net.mcreator.superbwarfare.item.gun.machinegun.Minigun; +import net.mcreator.superbwarfare.item.gun.machinegun.MinigunItem; import net.mcreator.superbwarfare.item.gun.machinegun.RpkItem; import net.mcreator.superbwarfare.item.gun.rifle.*; import net.mcreator.superbwarfare.item.gun.shotgun.Aa12Item; @@ -16,6 +18,8 @@ import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem; import net.mcreator.superbwarfare.item.gun.shotgun.M870Item; import net.mcreator.superbwarfare.item.gun.smg.VectorItem; import net.mcreator.superbwarfare.item.gun.sniper.*; +import net.mcreator.superbwarfare.item.gun.special.BocekItem; +import net.mcreator.superbwarfare.item.gun.special.TaserItem; import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; @@ -37,7 +41,7 @@ public class ModTabs { .icon(() -> new ItemStack(ModItems.TASER.get())) .displayItems( (param, output) -> { - output.accept(Taser.getGunInstance()); + output.accept(TaserItem.getGunInstance()); output.accept(Glock17Item.getGunInstance()); output.accept(Glock18Item.getGunInstance()); output.accept(M1911Item.getGunInstance()); @@ -63,7 +67,7 @@ public class ModTabs { output.accept(DevotionItem.getGunInstance()); output.accept(RpkItem.getGunInstance()); output.accept(M60Item.getGunInstance()); - output.accept(Minigun.getGunInstance()); + output.accept(MinigunItem.getGunInstance()); output.accept(BocekItem.getGunInstance()); output.accept(M79Item.getGunInstance()); output.accept(RpgItem.getGunInstance()); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/JavelinItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java similarity index 98% rename from src/main/java/net/mcreator/superbwarfare/item/gun/JavelinItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java index 7c22ae56c..91a810f83 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/JavelinItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.launcher; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,6 +8,7 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; import net.mcreator.superbwarfare.tools.*; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M79Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/M79Item.java similarity index 98% rename from src/main/java/net/mcreator/superbwarfare/item/gun/M79Item.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/launcher/M79Item.java index ff0a38c53..c8e068eca 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M79Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/M79Item.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.launcher; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,6 +8,7 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/RpgItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/RpgItem.java similarity index 98% rename from src/main/java/net/mcreator/superbwarfare/item/gun/RpgItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/launcher/RpgItem.java index b20e6216e..e2500b47c 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/RpgItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/RpgItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.launcher; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -8,6 +8,7 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/Minigun.java b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/MinigunItem.java similarity index 97% rename from src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/Minigun.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/MinigunItem.java index 4da455d71..1e2c61e17 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/Minigun.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/machinegun/MinigunItem.java @@ -45,13 +45,13 @@ import software.bernie.geckolib.util.GeckoLibUtil; import java.util.UUID; import java.util.function.Consumer; -public class Minigun extends GunItem implements GeoItem, AnimatedItem { +public class MinigunItem extends GunItem implements GeoItem, AnimatedItem { private static final String TAG_HEAT = "heat"; private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationProcedure = "empty"; public static ItemDisplayContext transformType; - public Minigun() { + public MinigunItem() { super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY)); } @@ -107,7 +107,7 @@ public class Minigun 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(); @@ -131,7 +131,7 @@ public class Minigun 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)); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/BocekItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/special/BocekItem.java similarity index 98% rename from src/main/java/net/mcreator/superbwarfare/item/gun/BocekItem.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/special/BocekItem.java index a1064a74a..2cc67b5de 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/BocekItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/special/BocekItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.special; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -7,6 +7,7 @@ import net.mcreator.superbwarfare.client.renderer.item.BocekItemRenderer; import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Taser.java b/src/main/java/net/mcreator/superbwarfare/item/gun/special/TaserItem.java similarity index 95% rename from src/main/java/net/mcreator/superbwarfare/item/gun/Taser.java rename to src/main/java/net/mcreator/superbwarfare/item/gun/special/TaserItem.java index 92ac78a97..bc797079d 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Taser.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/special/TaserItem.java @@ -1,4 +1,4 @@ -package net.mcreator.superbwarfare.item.gun; +package net.mcreator.superbwarfare.item.gun.special; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; +import net.mcreator.superbwarfare.item.gun.GunItem; import net.mcreator.superbwarfare.tools.*; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -46,14 +47,14 @@ import java.util.Set; import java.util.UUID; import java.util.function.Consumer; -public class Taser extends GunItem implements GeoItem, AnimatedItem { +public class TaserItem extends GunItem implements GeoItem, AnimatedItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public String animationProcedure = "empty"; public static ItemDisplayContext transformType; public static final String TAG_POWER = "Power"; public static final int MAX_POWER_SIZE = 1200; - public Taser() { + public TaserItem() { super(new Item.Properties().stacksTo(1).rarity(Rarity.COMMON)); } @@ -147,9 +148,9 @@ public class Taser extends GunItem implements GeoItem, AnimatedItem { @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { - AnimationController procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate); + AnimationController procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate); data.add(procedureController); - AnimationController idleController = new AnimationController<>(this, "idleController", 3, this::idlePredicate); + AnimationController idleController = new AnimationController<>(this, "idleController", 3, this::idlePredicate); data.add(idleController); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java index 031e325ed..df39b30e8 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java @@ -84,9 +84,9 @@ public class FireMessage { var handItem = player.getMainHandItem(); var tag = handItem.getOrCreateTag(); handleJavelinFire(player); - tag.putBoolean("Seeking",false); - tag.putInt("SeekTime",0); - tag.putString("TargetEntity","none"); + tag.putBoolean("Seeking", false); + tag.putInt("SeekTime", 0); + tag.putString("TargetEntity", "none"); if (player instanceof ServerPlayer serverPlayer) { var clientboundstopsoundpacket = new ClientboundStopSoundPacket(new ResourceLocation(ModUtils.MODID, "javelin_lock"), SoundSource.PLAYERS); serverPlayer.connection.send(clientboundstopsoundpacket); @@ -119,9 +119,9 @@ public class FireMessage { if (handItem.getItem() == ModItems.JAVELIN.get() && player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming && tag.getInt("ammo") > 0) { Entity seekingEntity = SeekTool.seekEntity(player, player.level(), 384, 8); if (seekingEntity != null) { - tag.putString("TargetEntity",seekingEntity.getStringUUID()); - tag.putBoolean("Seeking",true); - tag.putInt("SeekTime",0); + tag.putString("TargetEntity", seekingEntity.getStringUUID()); + tag.putBoolean("Seeking", true); + tag.putInt("SeekTime", 0); } } @@ -182,15 +182,15 @@ public class FireMessage { if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) { Level level = player.level(); if (!level.isClientSide()) { - int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), stack); float damage = (float) (0.04 * stack.getOrCreateTag().getDouble("damage") * (1 + 0.05 * stack.getOrCreateTag().getInt("level"))); float bypassArmorRate = (float) stack.getOrCreateTag().getDouble("BypassArmor"); + BocekArrowEntity arrow = new BocekArrowEntity(player, level); + ProjectileEntity projectile = new ProjectileEntity(player.level()) .shooter(player) .headShot(1) - .zoom(true) - .monsterMultiple(1); + .zoom(true); var perk = PerkHelper.getPerkByType(stack, Perk.Type.AMMO); if (perk instanceof AmmoPerk ammoPerk) { @@ -207,12 +207,19 @@ public class FireMessage { float undeadMultiple = 1; if (perk == ModPerks.SILVER_BULLET.get()) { - int level_ = PerkHelper.getItemPerkLevel(perk, stack); - undeadMultiple = 1.0f + 0.5f * level_; + int perkLevel = PerkHelper.getItemPerkLevel(perk, stack); + undeadMultiple = 1.0f + 0.5f * perkLevel; } else if (perk == ModPerks.BEAST_BULLET.get()) { projectile.beast(); } + var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE); + if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) { + int perkLevel = PerkHelper.getItemPerkLevel(dmgPerk, stack); + projectile.monsterMultiple(0.1f + 0.1f * perkLevel); + arrow.setMonsterMultiplier(0.1f + 0.1f * perkLevel); + } + projectile.bypassArmorRate(0); projectile.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ()); projectile.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) (2 * power), 0); @@ -221,7 +228,7 @@ public class FireMessage { bypassArmorRate = Math.max(bypassArmorRate, 0); - BocekArrowEntity arrow = new BocekArrowEntity(player, level, monsterMultiple).bypassArmorRate(bypassArmorRate).undeadMultiple(undeadMultiple); + arrow.bypassArmorRate(bypassArmorRate).setUndeadMultiplier(undeadMultiple); arrow.setBaseDamage(damage); arrow.setKnockback(0); arrow.setSilent(true); @@ -286,15 +293,13 @@ public class FireMessage { double damage; float headshot = (float) tag.getDouble("headshot"); float velocity = 2 * (float) tag.getDouble("speed"); - int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), heldItem); boolean zoom = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zoom; float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor"); ProjectileEntity projectile = new ProjectileEntity(player.level()) .shooter(player) .headShot(headshot) - .zoom(zoom) - .monsterMultiple(monsterMultiple); + .zoom(zoom); var perk = PerkHelper.getPerkByType(heldItem, Perk.Type.AMMO); if (perk instanceof AmmoPerk ammoPerk) { @@ -318,6 +323,12 @@ public class FireMessage { projectile.beast(); } + var dmgPerk = PerkHelper.getPerkByType(heldItem, Perk.Type.DAMAGE); + if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) { + int perkLevel = PerkHelper.getItemPerkLevel(dmgPerk, heldItem); + projectile.monsterMultiple(0.1f + 0.1f * perkLevel); + } + projectile.setPos(player.getX() - 0.1 * player.getLookAngle().x, player.getEyeY() - 0.1 - 0.1 * player.getLookAngle().y, player.getZ() + -0.1 * player.getLookAngle().z); damage = 2 * 0.008333333 * tag.getDouble("damage") * tag.getDouble("speed") * tag.getDouble("levelDamageMultiple"); @@ -373,15 +384,20 @@ public class FireMessage { ItemStack stack = player.getMainHandItem(); if (!stack.getOrCreateTag().getBoolean("reloading")) { if (!player.getCooldowns().isOnCooldown(stack.getItem()) && stack.getOrCreateTag().getInt("ammo") > 0) { - boolean zoom = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming; double spread = stack.getOrCreateTag().getDouble("spread"); double zoomSpread = stack.getOrCreateTag().getDouble("zoomSpread"); Level level = player.level(); if (!level.isClientSide()) { - int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), stack); - GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, level, (float) stack.getOrCreateTag().getDouble("damage") * (float) stack.getOrCreateTag().getDouble("levelDamageMultiple"), monsterMultiple); + GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, level, + (float) stack.getOrCreateTag().getDouble("damage") * (float) stack.getOrCreateTag().getDouble("levelDamageMultiple")); + + var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE); + if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) { + int perkLevel = PerkHelper.getItemPerkLevel(dmgPerk, stack); + gunGrenadeEntity.setMonsterMultiplier(0.1f + 0.1f * perkLevel); + } gunGrenadeEntity.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ()); gunGrenadeEntity.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) stack.getOrCreateTag().getDouble("velocity"), @@ -416,18 +432,24 @@ public class FireMessage { if (player.isSpectator()) return; Level level = player.level(); - ItemStack mainHandItem = player.getMainHandItem(); - CompoundTag tag = mainHandItem.getOrCreateTag(); - - if (!tag.getBoolean("reloading") && !player.getCooldowns().isOnCooldown(mainHandItem.getItem()) && tag.getInt("ammo") > 0) { + ItemStack stack = player.getMainHandItem(); + CompoundTag tag = stack.getOrCreateTag(); + if (!tag.getBoolean("reloading") && !player.getCooldowns().isOnCooldown(stack.getItem()) && tag.getInt("ammo") > 0) { boolean zoom = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming; - double spread = mainHandItem.getOrCreateTag().getDouble("spread"); - double zoomSpread = mainHandItem.getOrCreateTag().getDouble("zoomSpread"); + double spread = stack.getOrCreateTag().getDouble("spread"); + double zoomSpread = stack.getOrCreateTag().getDouble("zoomSpread"); if (!level.isClientSide()) { - int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), mainHandItem); - RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level, (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"), monsterMultiple); + RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level, + (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple")); + + var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE); + if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) { + int perkLevel = PerkHelper.getItemPerkLevel(dmgPerk, stack); + rocketEntity.setMonsterMultiplier(0.1f + 0.1f * perkLevel); + } + rocketEntity.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ()); rocketEntity.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) tag.getDouble("velocity"), (float) (zoom ? zoomSpread : spread)); @@ -446,7 +468,7 @@ public class FireMessage { tag.putBoolean("close_hammer", true); } - player.getCooldowns().addCooldown(mainHandItem.getItem(), 10); + player.getCooldowns().addCooldown(stack.getItem(), 10); if (player instanceof ServerPlayer serverPlayer) { SoundTool.playLocalSound(serverPlayer, ModSounds.RPG_FIRE_1P.get(), 2, 1); @@ -466,8 +488,8 @@ public class FireMessage { if (player.isSpectator()) return; Level level = player.level(); - ItemStack mainHandItem = player.getMainHandItem(); - CompoundTag tag = mainHandItem.getOrCreateTag(); + ItemStack stack = player.getMainHandItem(); + CompoundTag tag = stack.getOrCreateTag(); if (tag.getInt("SeekTime") < 20) return; @@ -482,8 +504,15 @@ public class FireMessage { firePos.rotateY(-yRot * Mth.DEG_TO_RAD); if (!level.isClientSide()) { - int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), mainHandItem); - JavelinMissileEntity missileEntity = new JavelinMissileEntity(player, level, (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"), monsterMultiple); + JavelinMissileEntity missileEntity = new JavelinMissileEntity(player, level, + (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple")); + + var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE); + if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) { + int perkLevel = PerkHelper.getItemPerkLevel(dmgPerk, stack); + missileEntity.setMonsterMultiplier(0.1f + 0.1f * perkLevel); + } + missileEntity.setPos(player.getX() + firePos.x, player.getEyeY() + firePos.y, player.getZ() + firePos.z); missileEntity.shoot(player.getLookAngle().x, player.getLookAngle().y + 0.3, player.getLookAngle().z, 3f, 1); missileEntity.setTargetUuid(tag.getString("TargetEntity")); @@ -498,7 +527,7 @@ public class FireMessage { 30, 0.4, 0.4, 0.4, 0.005, true); } - player.getCooldowns().addCooldown(mainHandItem.getItem(), 10); + player.getCooldowns().addCooldown(stack.getItem(), 10); if (player instanceof ServerPlayer serverPlayer) { SoundTool.playLocalSound(serverPlayer, ModSounds.JAVELIN_FIRE_1P.get(), 2, 1); diff --git a/src/main/java/net/mcreator/superbwarfare/tools/EnchantmentCategoryTool.java b/src/main/java/net/mcreator/superbwarfare/tools/EnchantmentCategoryTool.java index 9ed665ef5..d68ed517c 100644 --- a/src/main/java/net/mcreator/superbwarfare/tools/EnchantmentCategoryTool.java +++ b/src/main/java/net/mcreator/superbwarfare/tools/EnchantmentCategoryTool.java @@ -2,14 +2,14 @@ package net.mcreator.superbwarfare.tools; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.gun.GunItem; -import net.mcreator.superbwarfare.item.gun.Taser; +import net.mcreator.superbwarfare.item.gun.special.TaserItem; import net.minecraft.world.item.enchantment.EnchantmentCategory; public class EnchantmentCategoryTool { public static final EnchantmentCategory TASER = EnchantmentCategory.create("superbwarfare:taser", - item -> item instanceof Taser); + item -> item instanceof TaserItem); public static final EnchantmentCategory GUN = EnchantmentCategory.create("superbwarfare:gun", - item -> item instanceof GunItem && !(item instanceof Taser)); + item -> item instanceof GunItem && !(item instanceof TaserItem)); public static final EnchantmentCategory CAN_RELOAD = EnchantmentCategory.create("superbwarfare:can_reload", item -> item.getDefaultInstance().is(ModTags.Items.CAN_RELOAD)); } diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index f0acb1ef8..0a43c73d7 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -223,6 +223,8 @@ "des.superbwarfare.gutshot_straight": "Aiming down sights increases body shot damage", "item.superbwarfare.head_seeker": "Head Seeker", "des.superbwarfare.head_seeker": "Body shots landed with this weapon increase precision damage for a short time", + "item.superbwarfare.monster_hunter": "Monster Hunter", + "des.superbwarfare.monster_hunter": "Increases the damage of weapon against monsters", "perk.superbwarfare.tips": "[Perks]", "perk.superbwarfare.slot": "Type: ", @@ -300,8 +302,6 @@ "enchantment.superbwarfare.super_recharge.desc": "Increases the recharge speed of TaserGun", "enchantment.superbwarfare.longer_wire": "Longer Wire", "enchantment.superbwarfare.longer_wire.desc": "Increases the range of TaserGun", - "enchantment.superbwarfare.monster_hunter": "Monster Hunter", - "enchantment.superbwarfare.monster_hunter.desc": "Increases bullet damage against monsters", "des.superbwarfare.sensitivity": "Current Sensitivity of This Gun: %1$s", "des.superbwarfare.need_bolt_action": "[ Need Bolt Action ]", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 806fa18d4..5f83a0cb4 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -223,6 +223,8 @@ "des.superbwarfare.gutshot_straight": "瞄准时增加身体射击伤害", "item.superbwarfare.head_seeker": "死亡寻觅者", "des.superbwarfare.head_seeker": "使用此武器命中身体可在短时间内提高精准伤害", + "item.superbwarfare.monster_hunter": "怪物猎人", + "des.superbwarfare.monster_hunter": "增加武器对怪物的伤害", "perk.superbwarfare.tips": "[武器模组]", "perk.superbwarfare.slot": "类型: ", @@ -300,8 +302,6 @@ "enchantment.superbwarfare.super_recharge.desc": "增加泰瑟枪充能的速度", "enchantment.superbwarfare.longer_wire": "延长导线", "enchantment.superbwarfare.longer_wire.desc": "增加泰瑟枪的射程", - "enchantment.superbwarfare.monster_hunter": "怪物猎人", - "enchantment.superbwarfare.monster_hunter.desc": "增加对怪物的子弹伤害", "des.superbwarfare.sensitivity": "当前枪械的灵敏度为:%1$s", "des.superbwarfare.need_bolt_action": "【需要拉栓】",