aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/AccessoryBagOverlay.java11
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/DumymMod.java53
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java42
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/GuiButtonItem.java93
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java159
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java24
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java47
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java3
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java90
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java57
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinGuiContainer.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinRenderFish.java134
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/Options.java101
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java7
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/cross.pngbin0 -> 250 bytes
-rw-r--r--src/main/resources/mixins.notenoughupdates.json3
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