From c47e96c3cdb994ac8eaf77d528f51a3decc07105 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 14 Nov 2023 15:22:35 +0100 Subject: [PATCH] even more radar stuff --- .../hbm/inventory/gui/GUIMachineRadarNT.java | 63 ++++++++++++++++++ .../machine/TileEntityCustomMachine.java | 14 ++-- .../machine/TileEntityMachineRadarNT.java | 52 ++++++++++++++- .../hbm/textures/gui/machine/gui_radar_nt.png | Bin 21545 -> 21661 bytes 4 files changed, 120 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java new file mode 100644 index 000000000..3c91249bf --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java @@ -0,0 +1,63 @@ +package com.hbm.inventory.gui; + +import java.util.Arrays; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityMachineRadarNT; +import com.hbm.util.I18nUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineRadarNT extends GuiScreen { + + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_radar_nt.png"); + + protected TileEntityMachineRadarNT radar; + protected int xSize = 216; + protected int ySize = 234; + protected int guiLeft; + protected int guiTop; + + public GUIMachineRadarNT(TileEntityMachineRadarNT tile) { + this.radar = tile; + } + + @Override + public void initGui() { + super.initGui(); + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + this.drawDefaultBackground(); + this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(mouseX, mouseY); + GL11.glEnable(GL11.GL_LIGHTING); + } + + private void drawGuiContainerForegroundLayer(int x, int y) { + if(checkClick(x, y, -10, 88, 8, 8)) this.func_146283_a(Arrays.asList(I18nUtil.resolveKeyArray("radar.detectMissiles")), x, y); + if(checkClick(x, y, -10, 98, 8, 8)) this.func_146283_a(Arrays.asList(I18nUtil.resolveKeyArray("radar.detectShells")), x, y); + if(checkClick(x, y, -10, 108, 8, 8)) this.func_146283_a(Arrays.asList(I18nUtil.resolveKeyArray("radar.detectPlayers")), x, y); + if(checkClick(x, y, -10, 118, 8, 8)) this.func_146283_a(Arrays.asList(I18nUtil.resolveKeyArray("radar.smartMode")), x, y); + if(checkClick(x, y, -10, 128, 8, 8)) this.func_146283_a(Arrays.asList(I18nUtil.resolveKeyArray("radar.redMode")), x, y); + if(checkClick(x, y, -10, 138, 8, 8)) this.func_146283_a(Arrays.asList(I18nUtil.resolveKeyArray("radar.showMap")), x, y); + } + + private void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + } + + protected boolean checkClick(int x, int y, int left, int top, int sizeX, int sizeY) { + return guiLeft + left <= x && guiLeft + left + sizeX > x && guiTop + top < y && guiTop + top + sizeY >= y; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java index 4803e6e38..9c906623d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java @@ -185,7 +185,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF /** Only accepts inputs in a fixed order, saves a ton of performance because there's no permutations to check for */ public CustomMachineRecipe getMatchingRecipe() { - List recipes = CustomMachineRecipes.recipes.get(this.machineType); + List recipes = CustomMachineRecipes.recipes.get(this.config.recipeKey); if(recipes == null || recipes.isEmpty()) return null; outer: @@ -391,11 +391,11 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF for(int i = 0; i < outputTanks.length; i++) outputTanks[i].readFromNBT(nbt, "o" + i); this.matcher.readFromNBT(nbt); - } - - int index = nbt.getInteger("cachedIndex"); - if(index != -1) { - this.cachedRecipe = CustomMachineRecipes.recipes.get(this.machineType).get(index); + + int index = nbt.getInteger("cachedIndex"); + if(index != -1) { + this.cachedRecipe = CustomMachineRecipes.recipes.get(this.config.recipeKey).get(index); + } } } @@ -417,7 +417,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF this.matcher.writeToNBT(nbt); if(this.cachedRecipe != null) { - int index = CustomMachineRecipes.recipes.get(this.machineType).indexOf(this.cachedRecipe); + int index = CustomMachineRecipes.recipes.get(this.config.recipeKey).indexOf(this.cachedRecipe); nbt.setInteger("cachedIndex", index); } else { nbt.setInteger("cachedIndex", -1); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java index e9d80203b..d5911b2a2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java @@ -8,31 +8,41 @@ import java.util.function.Function; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.extprop.HbmLivingProps; +import com.hbm.inventory.gui.GUIMachineRadarNT; import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Tuple.Pair; import api.hbm.entity.IRadarDetectable; import api.hbm.entity.IRadarDetectableNT; import api.hbm.entity.RadarEntry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraft.world.WorldServer; /** * Now with SmЯt™ lag-free entity detection! (patent pending) * @author hbm */ -public class TileEntityMachineRadarNT extends TileEntityMachineBase implements IConfigurableMachine { - +public class TileEntityMachineRadarNT extends TileEntityMachineBase implements IGUIProvider, IConfigurableMachine { + public boolean scanMissiles = true; + public boolean scanShells = true; public boolean scanPlayers = true; public boolean smartMode = true; public boolean redMode = true; + public boolean showMap = false; public boolean jammed = false; @@ -133,9 +143,11 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I public void serialize(ByteBuf buf) { buf.writeLong(this.power); buf.writeBoolean(this.scanMissiles); + buf.writeBoolean(this.scanShells); buf.writeBoolean(this.scanPlayers); buf.writeBoolean(this.smartMode); buf.writeBoolean(this.redMode); + buf.writeBoolean(this.showMap); buf.writeBoolean(this.jammed); buf.writeInt(entries.size()); for(RadarEntry entry : entries) entry.toBytes(buf); @@ -145,9 +157,11 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I public void deserialize(ByteBuf buf) { this.power = buf.readLong(); this.scanMissiles = buf.readBoolean(); + this.scanShells = buf.readBoolean(); this.scanPlayers = buf.readBoolean(); this.smartMode = buf.readBoolean(); this.redMode = buf.readBoolean(); + this.showMap = buf.readBoolean(); this.jammed = buf.readBoolean(); int count = buf.readInt(); for(int i = 0; i < count; i++) { @@ -157,6 +171,40 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } } + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 3, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; + } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineRadarNT(this); + } + /** List of lambdas that are supplied a Pair with the entity and radar in question to generate a RadarEntry The converters coming first have the highest priority */ public static List, RadarEntry>> converters = new ArrayList(); diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_radar_nt.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_radar_nt.png index a6a4d174537830640fd06b4a553852c4a2643991..690e1b5f5fa1706b4b2f8aa6a7daad7435912487 100644 GIT binary patch literal 21661 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 F?0>iMUBUnW literal 21545 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 Rp_}MOTI#xL#i~{z{{^P-o(}*3