Refactor, cleanup

This commit is contained in:
2024-07-29 19:07:37 +03:00
parent 70c97e730b
commit 189d1b9888
5 changed files with 23 additions and 19 deletions

View File

@@ -1,7 +1,7 @@
package com.lumijiez.lumiscope; package com.lumijiez.lumiscope;
import com.lumijiez.lumiscope.handlers.RadarPacketHandler; 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.proxy.CommonProxy;
import com.lumijiez.lumiscope.util.Ref; import com.lumijiez.lumiscope.util.Ref;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
@@ -35,7 +35,7 @@ public class Lumiscope {
public void init(FMLInitializationEvent event) public void init(FMLInitializationEvent event)
{ {
if (event.getSide() == Side.CLIENT) { if (event.getSide() == Side.CLIENT) {
MinecraftForge.EVENT_BUS.register(RadarRenderer.getInstance()); MinecraftForge.EVENT_BUS.register(ShortRadarRenderer.getInstance());
} }
} }

View File

@@ -25,7 +25,6 @@ public class RadarPacketHandler {
List<RadarPacket.PlayerInfo> playerInfos = new ArrayList<>(); List<RadarPacket.PlayerInfo> playerInfos = new ArrayList<>();
for (EntityPlayerMP otherPlayer : player.getServerWorld().getMinecraftServer().getPlayerList().getPlayers()) { for (EntityPlayerMP otherPlayer : player.getServerWorld().getMinecraftServer().getPlayerList().getPlayers()) {
if (!otherPlayer.equals(player) && player.getDistance(otherPlayer) <= 100) { if (!otherPlayer.equals(player) && player.getDistance(otherPlayer) <= 100) {
//String direction = getPlayerDirection(player, otherPlayer);
double direction = getPlayerDirection(player, otherPlayer); double direction = getPlayerDirection(player, otherPlayer);
playerInfos.add(new RadarPacket.PlayerInfo(otherPlayer.getName(), direction)); playerInfos.add(new RadarPacket.PlayerInfo(otherPlayer.getName(), direction));
} }
@@ -38,9 +37,7 @@ public class RadarPacketHandler {
double deltaZ = otherPlayer.posZ - player.posZ; double deltaZ = otherPlayer.posZ - player.posZ;
double angle = MathHelper.atan2(deltaZ, deltaX) * (180 / Math.PI) - 90; double angle = MathHelper.atan2(deltaZ, deltaX) * (180 / Math.PI) - 90;
if (angle < 0) { if (angle < 0) angle += 360;
angle += 360;
}
angle = (angle + 180) % 360; angle = (angle + 180) % 360;
return Math.toRadians(angle); return Math.toRadians(angle);

View File

@@ -24,7 +24,6 @@ public class LongRadar extends ItemBase {
public LongRadar() { public LongRadar() {
super("long_radar"); super("long_radar");
setMaxStackSize(1); setMaxStackSize(1);
setMaxDamage(100);
} }
@Override @Override

View File

@@ -1,6 +1,6 @@
package com.lumijiez.lumiscope.network; package com.lumijiez.lumiscope.network;
import com.lumijiez.lumiscope.handlers.RadarRenderer; import com.lumijiez.lumiscope.render.ShortRadarRenderer;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
@@ -61,7 +61,7 @@ public class RadarPacket implements IMessage {
@Override @Override
public IMessage onMessage(RadarPacket message, MessageContext ctx) { public IMessage onMessage(RadarPacket message, MessageContext ctx) {
Minecraft.getMinecraft().addScheduledTask(() -> { Minecraft.getMinecraft().addScheduledTask(() -> {
RadarRenderer renderer = RadarRenderer.getInstance(); ShortRadarRenderer renderer = ShortRadarRenderer.getInstance();
renderer.updatePlayerInfos(message.playerInfos); renderer.updatePlayerInfos(message.playerInfos);
}); });
return null; return null;

View File

@@ -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.items.radars.ShortRadar;
import com.lumijiez.lumiscope.network.RadarPacket; import com.lumijiez.lumiscope.network.RadarPacket;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper; 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.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderHandEvent;
import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.client.event.RenderWorldLastEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.items.wrapper.PlayerOffhandInvWrapper;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import java.util.List; import java.util.List;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class RadarRenderer { public class ShortRadarRenderer {
private static final Minecraft mc = Minecraft.getMinecraft(); 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 radarTexture = new ResourceLocation("lumiscope", "textures/gui/radar.png");
private final ResourceLocation radarArrowTexture = new ResourceLocation("lumiscope", "textures/gui/radar_arrow.png"); private final ResourceLocation radarArrowTexture = new ResourceLocation("lumiscope", "textures/gui/radar_arrow.png");
private List<RadarPacket.PlayerInfo> playerInfos; private List<RadarPacket.PlayerInfo> playerInfos;
private RadarRenderer() {} private ShortRadarRenderer() {}
public static RadarRenderer getInstance() { public static ShortRadarRenderer getInstance() {
return INSTANCE; 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() { private boolean shouldRenderRadar() {
return mc.player.getHeldItemMainhand().getItem() instanceof ShortRadar || return mc.player.getHeldItemMainhand().getItem() instanceof ShortRadar ||
mc.player.getHeldItemOffhand().getItem() instanceof ShortRadar; mc.player.getHeldItemOffhand().getItem() instanceof ShortRadar;
@@ -62,7 +70,7 @@ public class RadarRenderer {
for (RadarPacket.PlayerInfo info : playerInfos) { for (RadarPacket.PlayerInfo info : playerInfos) {
double angle = info.direction - Math.toRadians(90); double angle = info.direction - Math.toRadians(90);
drawTexturedLine(1.4f, angle, radarArrowTexture); drawTexturedLine(1.4f, angle);
} }
for (RadarPacket.PlayerInfo info : playerInfos) { for (RadarPacket.PlayerInfo info : playerInfos) {
@@ -116,8 +124,8 @@ public class RadarRenderer {
GlStateManager.disableTexture2D(); GlStateManager.disableTexture2D();
} }
private void drawTexturedLine(float length, double angle, ResourceLocation texture) { private void drawTexturedLine(float length, double angle) {
mc.getTextureManager().bindTexture(texture); mc.getTextureManager().bindTexture(radarArrowTexture);
GlStateManager.enableTexture2D(); GlStateManager.enableTexture2D();