Refactor, cleanup
This commit is contained in:
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
Reference in New Issue
Block a user