diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK12ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK12ItemModel.java index 1b70dafe0..e6758becd 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK12ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK12ItemModel.java @@ -2,11 +2,12 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; -import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.item.gun.rifle.AK12Item; +import com.atsuishio.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -139,6 +140,8 @@ public class AK12ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.85 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + shuan.setPosZ(2.4f * (float) fp); cross3.setRotZ(0.01f * (float) (ClientEventHandler.recoilHorizon * fp)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK47ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK47ItemModel.java index 972840aab..a23b9ff49 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK47ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK47ItemModel.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; -import com.atsuishio.superbwarfare.event.PlayerEventHandler; -import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.AK47Item; +import com.atsuishio.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -143,6 +144,8 @@ public class AK47ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.85 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + shuan.setPosZ(2.4f * (float) fp); cross3.setRotZ(0.01f * (float) (ClientEventHandler.recoilHorizon * fp)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Aa12ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Aa12ItemModel.java index c4bc4a0bc..351ed79dc 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Aa12ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Aa12ItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.shotgun.Aa12Item; @@ -79,6 +80,8 @@ public class Aa12ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + shen.setPosX(0.2f * (float) (ClientEventHandler.recoilHorizon * (0.5 + 0.4 * ClientEventHandler.fireSpread))); CoreGeoBone root = getAnimationProcessor().getBone("root"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/AbekiriItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/AbekiriItemModel.java index 6c831997c..0b093b77f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/AbekiriItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/AbekiriItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.shotgun.AbekiriItem; @@ -75,6 +76,8 @@ public class AbekiriItemModel extends GeoModel { shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); + CrossHairOverlay.gunRot = shen.getRotZ(); + CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/BocekItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/BocekItemModel.java index ac21a959e..fb6d2b460 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/BocekItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/BocekItemModel.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.special.BocekItem; @@ -112,6 +113,8 @@ public class BocekItemModel extends GeoModel { fire.setRotY((float) (0.01f * ClientEventHandler.recoilHorizon * fpz)); fire.setRotZ((float) ((0.02f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); + CrossHairOverlay.gunRot = fire.getRotZ(); + CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/DevotionItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/DevotionItemModel.java index 1f9af55e4..c0ea7b7df 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/DevotionItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/DevotionItemModel.java @@ -1,9 +1,10 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; -import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.machinegun.DevotionItem; import net.minecraft.client.Minecraft; @@ -87,6 +88,8 @@ public class DevotionItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + bolt.setPosZ(-2f * (float) fp); CoreGeoBone root = getAnimationProcessor().getBone("root"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Glock17ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Glock17ItemModel.java index 04f4dda47..9ad33edcc 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Glock17ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Glock17ItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.handgun.Glock17Item; @@ -86,6 +87,8 @@ public class Glock17ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + slide.setPosZ(1.5f * (float) fp); CoreGeoBone root = getAnimationProcessor().getBone("root"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Glock18ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Glock18ItemModel.java index 4e830bde5..548030005 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Glock18ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Glock18ItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.handgun.Glock18Item; @@ -95,6 +96,8 @@ public class Glock18ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + slide.setPosZ(1.5f * (float) fp); CoreGeoBone root = getAnimationProcessor().getBone("root"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Hk416ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Hk416ItemModel.java index 9e7d4ff0c..684a0a2a1 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Hk416ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Hk416ItemModel.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; -import com.atsuishio.superbwarfare.event.PlayerEventHandler; -import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.Hk416Item; +import com.atsuishio.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -137,6 +138,8 @@ public class Hk416ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - (type == 3 ? 0.95 : 0.9) * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + cross1.setPosY(-0.75f * (float) fpz); cross2.setPosY(-0.7f * (float) fpz); cross3.setPosY(-0.2f * (float) fpz); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/HuntingRifleItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/HuntingRifleItemModel.java index 8c1f42cc2..b571302d8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/HuntingRifleItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/HuntingRifleItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.HuntingRifleItem; @@ -83,6 +84,8 @@ public class HuntingRifleItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/JavelinItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/JavelinItemModel.java index e59346d50..4b48608cd 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/JavelinItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/JavelinItemModel.java @@ -1,9 +1,10 @@ package com.atsuishio.superbwarfare.client.model.item; -import com.atsuishio.superbwarfare.item.gun.launcher.JavelinItem; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; +import com.atsuishio.superbwarfare.item.gun.launcher.JavelinItem; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -74,6 +75,8 @@ public class JavelinItemModel extends GeoModel { shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); + CrossHairOverlay.gunRot = shen.getRotZ(); + CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/K98ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/K98ItemModel.java index 32750c25e..9dcf50eb0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/K98ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/K98ItemModel.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.K98Item; @@ -90,6 +91,8 @@ public class K98ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M1911ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M1911ItemModel.java index f14038a5a..5fa6f37ad 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M1911ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M1911ItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.handgun.M1911Item; @@ -85,6 +86,8 @@ public class M1911ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + slide.setPosZ(2.75f * (float) fp); hammer.setRotX(60 * Mth.DEG_TO_RAD + (120 * Mth.DEG_TO_RAD * (float) fp)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M4ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M4ItemModel.java index 92b6fb4d7..dd5419f4c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M4ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M4ItemModel.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; -import com.atsuishio.superbwarfare.event.PlayerEventHandler; -import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.M4Item; +import com.atsuishio.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -166,6 +167,8 @@ public class M4ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - (type == 3 ? 0.95 : 0.9) * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + CoreGeoBone flare = getAnimationProcessor().getBone("flare"); int BarrelType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.BARREL); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M60ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M60ItemModel.java index 1e856ac2b..d4d984d90 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M60ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M60ItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; @@ -128,6 +129,8 @@ public class M60ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + tiba.setRotZ((float) (-0.25f * fp + 0.4 * fr)); CoreGeoBone root = getAnimationProcessor().getBone("root"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M79ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M79ItemModel.java index 8c6ae9147..a0c5a0639 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M79ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M79ItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.launcher.M79Item; @@ -81,6 +82,8 @@ public class M79ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M870ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M870ItemModel.java index 9d29e2725..0a3197e1b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M870ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M870ItemModel.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.shotgun.M870Item; @@ -82,6 +83,7 @@ public class M870ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M98bItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M98bItemModel.java index 88f4a6902..8ed72d14f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/M98bItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/M98bItemModel.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.M98bItem; @@ -76,6 +77,8 @@ public class M98bItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + scope.setPosZ(75.2f * (float) (fp + 0.54f * fr)); shen.setPosX(0.2f * (float) (ClientEventHandler.recoilHorizon * (0.5 + 0.4 * ClientEventHandler.fireSpread))); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MarlinItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MarlinItemModel.java index a0f47073e..c6d1ade51 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MarlinItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MarlinItemModel.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.MarlinItem; @@ -79,6 +80,8 @@ public class MarlinItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + if (stack.getOrCreateTag().getBoolean("empty")) { jichui.setRotX(-0.52f); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MinigunItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MinigunItemModel.java index ca9bffb64..9f8ef0e5d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MinigunItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MinigunItemModel.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.machinegun.MinigunItem; @@ -68,6 +69,8 @@ public class MinigunItemModel extends GeoModel { shen.setRotY((float) (0.02f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotZ((float) ((0.02f + 0.02 * fr) * ClientEventHandler.recoilHorizon)); + CrossHairOverlay.gunRot = shen.getRotZ(); + CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Mk14ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Mk14ItemModel.java index b63c44624..4fa936276 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Mk14ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Mk14ItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; @@ -132,6 +133,8 @@ public class Mk14ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.85 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + action.setPosZ(2.5f * (float) fp); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 2.5)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MosinNagantItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MosinNagantItemModel.java index 589872b19..cce94cfb8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MosinNagantItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MosinNagantItemModel.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.MosinNagantItem; @@ -99,6 +100,8 @@ public class MosinNagantItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + rex.setPosY(0.05f + 0.1f * (float) fp); rex.setRotZ((float) (-0.08f * fp * ClientEventHandler.recoilHorizon * fp)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Ntw20Model.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Ntw20Model.java index f50680a92..32df48af0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Ntw20Model.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Ntw20Model.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; @@ -84,6 +85,8 @@ public class Ntw20Model extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + gun.setPosX(4.54f * (float) zp); gun.setPosY(-0.45f * (float) zp - (float) (0.2f * zpz)); gun.setPosZ(10.0f * (float) zp + (float) (0.3f * zpz)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Qbz95ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Qbz95ItemModel.java index 6a3e38329..53e0d542a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Qbz95ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Qbz95ItemModel.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; -import com.atsuishio.superbwarfare.event.PlayerEventHandler; -import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.Qbz95Item; +import com.atsuishio.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -150,6 +151,8 @@ public class Qbz95ItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - (type == 3 ? 0.95 : 0.9) * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + bolt.setPosZ(5f * (float) fp); cross1.setPosY(-0.75f * (float) fpz); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/RpgItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/RpgItemModel.java index 0c02563fc..1e59b5cb3 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/RpgItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/RpgItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.launcher.RpgItem; @@ -78,6 +79,8 @@ public class RpgItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + gun.setPosX(0.91f * (float) zp); gun.setPosY(-0.04f * (float) zp - (float) (0.2f * zpz)); gun.setPosZ(2f * (float) zp + (float) (0.15f * zpz)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/RpkItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/RpkItemModel.java index 6941d5f65..c8b165ffa 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/RpkItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/RpkItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.machinegun.RpkItem; @@ -88,6 +89,8 @@ public class RpkItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + shuan.setPosZ(2.4f * (float) fp); CoreGeoBone root = getAnimationProcessor().getBone("root"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/SentinelItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/SentinelItemModel.java index 1cedf3f30..a9fe7813d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/SentinelItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/SentinelItemModel.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem; @@ -89,6 +90,8 @@ public class SentinelItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + CoreGeoBone charge = getAnimationProcessor().getBone("charge"); charge.setRotZ(charge.getRotZ() + times * 0.5f); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/SksItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/SksItemModel.java index 4f916fd1c..c0f73d702 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/SksItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/SksItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.SksItem; @@ -82,6 +83,8 @@ public class SksItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + shuan.setPosZ(2f * (float) fp); CoreGeoBone root = getAnimationProcessor().getBone("root"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/SvdItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/SvdItemModel.java index 5be35ae8d..d0fe33780 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/SvdItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/SvdItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.SvdItem; @@ -100,6 +101,8 @@ public class SvdItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + holo.setPosY(0.05f + 1.1f * (float) fp); holo.setRotZ(-0.04f * (float) fp); holo.setScaleX(0.75f); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/TaserItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/TaserItemModel.java index bc4315f62..a68b513f9 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/TaserItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/TaserItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.special.TaserItem; @@ -73,6 +74,8 @@ public class TaserItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + gun.setPosX(1.82f * (float) zp); gun.setPosY(1.3f * (float) zp - (float) (0.3f * zpz)); gun.setPosZ((float) zp + (float) (0.5f * zpz)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/TracheliumItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/TracheliumItemModel.java index 02b86581e..d4340bb66 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/TracheliumItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/TracheliumItemModel.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; @@ -147,6 +148,8 @@ public class TracheliumItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + stack.getOrCreateTag().putBoolean("HoloHidden", (gun.getPosX() <= 3 || Mth.abs(shen.getRotX()) > (scopeType == 2 ? 3 : 1) * Mth.DEG_TO_RAD || Mth.abs(main.getRotX()) > (scopeType == 2 ? 5.7 : 1) * Mth.DEG_TO_RAD || Mth.abs(main.getRotY()) > 3 * Mth.DEG_TO_RAD)); hammer.setRotX(50 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverPreTime); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/VectorItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/VectorItemModel.java index def7c723f..da52843d5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/VectorItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/VectorItemModel.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.ModUtils; -import com.atsuishio.superbwarfare.event.PlayerEventHandler; -import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.screens.CrossHairOverlay; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.event.PlayerEventHandler; import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.smg.VectorItem; +import com.atsuishio.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -126,6 +127,8 @@ public class VectorItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - (type == 3 ? 0.95 : 0.9) * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); + CrossHairOverlay.gunRot = shen.getRotZ(); + cross1.setPosY(-0.25f * (float) fpz); rotXSight = Mth.lerp(1.5f * times, rotXSight, type == 0 ? 0 : 90); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/screens/CrossHairOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/screens/CrossHairOverlay.java index c40271ca6..4f4a42b68 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/screens/CrossHairOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/screens/CrossHairOverlay.java @@ -12,6 +12,8 @@ import com.atsuishio.superbwarfare.perk.Perk; import com.atsuishio.superbwarfare.perk.PerkHelper; import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; import net.minecraft.client.CameraType; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -38,6 +40,7 @@ public class CrossHairOverlay { public static int HEAD_INDICATOR = 0; public static int KILL_INDICATOR = 0; private static float scopeScale = 1f; + public static float gunRot; @SubscribeEvent(priority = EventPriority.NORMAL) public static void eventHandler(RenderGuiEvent.Pre event) { @@ -125,10 +128,15 @@ public class CrossHairOverlay { } private static void normalCrossHair(GuiGraphics guiGraphics, int w, int h, double spread, float moveX, float moveY) { + PoseStack poseStack = guiGraphics.pose(); + + poseStack.pushPose(); + poseStack.rotateAround(Axis.ZP.rotationDegrees(-gunRot * Mth.RAD_TO_DEG),w / 2f + moveX, h / 2f + moveY, 0); preciseBlit(guiGraphics, REX_HORIZONTAL, (float) (w / 2f - 13.5f - 2.8f * spread) + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16); preciseBlit(guiGraphics, REX_HORIZONTAL, (float) (w / 2f - 2.5f + 2.8f * spread) + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16); preciseBlit(guiGraphics, REX_VERTICAL, w / 2f - 7.5f + moveX, (float) (h / 2f - 2.5f + 2.8f * spread) + moveY, 0, 0, 16, 16, 16, 16); preciseBlit(guiGraphics, REX_VERTICAL, w / 2f - 7.5f + moveX, (float) (h / 2f - 13.5f - 2.8f * spread) + moveY, 0, 0, 16, 16, 16, 16); + poseStack.popPose(); } private static void shotgunCrossHair(GuiGraphics guiGraphics, float finPosX, float finPosY, float finLength) {