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 7f8af5167..f8792fe35 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 @@ -43,16 +43,14 @@ public class JavelinItemModel extends GeoModel { double p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z"); - - - gun.setPosX(1.62f * (float) p); - gun.setPosY(6.3f * (float) p - (float) (0.2f * zp)); - gun.setPosZ(22.95f * (float) p + (float) (0.3f * zp)); - gun.setScaleZ(1f - (0.77f * (float) p)); + gun.setPosX(1.66f * (float) p + (float) (0.2f * zp)); + gun.setPosY(5.5f * (float) p + (float) (0.8f * zp)); + gun.setPosZ(15.9f * (float) p); + gun.setScaleZ(1f - (0.8f * (float) p)); gun.setRotZ(-4.75f * Mth.DEG_TO_RAD * (float) p + (float) (0.02f * zp)); - javelin.setHidden(gun.getPosX() > 1.55); - stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.55)); + javelin.setHidden(gun.getPosZ() > 15.85); + stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosZ() > 15.85)); double fp = player.getPersistentData().getDouble("fire_pos"); double fr = player.getPersistentData().getDouble("fire_rot"); @@ -111,22 +109,6 @@ public class JavelinItemModel extends GeoModel { move.setRotZ(2.7f * (float) m + Mth.DEG_TO_RAD * (float) zRot); CoreGeoBone camera = getAnimationProcessor().getBone("camera"); - CoreGeoBone main = getAnimationProcessor().getBone("0"); - var data = player.getPersistentData(); - float numR = (float) (1 - 0.98 * data.getDouble("zoom_time")); - float numP = (float) (1 - 0.97 * data.getDouble("zoom_time")); - - if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) { - main.setRotX(numR * main.getRotX()); - main.setRotY(numR * main.getRotY()); - main.setRotZ(numR * main.getRotZ()); - main.setPosX(numP * main.getPosX()); - main.setPosY(numP * main.getPosY()); - main.setPosZ(numP * main.getPosZ()); - camera.setRotX(numR * camera.getRotX()); - camera.setRotY(numR * camera.getRotY()); - camera.setRotZ(numR * camera.getRotZ()); - } player.getPersistentData().putDouble("camera_rot_x", Mth.RAD_TO_DEG * camera.getRotX()); diff --git a/src/main/java/net/mcreator/superbwarfare/client/screens/JavelinHudOverlay.java b/src/main/java/net/mcreator/superbwarfare/client/screens/JavelinHudOverlay.java index b4837c326..ed719059a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/screens/JavelinHudOverlay.java +++ b/src/main/java/net/mcreator/superbwarfare/client/screens/JavelinHudOverlay.java @@ -20,6 +20,8 @@ import net.minecraftforge.fml.common.Mod; @Mod.EventBusSubscriber(value = Dist.CLIENT) public class JavelinHudOverlay { + private static float scopeScale = 1; + @SubscribeEvent(priority = EventPriority.LOWEST) public static void eventHandler(RenderGuiEvent.Pre event) { int w = event.getWindow().getGuiScaledWidth(); @@ -28,15 +30,17 @@ public class JavelinHudOverlay { if (player != null) { ItemStack stack = player.getMainHandItem(); - if ((stack.getItem() == ModItems.JAVELIN.get() && !stack.getOrCreateTag().getBoolean("HoloHidden"))) { + if ((stack.getItem() == ModItems.JAVELIN.get() && !stack.getOrCreateTag().getBoolean("HoloHidden")) && Minecraft.getInstance().options.getCameraType().isFirstPerson()) { RenderSystem.disableDepthTest(); RenderSystem.depthMask(false); RenderSystem.enableBlend(); RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); RenderSystem.setShaderColor(1, 1, 1, 1); + float deltaFrame = Minecraft.getInstance().getDeltaFrameTime(); + scopeScale = Mth.lerp(0.5F * deltaFrame, scopeScale, 1.35F); float f = (float)Math.min(w, h); - float f1 = Math.min((float)w / f, (float)h / f) * 1.35f; + float f1 = Math.min((float)w / f, (float)h / f) * scopeScale; int i = Mth.floor(f * f1); int j = Mth.floor(f * f1); int k = (w - i) / 2; @@ -56,6 +60,8 @@ public class JavelinHudOverlay { RenderSystem.enableDepthTest(); RenderSystem.disableBlend(); RenderSystem.setShaderColor(1, 1, 1, 1); + } else { + scopeScale = 1; } } }