From 189d1b9888014b9131f2c7b1bfe5101000ea0b54 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 29 Jul 2024 19:07:37 +0300 Subject: [PATCH] Refactor, cleanup --- .../com/lumijiez/lumiscope/Lumiscope.java | 4 +-- .../handlers/RadarPacketHandler.java | 5 +--- .../lumiscope/items/radars/LongRadar.java | 1 - .../lumiscope/network/RadarPacket.java | 4 +-- .../ShortRadarRenderer.java} | 28 ++++++++++++------- 5 files changed, 23 insertions(+), 19 deletions(-) rename src/main/java/com/lumijiez/lumiscope/{handlers/RadarRenderer.java => render/ShortRadarRenderer.java} (85%) diff --git a/src/main/java/com/lumijiez/lumiscope/Lumiscope.java b/src/main/java/com/lumijiez/lumiscope/Lumiscope.java index ea30141..e2c72b3 100644 --- a/src/main/java/com/lumijiez/lumiscope/Lumiscope.java +++ b/src/main/java/com/lumijiez/lumiscope/Lumiscope.java @@ -1,7 +1,7 @@ package com.lumijiez.lumiscope; import com.lumijiez.lumiscope.handlers.RadarPacketHandler; -import com.lumijiez.lumiscope.handlers.RadarRenderer; +import com.lumijiez.lumiscope.render.ShortRadarRenderer; import com.lumijiez.lumiscope.proxy.CommonProxy; import com.lumijiez.lumiscope.util.Ref; import net.minecraft.entity.player.EntityPlayerMP; @@ -35,7 +35,7 @@ public class Lumiscope { public void init(FMLInitializationEvent event) { if (event.getSide() == Side.CLIENT) { - MinecraftForge.EVENT_BUS.register(RadarRenderer.getInstance()); + MinecraftForge.EVENT_BUS.register(ShortRadarRenderer.getInstance()); } } diff --git a/src/main/java/com/lumijiez/lumiscope/handlers/RadarPacketHandler.java b/src/main/java/com/lumijiez/lumiscope/handlers/RadarPacketHandler.java index ca4bc79..6e3a1fc 100644 --- a/src/main/java/com/lumijiez/lumiscope/handlers/RadarPacketHandler.java +++ b/src/main/java/com/lumijiez/lumiscope/handlers/RadarPacketHandler.java @@ -25,7 +25,6 @@ public class RadarPacketHandler { List playerInfos = new ArrayList<>(); for (EntityPlayerMP otherPlayer : player.getServerWorld().getMinecraftServer().getPlayerList().getPlayers()) { if (!otherPlayer.equals(player) && player.getDistance(otherPlayer) <= 100) { - //String direction = getPlayerDirection(player, otherPlayer); double direction = getPlayerDirection(player, otherPlayer); playerInfos.add(new RadarPacket.PlayerInfo(otherPlayer.getName(), direction)); } @@ -38,9 +37,7 @@ public class RadarPacketHandler { double deltaZ = otherPlayer.posZ - player.posZ; double angle = MathHelper.atan2(deltaZ, deltaX) * (180 / Math.PI) - 90; - if (angle < 0) { - angle += 360; - } + if (angle < 0) angle += 360; angle = (angle + 180) % 360; return Math.toRadians(angle); diff --git a/src/main/java/com/lumijiez/lumiscope/items/radars/LongRadar.java b/src/main/java/com/lumijiez/lumiscope/items/radars/LongRadar.java index d587d59..62ec339 100644 --- a/src/main/java/com/lumijiez/lumiscope/items/radars/LongRadar.java +++ b/src/main/java/com/lumijiez/lumiscope/items/radars/LongRadar.java @@ -24,7 +24,6 @@ public class LongRadar extends ItemBase { public LongRadar() { super("long_radar"); setMaxStackSize(1); - setMaxDamage(100); } @Override diff --git a/src/main/java/com/lumijiez/lumiscope/network/RadarPacket.java b/src/main/java/com/lumijiez/lumiscope/network/RadarPacket.java index 27d87bb..8721c05 100644 --- a/src/main/java/com/lumijiez/lumiscope/network/RadarPacket.java +++ b/src/main/java/com/lumijiez/lumiscope/network/RadarPacket.java @@ -1,6 +1,6 @@ package com.lumijiez.lumiscope.network; -import com.lumijiez.lumiscope.handlers.RadarRenderer; +import com.lumijiez.lumiscope.render.ShortRadarRenderer; import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; @@ -61,7 +61,7 @@ public class RadarPacket implements IMessage { @Override public IMessage onMessage(RadarPacket message, MessageContext ctx) { Minecraft.getMinecraft().addScheduledTask(() -> { - RadarRenderer renderer = RadarRenderer.getInstance(); + ShortRadarRenderer renderer = ShortRadarRenderer.getInstance(); renderer.updatePlayerInfos(message.playerInfos); }); return null; diff --git a/src/main/java/com/lumijiez/lumiscope/handlers/RadarRenderer.java b/src/main/java/com/lumijiez/lumiscope/render/ShortRadarRenderer.java similarity index 85% rename from src/main/java/com/lumijiez/lumiscope/handlers/RadarRenderer.java rename to src/main/java/com/lumijiez/lumiscope/render/ShortRadarRenderer.java index 090b006..a7e8446 100644 --- a/src/main/java/com/lumijiez/lumiscope/handlers/RadarRenderer.java +++ b/src/main/java/com/lumijiez/lumiscope/render/ShortRadarRenderer.java @@ -1,32 +1,33 @@ -package com.lumijiez.lumiscope.handlers; +package com.lumijiez.lumiscope.render; import com.lumijiez.lumiscope.items.radars.ShortRadar; import com.lumijiez.lumiscope.network.RadarPacket; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.entity.RenderDragon; -import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderHandEvent; import net.minecraftforge.client.event.RenderWorldLastEvent; +import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.items.wrapper.PlayerOffhandInvWrapper; import org.lwjgl.opengl.GL11; import java.util.List; @SideOnly(Side.CLIENT) -public class RadarRenderer { +public class ShortRadarRenderer { private static final Minecraft mc = Minecraft.getMinecraft(); - private static final RadarRenderer INSTANCE = new RadarRenderer(); + private static final ShortRadarRenderer INSTANCE = new ShortRadarRenderer(); private final ResourceLocation radarTexture = new ResourceLocation("lumiscope", "textures/gui/radar.png"); private final ResourceLocation radarArrowTexture = new ResourceLocation("lumiscope", "textures/gui/radar_arrow.png"); private List playerInfos; - private RadarRenderer() {} + private ShortRadarRenderer() {} - public static RadarRenderer getInstance() { + public static ShortRadarRenderer getInstance() { return INSTANCE; } @@ -43,6 +44,13 @@ public class RadarRenderer { } } + @SubscribeEvent + public void onRenderPlayerHand(RenderHandEvent event) { + if (mc.player.getHeldItemMainhand().getItem() instanceof ShortRadar) { + event.setCanceled(true); + } + } + private boolean shouldRenderRadar() { return mc.player.getHeldItemMainhand().getItem() instanceof ShortRadar || mc.player.getHeldItemOffhand().getItem() instanceof ShortRadar; @@ -62,7 +70,7 @@ public class RadarRenderer { for (RadarPacket.PlayerInfo info : playerInfos) { double angle = info.direction - Math.toRadians(90); - drawTexturedLine(1.4f, angle, radarArrowTexture); + drawTexturedLine(1.4f, angle); } for (RadarPacket.PlayerInfo info : playerInfos) { @@ -116,8 +124,8 @@ public class RadarRenderer { GlStateManager.disableTexture2D(); } - private void drawTexturedLine(float length, double angle, ResourceLocation texture) { - mc.getTextureManager().bindTexture(texture); + private void drawTexturedLine(float length, double angle) { + mc.getTextureManager().bindTexture(radarArrowTexture); GlStateManager.enableTexture2D();