diff options
18 files changed, 508 insertions, 322 deletions
diff --git a/build.gradle b/build.gradle index 45038326..cc403b6d 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ apply plugin: 'com.github.johnrengelman.shadow' sourceCompatibility = 1.8 targetCompatibility = 1.8 -version = "1.4-REL" +version = "1.5-REL" group= "io.github.moulberry" archivesBaseName = "NotEnoughUpdates" String modid = "notenoughupdates" diff --git a/src/main/java/io/github/moulberry/notenoughupdates/AccessoryBagOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/AccessoryBagOverlay.java index d8d84144..5ca25082 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/AccessoryBagOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/AccessoryBagOverlay.java @@ -64,6 +64,17 @@ public class AccessoryBagOverlay { private static int currentTab = TAB_BASIC; public static boolean mouseClick() { + if(Minecraft.getMinecraft().currentScreen instanceof GuiChest) { + GuiChest eventGui = (GuiChest) Minecraft.getMinecraft().currentScreen; + ContainerChest cc = (ContainerChest) eventGui.inventorySlots; + String containerName = cc.getLowerChestInventory().getDisplayName().getUnformattedText(); + if(!containerName.trim().startsWith("Accessory Bag")) { + return false; + } + } else { + return false; + } + if(!Mouse.getEventButtonState()) return false; try { ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft()); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/DumymMod.java b/src/main/java/io/github/moulberry/notenoughupdates/DumymMod.java deleted file mode 100644 index 07205519..00000000 --- a/src/main/java/io/github/moulberry/notenoughupdates/DumymMod.java +++ /dev/null @@ -1,53 +0,0 @@ -package io.github.moulberry.notenoughupdates; - -import java.util.Arrays; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiChest; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.event.GuiScreenEvent; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.Mod.EventHandler; -import net.minecraftforge.fml.common.ModMetadata; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class DumymMod { - - @SubscribeEvent - public void onInitGui(GuiScreenEvent.InitGuiEvent.Post event) { - int width = event.gui.width / 2; - int height = event.gui.height / 2 - 106; - - if (event.gui instanceof GuiChest) - { - event.buttonList.add(new GuiButtonItem(1001, width + 88, height + 47, new ItemStack(Blocks.crafting_table))); - event.buttonList.add(new GuiButtonItem(1000, width + 88, height + 66, new ItemStack(Blocks.ender_chest))); - } - } - - private long lastButtonClick = -1; - - @SubscribeEvent - public void onPostActionPerformedGui(GuiScreenEvent.ActionPerformedEvent.Post event) { - long now = System.currentTimeMillis(); - - if (event.gui instanceof GuiChest) - { - if (now - this.lastButtonClick > 100L) - { - if (event.button.id == 1000) - { - Minecraft.getMinecraft().thePlayer.sendChatMessage("/enderchest"); - } - else if (event.button.id == 1001) - { - Minecraft.getMinecraft().thePlayer.sendChatMessage("/craft"); - } - this.lastButtonClick = now; - } - } - } -}
\ No newline at end of file diff --git a/src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java b/src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java index cdf7b59b..f0b92c6a 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java @@ -39,7 +39,7 @@ public class DungeonBlocks implements IResourceManagerReloadListener { } public static boolean isInDungeons() { - return false && !NotEnoughUpdates.INSTANCE.manager.config.disableDungeonBlocks.value && + return !NotEnoughUpdates.INSTANCE.manager.config.disableDungeonBlocks.value && (NotEnoughUpdates.INSTANCE.manager.config.dungeonBlocksEverywhere.value || (SBInfo.getInstance().getLocation() != null && SBInfo.getInstance().getLocation().equals("dungeon"))); } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java b/src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java index daff1a24..79b9e106 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java @@ -53,6 +53,7 @@ public class DungeonMap { private static final ResourceLocation GREEN_CHECK = new ResourceLocation("notenoughupdates:dungeon_map/green_check.png"); private static final ResourceLocation WHITE_CHECK = new ResourceLocation("notenoughupdates:dungeon_map/white_check.png"); private static final ResourceLocation QUESTION = new ResourceLocation("notenoughupdates:dungeon_map/question.png"); + private static final ResourceLocation CROSS = new ResourceLocation("notenoughupdates:dungeon_map/cross.png"); private static final ResourceLocation ROOM_RED = new ResourceLocation("notenoughupdates:dungeon_map/rooms_default/red_room.png"); private static final ResourceLocation ROOM_BROWN = new ResourceLocation("notenoughupdates:dungeon_map/rooms_default/brown_room.png"); @@ -187,6 +188,8 @@ public class DungeonMap { indicatorTex = GREEN_CHECK; } else if(tick.getRed() == 13 && tick.getGreen() == 13 && tick.getBlue() == 13) { indicatorTex = QUESTION; + } else if(tick.getRed() == 255 && tick.getGreen() == 0 && tick.getBlue() == 0) { + indicatorTex = CROSS; } if(indicatorTex != null) { Minecraft.getMinecraft().getTextureManager().bindTexture(indicatorTex); @@ -353,12 +356,14 @@ public class DungeonMap { public int getRenderRoomSize() { int roomSizeOption = NotEnoughUpdates.INSTANCE.manager.config.dmRoomSize.value.intValue(); - return roomSizeOption == 0 ? 12 : roomSizeOption == 2 ? 20 : 16; + if(roomSizeOption <= 0) return 12; + return 12 + roomSizeOption*4; } public int getRenderConnSize() { int roomSizeOption = NotEnoughUpdates.INSTANCE.manager.config.dmRoomSize.value.intValue(); - return roomSizeOption == 0 ? 3 : roomSizeOption == 2 ? 5 : 4; + if(roomSizeOption <= 0) return 3; + return 3 + roomSizeOption; } private HashMap<Integer, Float> borderRadiusCache = new HashMap<>(); @@ -429,8 +434,8 @@ public class DungeonMap { rotation = (int)playerPos.rotation; } - int mapSizeX = borderSizeOption == 0 ? 90 : borderSizeOption == 2 ? 160 : 120; - int mapSizeY = borderSizeOption == 0 ? 90 : borderSizeOption == 2 ? 160 : 120; + int mapSizeX = borderSizeOption == 0 ? 90 : borderSizeOption == 2 ? 160 : borderSizeOption == 3 ? 240 : 120; + int mapSizeY = borderSizeOption == 0 ? 90 : borderSizeOption == 2 ? 160 : borderSizeOption == 3 ? 240 : 120; int roomsSizeX = (maxRoomX-minRoomX)*(renderRoomSize+renderConnSize)+renderRoomSize; int roomsSizeY = (maxRoomY-minRoomY)*(renderRoomSize+renderConnSize)+renderRoomSize; int mapCenterX = mapSizeX/2; @@ -588,7 +593,7 @@ public class DungeonMap { float deltaX = entityPos.getRenderX() - pos.getRenderX(); float deltaY = entityPos.getRenderY() - pos.getRenderY(); - /*if(deltaX > (renderRoomSize + renderConnSize)/2) { + if(deltaX > (renderRoomSize + renderConnSize)/2) { deltaX -= (renderRoomSize + renderConnSize); } else if(deltaX < -(renderRoomSize + renderConnSize)/2) { deltaX += (renderRoomSize + renderConnSize); @@ -597,7 +602,7 @@ public class DungeonMap { deltaY -= (renderRoomSize + renderConnSize); } else if(deltaY < -(renderRoomSize + renderConnSize)/2) { deltaY += (renderRoomSize + renderConnSize); - }*/ + } x += deltaX; y += deltaY; @@ -636,13 +641,18 @@ public class DungeonMap { } } + boolean headLayer = false; int pixelWidth = 8; int pixelHeight = 8; + if(renderRoomSize >= 24) { + pixelWidth = pixelHeight = 12; + } GlStateManager.color(1, 1, 1, 1); if(NotEnoughUpdates.INSTANCE.manager.config.dmPlayerHeads.value >= 1 && playerSkinMap.containsKey(entry.getKey())) { Minecraft.getMinecraft().getTextureManager().bindTexture(playerSkinMap.get(entry.getKey())); + headLayer = true; if(NotEnoughUpdates.INSTANCE.manager.config.dmPlayerHeads.value >= 3) { minU = 9/64f; minV = 9/64f; @@ -656,8 +666,8 @@ public class DungeonMap { } if(NotEnoughUpdates.INSTANCE.manager.config.dmPlayerHeads.value >= 2) { - pixelWidth = 6; - pixelHeight = 6; + pixelWidth = pixelWidth*6/8; + pixelHeight = pixelHeight*6/8; } } else { Minecraft.getMinecraft().getTextureManager().bindTexture(mapIcons); @@ -682,6 +692,14 @@ public class DungeonMap { worldrenderer.pos(-pixelWidth/2f, -pixelHeight/2f, 30+((float)k * -0.005F)).tex(minU, maxV).endVertex(); tessellator.draw(); + if(headLayer) { + worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX); + worldrenderer.pos(-pixelWidth/2f, pixelHeight/2f, 30+((float)k * -0.005F)+0.001f).tex(minU+0.5f, minV).endVertex(); + worldrenderer.pos(pixelWidth/2f, pixelHeight/2f, 30+((float)k * -0.005F)+0.001f).tex(maxU+0.5f, minV).endVertex(); + worldrenderer.pos(pixelWidth/2f, -pixelHeight/2f, 30+((float)k * -0.005F)+0.001f).tex(maxU+0.5f, maxV).endVertex(); + worldrenderer.pos(-pixelWidth/2f, -pixelHeight/2f, 30+((float)k * -0.005F)+0.001f).tex(minU+0.5f, maxV).endVertex(); + tessellator.draw(); + } GlStateManager.popMatrix(); k--; } @@ -775,7 +793,7 @@ public class DungeonMap { Minecraft.getMinecraft().getTextureManager().bindTexture(rl); GlStateManager.color(1, 1, 1, 1); - int size = borderSizeOption == 0 ? 165 : borderSizeOption == 2 ? 300 : 220; + int size = borderSizeOption == 0 ? 165 : borderSizeOption == 2 ? 300 : borderSizeOption == 3 ? 440 : 220; Utils.drawTexturedRect(-size/2, -size/2, size, size, GL11.GL_NEAREST); } @@ -1308,6 +1326,12 @@ public class DungeonMap { if(SBInfo.getInstance().getLocation() == null || !SBInfo.getInstance().getLocation().equals("dungeon")) { return; } + if(Minecraft.getMinecraft().gameSettings.showDebugInfo || + (Minecraft.getMinecraft().gameSettings.keyBindPlayerList.isKeyDown() && + (!Minecraft.getMinecraft().isIntegratedServerRunning() || + Minecraft.getMinecraft().thePlayer.sendQueue.getPlayerInfoMap().size() > 1))) { + return; + } ItemStack stack = Minecraft.getMinecraft().thePlayer.inventory.mainInventory[8]; boolean holdingBow = stack != null && stack.getItem() == Items.arrow; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/GuiButtonItem.java b/src/main/java/io/github/moulberry/notenoughupdates/GuiButtonItem.java deleted file mode 100644 index a08b27bc..00000000 --- a/src/main/java/io/github/moulberry/notenoughupdates/GuiButtonItem.java +++ /dev/null @@ -1,93 +0,0 @@ -package io.github.moulberry.notenoughupdates; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.nbt.NBTTagString; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.ResourceLocation; - -public class GuiButtonItem extends GuiButton -{ - private static final ResourceLocation TEXTURE = new ResourceLocation("dummy:textures/gui/blank.png"); - private ItemStack itemStack; - private String customName; - - public GuiButtonItem(int buttonID, int xPos, int yPos, ItemStack itemStack) - { - this(buttonID, xPos, yPos, xPos, itemStack, itemStack.getDisplayName()); - } - - public GuiButtonItem(int buttonID, int xPos, int yPos, int potionX, ItemStack itemStack) - { - this(buttonID, xPos, yPos, potionX, itemStack, itemStack.getDisplayName()); - } - - public GuiButtonItem(int buttonID, int xPos, int yPos, ItemStack itemStack, String customName) - { - this(buttonID, xPos, yPos, xPos, itemStack, customName); - } - - public GuiButtonItem(int buttonID, int xPos, int yPos, int potionX, ItemStack itemStack, String customName) - { - super(buttonID, xPos, yPos, 18, 18, ""); - this.itemStack = itemStack; - this.customName = customName; - } - - @Override - public void drawButton(Minecraft mc, int mouseX, int mouseY) - { - boolean flag = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; - - if (this.visible) - { - if (this.itemStack.getItem() == Items.nether_star) - { - ItemStack skyBlockMenu = this.itemStack.copy(); - NBTTagList list = new NBTTagList(); - skyBlockMenu.setStackDisplayName("SkyBlock Menu"); - list.appendTag(new NBTTagString(EnumChatFormatting.GRAY + "View all of your SkyBlock")); - skyBlockMenu.getTagCompound().getCompoundTag("display").setTag("Lore", list); - this.itemStack = skyBlockMenu; - } - - mc.getTextureManager().bindTexture(TEXTURE); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - Gui.drawModalRectWithCustomSizedTexture(this.xPosition, this.yPosition, flag ? 18 : 0, 0, this.width, this.height, 36, 18); - - GlStateManager.enableDepth(); - GlStateManager.enableRescaleNormal(); - GlStateManager.enableBlend(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - RenderHelper.enableGUIStandardItemLighting(); - GlStateManager.enableLighting(); - mc.getRenderItem().renderItemAndEffectIntoGUI(this.itemStack, this.xPosition + 1, this.yPosition + 1); - } - } - - public String getName() - { - return this.customName; - } - - public ItemStack getItemStack() - { - return this.itemStack; - } - - public void setName(String name) - { - this.customName = name; - } - - public void setItemStack(ItemStack itemStack) - { - this.itemStack = itemStack; - } -}
\ No newline at end of file diff --git a/src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java index 5bc4b6ee..6058dc51 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java @@ -78,12 +78,31 @@ public class GuiDungeonMapEditor extends GuiScreen { private int y; private String text; private Color colour = new Color(-1, true); + private Options.Option<?> option; public Button(int id, int x, int y, String text) { + this(id, x, y, text, null); + } + + public Button(int id, int x, int y, String text, Options.Option<?> option) { this.id = id; this.x = x; this.y = y; this.text = text; + this.option = option; + } + + public List<String> getTooltip() { + if(option == null) { + return null; + } + + List<String> tooltip = new ArrayList<>(); + tooltip.add(EnumChatFormatting.YELLOW+option.displayName); + for(String line : option.desc.split("\n")) { + tooltip.add(EnumChatFormatting.AQUA+line); + } + return tooltip; } public void render() { @@ -107,54 +126,58 @@ public class GuiDungeonMapEditor extends GuiScreen { } public GuiDungeonMapEditor() { + Options options = NotEnoughUpdates.INSTANCE.manager.config; //Map Border Size - buttons.add(new Button(0, 6, 37, "Small")); - buttons.add(new Button(1, 52, 37, "Medium")); - buttons.add(new Button(2, 98, 37, "Large")); + buttons.add(new Button(0, 6, 37, "Small", options.dmBorderSize)); + buttons.add(new Button(1, 52, 37, "Medium", options.dmBorderSize)); + buttons.add(new Button(2, 98, 37, "Large", options.dmBorderSize)); //Map Rooms Size - buttons.add(new Button(3, 6, 67, "Small")); - buttons.add(new Button(4, 52, 67, "Medium")); - buttons.add(new Button(5, 98, 67, "Large")); + buttons.add(new Button(3, 6, 67+19, "Small", options.dmRoomSize)); + buttons.add(new Button(4, 52, 67+19, "Medium", options.dmRoomSize)); + buttons.add(new Button(5, 98, 67+19, "Large", options.dmRoomSize)); //Map Border Styles - buttons.add(new Button(6, 6, 97, "Default")); - buttons.add(new Button(7, 52, 97, "Custom")); - buttons.add(new Button(8, 98, 97, "Stone")); - buttons.add(new Button(9, 6, 116, "Wood")); - buttons.add(new Button(10, 52, 116, "Rustic(S)")); - buttons.add(new Button(11, 98, 116, "Rustic(C)")); - buttons.add(new Button(12, 6, 135, "Fade")); - buttons.add(new Button(13, 52, 135, "Ribbons")); - buttons.add(new Button(14, 98, 135, "Paper")); - buttons.add(new Button(15, 6, 154, "Crimson")); - buttons.add(new Button(16, 52, 154, "Ornate")); - buttons.add(new Button(17, 98, 154, "Dragon")); + buttons.add(new Button(6, 6, 97+38, "None")); + buttons.add(new Button(7, 52, 97+38, "Custom")); + buttons.add(new Button(8, 98, 97+38, "Stone")); + buttons.add(new Button(9, 6, 116+38, "Wood")); + buttons.add(new Button(10, 52, 116+38, "Rustic(S)")); + buttons.add(new Button(11, 98, 116+38, "Rustic(C)")); + buttons.add(new Button(12, 6, 135+38, "Fade")); + buttons.add(new Button(13, 52, 135+38, "Ribbons")); + buttons.add(new Button(14, 98, 135+38, "Paper")); + buttons.add(new Button(15, 6, 154+38, "Crimson")); + buttons.add(new Button(16, 52, 154+38, "Ornate")); + buttons.add(new Button(17, 98, 154+38, "Dragon")); //Dungeon Map - buttons.add(new Button(18, 20+139, 36, "Yes/No")); + buttons.add(new Button(18, 20+139, 36, "Yes/No", options.dmEnable)); //Center - buttons.add(new Button(19, 84+139, 36, "Player/Map")); + buttons.add(new Button(19, 84+139, 36, "Player/Map", options.dmCenterPlayer)); //Rotate - buttons.add(new Button(20, 20+139, 65, "Player/No Rotate")); + buttons.add(new Button(20, 20+139, 65, "Player/No Rotate", options.dmRotatePlayer)); //Icon Style - buttons.add(new Button(21, 84+139, 65, "Default/Heads")); + buttons.add(new Button(21, 84+139, 65, "Default/Heads", options.dmPlayerHeads)); //Check Orient - buttons.add(new Button(22, 20+139, 94, "Normal/Reorient")); + buttons.add(new Button(22, 20+139, 94, "Normal/Reorient", options.dmOrientCheck)); //Check Center - buttons.add(new Button(23, 84+139, 94, "Yes/No")); + buttons.add(new Button(23, 84+139, 94, "Yes/No", options.dmCenterCheck)); //Interpolation - buttons.add(new Button(24, 20+139, 123, "Yes/No")); + buttons.add(new Button(24, 20+139, 123, "Yes/No", options.dmPlayerInterp)); //Compatibility - buttons.add(new Button(25, 84+139, 123, "Normal/No SHD/No FB/SHD")); + buttons.add(new Button(25, 84+139, 123, "Normal/No SHD/No FB/SHD", options.dmCompat)); //Background - buttons.add(new Button(26, 20+139, 152, "")); + buttons.add(new Button(26, 20+139, 152, "", options.dmBackgroundColour)); //Border - buttons.add(new Button(27, 84+139, 152, "")); + buttons.add(new Button(27, 84+139, 152, "", options.dmBorderColour)); - //Compatibility - buttons.add(new Button(28, 84+139, 181, "Normal/Scroll")); + //Chroma Mode + buttons.add(new Button(28, 84+139, 181, "Normal/Scroll", options.dmChromaBorder)); + + buttons.add(new Button(29, 52, 86+19, "XLarge", options.dmRoomSize)); + buttons.add(new Button(30, 52, 56, "XLarge", options.dmBorderSize)); xField.setText(String.valueOf(NotEnoughUpdates.INSTANCE.manager.config.dmCenterX.value)); yField.setText(String.valueOf(NotEnoughUpdates.INSTANCE.manager.config.dmCenterY.value)); @@ -172,6 +195,58 @@ public class GuiDungeonMapEditor extends GuiScreen { this.width = scaledResolution.getScaledWidth(); this.height = scaledResolution.getScaledHeight(); + mouseX = Mouse.getEventX() * this.width / this.mc.displayWidth; + mouseY = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1; + + List<String> tooltipToDisplay = null; + for(Button button : buttons) { + if(mouseX >= guiLeft+button.x && mouseX <= guiLeft+button.x+48 && + mouseY >= guiTop+button.y-13 && mouseY <= guiTop+button.y+16) { + if(button.id >= 6 && button.id <= 17) { + String mapDesc = null; + String mapCredit = null; + int id = button.id; + switch(id) { + case 6: + mapDesc = "No Border"; break; + case 7: + mapDesc = "Used by custom Resource Packs"; break; + case 8: + mapDesc = "Simple gray border"; mapCredit = "TomEngMaster"; break; + case 9: + mapDesc = "Viney wood border"; mapCredit = "iDevil4Hell"; break; + case 10: + mapDesc = "Steampunk-inspired square border"; mapCredit = "ThatGravyBoat"; break; + case 11: + mapDesc = "Steampunk-inspired circular border"; mapCredit = "ThatGravyBoat"; break; + case 12: + mapDesc = "Light fade border"; mapCredit = "Qwiken"; break; + case 13: + mapDesc = "Simple gray border with red ribbons"; mapCredit = "Sai"; break; + case 14: + mapDesc = "Paper border"; mapCredit = "KingJames02st"; break; + case 15: + mapDesc = "Nether-inspired border"; break; + case 16: + mapDesc = "Golden ornate border"; mapCredit = "iDevil4Hell"; break; + case 17: + mapDesc = "Stone dragon border"; mapCredit = "ImperiaL"; break; + } + + ArrayList<String> tooltip = new ArrayList<>(); + tooltip.add(EnumChatFormatting.YELLOW+"Border Style"); + tooltip.add(EnumChatFormatting.AQUA+"Customize the look of the dungeon border"); + tooltip.add(""); + if(mapDesc != null) tooltip.add(EnumChatFormatting.YELLOW+"Set to: "+EnumChatFormatting.AQUA+mapDesc); + if(mapCredit != null) tooltip.add(EnumChatFormatting.YELLOW+"Artist: "+EnumChatFormatting.GOLD+mapCredit); + tooltipToDisplay = tooltip; + } else { + tooltipToDisplay = button.getTooltip(); + } + break; + } + } + this.sizeX = 431; this.sizeY = 237; this.guiLeft = (this.width - this.sizeX) / 2; @@ -192,9 +267,9 @@ public class GuiDungeonMapEditor extends GuiScreen { Utils.drawStringCenteredScaledMaxWidth("Map Border Size", Minecraft.getMinecraft().fontRendererObj, guiLeft+76, guiTop+30, false, 137, 0xFFB4B4B4); Utils.drawStringCenteredScaledMaxWidth("Map Rooms Size", Minecraft.getMinecraft().fontRendererObj, - guiLeft+76, guiTop+60, false, 137, 0xFFB4B4B4); + guiLeft+76, guiTop+60+19, false, 137, 0xFFB4B4B4); Utils.drawStringCenteredScaledMaxWidth("Map Border Style", Minecraft.getMinecraft().fontRendererObj, - guiLeft+76, guiTop+90, false, 137, 0xFFB4B4B4); + guiLeft+76, guiTop+90+38, false, 137, 0xFFB4B4B4); Utils.drawStringCenteredScaledMaxWidth("Dungeon Map", Minecraft.getMinecraft().fontRendererObj, guiLeft+44+139, guiTop+30, false, 60, 0xFFB4B4B4); @@ -234,11 +309,11 @@ public class GuiDungeonMapEditor extends GuiScreen { Options options = NotEnoughUpdates.INSTANCE.manager.config; buttons.get(18).text = options.dmEnable.value ? "Enabled" : "Disabled"; buttons.get(19).text = options.dmCenterPlayer.value ? "Player" : "Map"; - buttons.get(20).text = options.dmRotatePlayer.value ? "Player" : "No Rotate"; + buttons.get(20).text = options.dmRotatePlayer.value ? "Player" : "Vertical"; buttons.get(21).text = options.dmPlayerHeads.value <= 0 ? "Default" : options.dmPlayerHeads.value >= 3 ? "SmallHeads" : options.dmPlayerHeads.value == 1 ? "Heads" : "ScaledHeads"; - buttons.get(22).text = options.dmOrientCheck.value ? "Orient" : "Default"; - buttons.get(23).text = options.dmCenterCheck.value ? "Center" : "Default"; + buttons.get(22).text = options.dmOrientCheck.value ? "Orient" : "Off"; + buttons.get(23).text = options.dmCenterCheck.value ? "Center" : "Off"; buttons.get(24).text = options.dmPlayerInterp.value ? "Interp" : "No Interp"; buttons.get(25).text = options.dmCompat.value <= 0 ? "Normal" : options.dmCompat.value >= 2 ? "No FB/SHD" : "No SHD"; @@ -269,6 +344,11 @@ public class GuiDungeonMapEditor extends GuiScreen { button.render(); } + //List<String> textLines, final int mouseX, final int mouseY, final int screenWidth, final int screenHeight, final int maxTextWidth, FontRenderer font + if(tooltipToDisplay != null) { + Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, 200, Minecraft.getMinecraft().fontRendererObj); + } + if(activeColourEditor != null) { Gui.drawRect(activeColourEditor.x, activeColourEditor.y, activeColourEditor.x+119, activeColourEditor.y+89, colourEditorBG); @@ -596,12 +676,16 @@ public class GuiDungeonMapEditor extends GuiScreen { options.dmBorderSize.value = 1.0; break; case 2: options.dmBorderSize.value = 2.0; break; + case 30: + options.dmBorderSize.value = 3.0; break; case 3: options.dmRoomSize.value = 0.0; break; case 4: options.dmRoomSize.value = 1.0; break; case 5: options.dmRoomSize.value = 2.0; break; + case 29: + options.dmRoomSize.value = 3.0; break; case 18: options.dmEnable.value = !options.dmEnable.value; break; case 19: @@ -638,12 +722,17 @@ public class GuiDungeonMapEditor extends GuiScreen { private boolean isButtonPressed(int id) { Options options = NotEnoughUpdates.INSTANCE.manager.config; + if(id >= 0 && id <= 2) { return options.dmBorderSize.value == id; } else if(id >= 3 && id <= 5) { return options.dmRoomSize.value == id-3; } else if(id >= 6 && id <= 17) { return options.dmBorderStyle.value == id-6; + } else if(id == 29) { + return options.dmRoomSize.value == 3; + } else if(id == 30) { + return options.dmBorderSize.value == 3; } return false; } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java index 29a25d56..3c9f0190 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java @@ -621,7 +621,7 @@ public class NEUEventListener { } private void renderDungeonChestOverlay(GuiScreen gui) { - if(gui instanceof GuiChest && neu.manager.auctionManager.activeAuctions > 0 && !neu.manager.config.dungeonProfitLore.value) { + if(gui instanceof GuiChest && !neu.manager.config.dungeonProfitLore.value) { try { int xSize = (int) Utils.getField(GuiContainer.class, gui, "xSize", "field_146999_f"); int ySize = (int) Utils.getField(GuiContainer.class, gui, "ySize", "field_147000_g"); @@ -790,9 +790,7 @@ public class NEUEventListener { return; } if(shouldRenderOverlay(event.gui) && neu.isOnSkyblock()) { - if(neu.manager.config.accessoryBagOverlay.value && AccessoryBagOverlay.mouseClick()) { - event.setCanceled(true); - } else { + if(!neu.manager.config.accessoryBagOverlay.value || !AccessoryBagOverlay.mouseClick()) { if(!(hoverInv && focusInv)) { if(neu.overlay.mouseInput()) { event.setCanceled(true); @@ -1340,21 +1338,21 @@ public class NEUEventListener { JsonObject auctionInfo = neu.manager.auctionManager.getItemAuctionInfo(internalname); JsonObject bazaarInfo = neu.manager.auctionManager.getBazaarInfo(internalname); + int lowestBin = neu.manager.auctionManager.getLowestBin(internalname); + APIManager.CraftInfo craftCost = neu.manager.auctionManager.getCraftCost(internalname); + boolean hasAuctionPrice = neu.manager.config.invAuctionPrice.value && auctionInfo != null; boolean hasBazaarPrice = neu.manager.config.invBazaarPrice.value && bazaarInfo != null; - - int lowestBin = neu.manager.auctionManager.getLowestBin(internalname); + boolean hasLowestBinPrice = neu.manager.config.invAuctionPrice.value && lowestBin > 0; NumberFormat |
