aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io
diff options
context:
space:
mode:
authorOliver Howe <ojhowe95@gmail.com>2021-03-21 16:04:54 -0600
committerOliver Howe <ojhowe95@gmail.com>2021-03-21 16:04:54 -0600
commit12fa7d745b5d8863eca55684f253e327d259a9b9 (patch)
tree3b5b4f27ab9445ba10ec1fea9ee71bd0f06cb242 /src/main/java/io
parent06c3c7fcfd8f65e2a30f81626457f4180ea52a36 (diff)
downloadNotEnoughUpdates-12fa7d745b5d8863eca55684f253e327d259a9b9.tar.gz
NotEnoughUpdates-12fa7d745b5d8863eca55684f253e327d259a9b9.tar.bz2
NotEnoughUpdates-12fa7d745b5d8863eca55684f253e327d259a9b9.zip
Inital commit for price filtering
Diffstat (limited to 'src/main/java/io')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java3
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java1128
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java8
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java2
4 files changed, 697 insertions, 444 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
index 689a98f1..952d8f59 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
+import io.github.moulberry.notenoughupdates.auction.CustomAHGui;
import io.github.moulberry.notenoughupdates.core.BackgroundBlur;
import io.github.moulberry.notenoughupdates.core.GuiScreenElementWrapper;
import io.github.moulberry.notenoughupdates.core.util.lerp.LerpingInteger;
@@ -1320,7 +1321,7 @@ public class NEUOverlay extends Gui {
public float getWidthMult() {
float scaleFMult = 1;
if(Utils.peekGuiScale().getScaleFactor()==4) scaleFMult *= 0.9f;
- if(manager.auctionManager.customAH.isRenderOverAuctionView()) scaleFMult *= 0.8f;
+ if(manager.auctionManager.customAH.isRenderOverAuctionView() || Minecraft.getMinecraft().currentScreen instanceof CustomAHGui) scaleFMult *= 0.8f;
return (float)Math.max(0.5, Math.min(1.5, NotEnoughUpdates.INSTANCE.config.itemlist.paneWidthMult))*scaleFMult;
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java b/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java
index fc55a4b8..3f52ebf8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/auction/CustomAH.java
@@ -46,6 +46,12 @@ import static io.github.moulberry.notenoughupdates.util.GuiTextures.*;
public class CustomAH extends Gui {
+ private enum PriceFilter {
+ Greater,
+ Less,
+ Equal
+ }
+
private static final ResourceLocation creativeTabSearch =
new ResourceLocation("textures/gui/container/creative_inventory/tab_item_search.png");
private static final ResourceLocation creativeInventoryTabs =
@@ -69,6 +75,10 @@ public class CustomAH extends Gui {
private GuiTextField searchField = null;
private GuiTextField priceField = null;
+ private GuiTextField priceFilterField = null;
+ private GuiTextField binPriceFilterField = null;
+
+ private final int binPriceFilterYOffset = 86;
private boolean renderOverAuctionView = false;
private long lastRenderDisable = 0;
@@ -80,6 +90,8 @@ public class CustomAH extends Gui {
private long lastMouseEvent;
public long lastOpen;
public long lastGuiScreenSwitch;
+ private PriceFilter currentPriceFilterType = PriceFilter.Greater;
+ private PriceFilter currentBinPriceFilterType = PriceFilter.Greater;
private final int splits = 2;
@@ -132,12 +144,12 @@ public class CustomAH extends Gui {
private static final int SORT_MODE_LOW = 1;
private static final int SORT_MODE_SOON = 2;
- private static final String[] rarities = { "COMMON", "UNCOMMON", "RARE", "EPIC",
- "LEGENDARY", "MYTHIC", "SPECIAL", "VERY SPECIAL", "SUPREME" };
- private static final String[] rarityColours = { ""+EnumChatFormatting.WHITE,
- ""+EnumChatFormatting.GREEN, ""+EnumChatFormatting.BLUE, ""+EnumChatFormatting.DARK_PURPLE,
- ""+EnumChatFormatting.GOLD, ""+EnumChatFormatting.LIGHT_PURPLE, ""+EnumChatFormatting.RED,
- ""+EnumChatFormatting.RED, ""+EnumChatFormatting.DARK_RED };
+ private static final String[] rarities = {"COMMON", "UNCOMMON", "RARE", "EPIC",
+ "LEGENDARY", "MYTHIC", "SPECIAL", "VERY SPECIAL", "SUPREME"};
+ private static final String[] rarityColours = {"" + EnumChatFormatting.WHITE,
+ "" + EnumChatFormatting.GREEN, "" + EnumChatFormatting.BLUE, "" + EnumChatFormatting.DARK_PURPLE,
+ "" + EnumChatFormatting.GOLD, "" + EnumChatFormatting.LIGHT_PURPLE, "" + EnumChatFormatting.RED,
+ "" + EnumChatFormatting.RED, "" + EnumChatFormatting.DARK_RED};
private static final int BIN_FILTER_ALL = 0;
private static final int BIN_FILTER_BIN = 1;
@@ -164,20 +176,20 @@ public class CustomAH extends Gui {
private int enchFilter = ENCH_FILTER_ALL;
private static ItemStack DUNGEON_SORT = Utils.createItemStack(Item.getItemFromBlock(Blocks.deadbush),
- EnumChatFormatting.GREEN+"Dungeon Sorting");
+ EnumChatFormatting.GREEN + "Dungeon Sorting");
private static ItemStack CONTROL_SORT = Utils.createItemStack(Item.getItemFromBlock(Blocks.hopper),
- EnumChatFormatting.GREEN+"Sort");
+ EnumChatFormatting.GREEN + "Sort");
private static ItemStack CONTROL_TIER = Utils.createItemStack(Items.ender_eye,
- EnumChatFormatting.GREEN+"Item Tier");
+ EnumChatFormatting.GREEN + "Item Tier");
private static ItemStack CONTROL_MYAUC = Utils.createItemStack(Items.gold_ingot,
- EnumChatFormatting.GREEN+"My Auctions");
+ EnumChatFormatting.GREEN + "My Auctions");
private static ItemStack CONTROL_BIN = Utils.createItemStack(Item.getItemFromBlock(Blocks.golden_rail),
- EnumChatFormatting.GREEN+"BIN Filter");
+ EnumChatFormatting.GREEN + "BIN Filter");
private static ItemStack CONTROL_ENCH = Utils.createItemStack(Items.enchanted_book,
- EnumChatFormatting.GREEN+"Enchant Filter");
+ EnumChatFormatting.GREEN + "Enchant Filter");
private static ItemStack CONTROL_STATS = Utils.createItemStack(Item.getItemFromBlock(Blocks.command_block),
- EnumChatFormatting.GREEN+"Stats for nerds");
- private ItemStack[] controls = {DUNGEON_SORT,CONTROL_SORT,CONTROL_TIER,null,CONTROL_MYAUC,null,CONTROL_BIN,CONTROL_ENCH,CONTROL_STATS};
+ EnumChatFormatting.GREEN + "Stats for nerds");
+ private ItemStack[] controls = {DUNGEON_SORT, CONTROL_SORT, CONTROL_TIER, null, CONTROL_MYAUC, null, CONTROL_BIN, CONTROL_ENCH, CONTROL_STATS};
private NEUManager manager;
@@ -186,8 +198,8 @@ public class CustomAH extends Gui {
}
public void clearSearch() {
- if(searchField == null || priceField == null) init();
- if(System.currentTimeMillis() - lastOpen < 1000) Mouse.setGrabbed(false);
+ if (searchField == null || priceField == null) init();
+ if (System.currentTimeMillis() - lastOpen < 1000) Mouse.setGrabbed(false);
//sortMode = SORT_MODE_HIGH;
rarityFilter = -1;
@@ -207,10 +219,10 @@ public class CustomAH extends Gui {
}
public void tick() {
- if(!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) return;
- if(Minecraft.getMinecraft().currentScreen instanceof CustomAHGui || renderOverAuctionView) {
- if(shouldUpdateSearch) updateSearch();
- if(shouldSortItems) {
+ if (!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) return;
+ if (Minecraft.getMinecraft().currentScreen instanceof CustomAHGui || renderOverAuctionView) {
+ if (shouldUpdateSearch) updateSearch();
+ if (shouldSortItems) {
sortItems();
shouldSortItems = false;
}
@@ -231,11 +243,11 @@ public class CustomAH extends Gui {
}
public String[] getTotalCategories() {
- String[] categories = new String[1+subcategories.length];
+ String[] categories = new String[1 + subcategories.length];
categories[0] = categoryMatch;
- for(int i=0; i<subcategories.length; i++) {
- categories[i+1] = subcategories[i].categoryMatch;
+ for (int i = 0; i < subcategories.length; i++) {
+ categories[i + 1] = subcategories[i].categoryMatch;
}
return categories;
}
@@ -247,6 +259,9 @@ public class CustomAH extends Gui {
84, fr.FONT_HEIGHT);
this.priceField = new GuiTextField(1, fr, this.guiLeft + 82, this.guiTop + 6,
84, fr.FONT_HEIGHT);
+ this.priceFilterField = new GuiTextField(2, fr, this.guiLeft + 82, this.guiTop + 6,
+ 84, fr.FONT_HEIGHT);
+ this.binPriceFilterField = new GuiTextField(3, fr, this.guiLeft + 82, this.guiTop - 6, 84, fr.FONT_HEIGHT);
this.searchField.setMaxStringLength(30);
this.searchField.setEnableBackgroundDrawing(false);
@@ -263,6 +278,22 @@ public class CustomAH extends Gui {
this.priceField.setCanLoseFocus(true);
this.priceField.setFocused(false);
this.priceField.setText("");
+
+ this.priceFilterField.setMaxStringLength(10);
+ this.priceFilterField.setEnableBackgroundDrawing(false);
+ this.priceFilterField.setTextColor(16777215);
+ this.priceFilterField.setVisible(true);
+ this.priceFilterField.setCanLoseFocus(true);
+ this.priceFilterField.setFocused(false);
+ this.priceFilterField.setText("");
+
+ this.binPriceFilterField.setMaxStringLength(10);
+ this.binPriceFilterField.setEnableBackgroundDrawing(false);
+ this.binPriceFilterField.setTextColor(16777215);
+ this.binPriceFilterField.setVisible(true);
+ this.binPriceFilterField.setCanLoseFocus(true);
+ this.binPriceFilterField.setFocused(false);
+ this.binPriceFilterField.setText("");
}
public boolean isRenderOverAuctionView() {
@@ -270,7 +301,7 @@ public class CustomAH extends Gui {
}
public void setRenderOverAuctionView(boolean renderOverAuctionView) {
- if(this.renderOverAuctionView && !renderOverAuctionView) lastRenderDisable = System.currentTimeMillis();
+ if (this.renderOverAuctionView && !renderOverAuctionView) lastRenderDisable = System.currentTimeMillis();
this.renderOverAuctionView = renderOverAuctionView;
}
@@ -279,7 +310,7 @@ public class CustomAH extends Gui {
}
public int getYSize() {
- return 136 + ySplitSize*splits;
+ return 136 + ySplitSize * splits;
}
private String prettyTime(long millis) {
@@ -289,14 +320,14 @@ public class CustomAH extends Gui {
long days = (millis / 1000 / 60 / 60 / 24);
String endsIn = "";
- if(millis < 0) {
+ if (millis < 0) {
endsIn += "Ended!";
- } else if(minutes == 0 && hours == 0 && days == 0) {
+ } else if (minutes == 0 && hours == 0 && days == 0) {
endsIn += seconds + "s";
- } else if(hours==0 && days==0) {
+ } else if (hours == 0 && days == 0) {
endsIn += minutes + "m" + seconds + "s";
- } else if(days==0) {
- if(hours <= 6) {
+ } else if (days == 0) {
+ if (hours <= 6) {
endsIn += hours + "h" + minutes + "m" + seconds + "s";
} else {
endsIn += hours + "h";
@@ -313,40 +344,40 @@ public class CustomAH extends Gui {
List<String> tooltip = new ArrayList<>();
- for(String line : auc.getStack().getTooltip(Minecraft.getMinecraft().thePlayer, false)) {
- tooltip.add(EnumChatFormatting.GRAY+line);
+ for (String line : auc.getStack().getTooltip(Minecraft.getMinecraft().thePlayer, false)) {
+ tooltip.add(EnumChatFormatting.GRAY + line);
}
long timeUntilEnd = auc.end - System.currentTimeMillis();
- String endsIn = EnumChatFormatting.YELLOW+prettyTime(timeUntilEnd);
+ String endsIn = EnumChatFormatting.YELLOW + prettyTime(timeUntilEnd);
NumberFormat format = NumberFormat.getInstance(Locale.US);
- tooltip.add(EnumChatFormatting.DARK_GRAY+""+EnumChatFormatting.STRIKETHROUGH+"-----------------");
- tooltip.add(EnumChatFormatting.GRAY+"Seller: [CLICK TO SEE]");
+ tooltip.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.STRIKETHROUGH + "-----------------");
+ tooltip.add(EnumChatFormatting.GRAY + "Seller: [CLICK TO SEE]");
- if(auc.bin) {
- tooltip.add(EnumChatFormatting.GRAY+"Buy it now: "+
- EnumChatFormatting.GOLD+format.format(auc.starting_bid));
+ if (auc.bin) {
+ tooltip.add(EnumChatFormatting.GRAY + "Buy it now: " +
+ EnumChatFormatting.GOLD + format.format(auc.starting_bid));
} else {
- if(auc.bid_count > 0) {
- tooltip.add(EnumChatFormatting.GRAY+"Bids: "+EnumChatFormatting.GREEN+auc.bid_count+" bids");
+ if (auc.bid_count > 0) {
+ tooltip.add(EnumChatFormatting.GRAY + "Bids: " + EnumChatFormatting.GREEN + auc.bid_count + " bids");
tooltip.add("");
- tooltip.add(EnumChatFormatting.GRAY+"Top bid: "+
- EnumChatFormatting.GOLD+format.format(auc.highest_bid_amount));
- tooltip.add(EnumChatFormatting.GRAY+"Bidder: [CLICK TO SEE]");
+ tooltip.add(EnumChatFormatting.GRAY + "Top bid: " +
+ EnumChatFormatting.GOLD + format.format(auc.highest_bid_amount));
+ tooltip.add(EnumChatFormatting.GRAY + "Bidder: [CLICK TO SEE]");
} else {
- tooltip.add(EnumChatFormatting.GRAY+"Starting bid: "+
- EnumChatFormatting.GOLD+format.format(auc.starting_bid));
+ tooltip.add(EnumChatFormatting.GRAY + "Starting bid: " +
+ EnumChatFormatting.GOLD + format.format(auc.starting_bid));
}
}
- if(NotEnoughUpdates.INSTANCE.config.tooltipTweaks.showPriceInfoAucItem) {
+ if (NotEnoughUpdates.INSTANCE.config.tooltipTweaks.showPriceInfoAucItem) {
String internalname = NotEnoughUpdates.INSTANCE.manager.getInternalNameForItem(auc.getStack());
- if(internalname != null) {
- if(!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && !Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) {
+ if (internalname != null) {
+ if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && !Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) {
tooltip.add("");
- tooltip.add(EnumChatFormatting.GRAY+"[SHIFT for Price Info]");
+ tooltip.add(EnumChatFormatting.GRAY + "[SHIFT for Price Info]");
} else {
ItemPriceInformation.addToTooltip(tooltip, internalname, auc.getStack());
}
@@ -354,9 +385,9 @@ public class CustomAH extends Gui {
}
tooltip.add("");
- tooltip.add(EnumChatFormatting.GRAY+"Ends in: "+endsIn);
+ tooltip.add(EnumChatFormatting.GRAY + "Ends in: " + endsIn);
tooltip.add("");
- tooltip.add(EnumChatFormatting.YELLOW+"Click to inspect!");
+ tooltip.add(EnumChatFormatting.YELLOW + "Click to inspect!");
return tooltip;
}
@@ -372,12 +403,12 @@ public class CustomAH extends Gui {
private void drawCategorySide(int i) {
boolean clicked = i == clickedSubCategory;
- int x = guiLeft-28;
- int y = guiTop+17+28*(i+1);
- float uMin = 28/256f;
- float uMax = 56/256f;
- float vMin = 0+(clicked?32/256f:0);
- float vMax = 32/256f+(clicked?32/256f:0);
+ int x = guiLeft - 28;
+ int y = guiTop + 17 + 28 * (i + 1);
+ float uMin = 28 / 256f;
+ float uMax = 56 / 256f;
+ float vMin = 0 + (clicked ? 32 / 256f : 0);
+ float vMax = 32 / 256f + (clicked ? 32 / 256f : 0);
float catWidth = 32;
float catHeight = 28;
@@ -392,13 +423,13 @@ public class CustomAH extends Gui {
WorldRenderer worldrenderer = tessellator.getWorldRenderer();
worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX);
worldrenderer
- .pos(x, y+catHeight, 0.0D)
+ .pos(x, y + catHeight, 0.0D)
.tex(uMax, vMin).endVertex();
worldrenderer
- .pos(x+catWidth, y+catHeight, 0.0D)
+ .pos(x + catWidth, y + catHeight, 0.0D)
.tex(uMax, vMax).endVertex();
worldrenderer
- .pos(x+catWidth, y, 0.0D)
+ .pos(x + catWidth, y, 0.0D)
.tex(uMin, vMax).endVertex();
worldrenderer
.pos(x, y, 0.0D)
@@ -409,27 +440,28 @@ public class CustomAH extends Gui {
}
private HashMap<Pattern, Long> timeParseMap = new HashMap<>();
+
public long prettyTimeToMillis(String endsInStr) {
- if(timeParseMap.isEmpty()) {
+ if (timeParseMap.isEmpty()) {
Pattern dayPattern = Pattern.compile("([0-9]+)d");
Pattern hourPattern = Pattern.compile("([0-9]+)h");
Pattern minutePattern = Pattern.compile("([0-9]+)m");
Pattern secondPattern = Pattern.compile("([0-9]+)s");
- timeParseMap.put(dayPattern, 24*60*60*1000L);
- timeParseMap.put(hourPattern, 60*60*1000L);
- timeParseMap.put(minutePattern, 60*1000L);
+ timeParseMap.put(dayPattern, 24 * 60 * 60 * 1000L);
+ timeParseMap.put(hourPattern, 60 * 60 * 1000L);
+ timeParseMap.put(minutePattern, 60 * 1000L);
timeParseMap.put(secondPattern, 1000L);
}
- if(endsInStr != null) {
+ if (endsInStr != null) {
long timeUntilEnd = 0;
String timeStr = Utils.cleanColour(endsInStr);
- for(Map.Entry<Pattern, Long> timeEntry : timeParseMap.entrySet()) {
+ for (Map.Entry<Pattern, Long> timeEntry : timeParseMap.entrySet()) {
Matcher matcher = timeEntry.getKey().matcher(timeStr);
- if(matcher.find()) {
+ if (matcher.find()) {
String days = matcher.group(1);
timeUntilEnd += Long.parseLong(days) * timeEntry.getValue();
}
@@ -442,10 +474,10 @@ public class CustomAH extends Gui {
}
public String findStrStart(ItemStack stack, String toFind) {
- if(stack.hasTagCompound()) {
+ if (stack.hasTagCompound()) {
//ยง7Ends in:
- for(String line : manager.getLoreFromNBT(stack.getTagCompound())) {
- if(line.trim().startsWith(toFind)) {
+ for (String line : manager.getLoreFromNBT(stack.getTagCompound())) {
+ if (line.trim().startsWith(toFind)) {
return line.substring(toFind.length());
}
}
@@ -455,47 +487,49 @@ public class CustomAH extends Gui {
}
public String findEndsInStr(ItemStack stack) {
- return findStrStart(stack, EnumChatFormatting.GRAY+"Ends in: ");
+ return findStrStart(stack, EnumChatFormatting.GRAY + "Ends in: ");
}
public void drawScreen(int mouseX, int mouseY) {
- if(System.currentTimeMillis() - lastOpen < 1000) Mouse.setGrabbed(false);
+ if (System.currentTimeMillis() - lastOpen < 1000) Mouse.setGrabbed(false);
ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
int width = scaledResolution.getScaledWidth();
int height = scaledResolution.getScaledHeight();
- if(searchField == null || priceField == null) init();
+ boolean hasPopup = false;
+
+ if (searchField == null || priceField == null || priceFilterField == null) init();
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- guiLeft = (width - getXSize())/2;
- guiTop = (height - getYSize())/2;
+ guiLeft = (width - getXSize()) / 2;
+ guiTop = (height - getYSize()) / 2;
this.searchField.xPosition = guiLeft + 82;
this.searchField.yPosition = guiTop + 6;
- if(!isEditingPrice()) priceField.setText("IAUSHDIUAH");
+ if (!isEditingPrice()) priceField.setText("IAUSHDIUAH");
- if((Minecraft.getMinecraft().currentScreen instanceof GuiChest ||
+ if ((Minecraft.getMinecraft().currentScreen instanceof GuiChest ||
Minecraft.getMinecraft().currentScreen instanceof GuiEditSign) && currentAucId == null) {
Minecraft.getMinecraft().displayGuiScreen(null);
}
List<String> tooltipToRender = null;
- if(Minecraft.getMinecraft().currentScreen instanceof GuiChest) {
+ if (Minecraft.getMinecraft().currentScreen instanceof GuiChest) {
resetCurrAucIdTimer = System.currentTimeMillis();
GuiChest auctionView = (GuiChest) Minecraft.getMinecraft().currentScreen;
ContainerChest container = (ContainerChest) auctionView.inventorySlots;
String containerName = container.getLowerChestInventory().getDisplayName().getUnformattedText();
- float slideAmount = 1-Math.max(0, Math.min(1, (System.currentTimeMillis() - lastGuiScreenSwitch)/200f));
- int auctionViewLeft = guiLeft+getXSize()+4 - (int)(slideAmount*(78+4));
-
- if(containerName.trim().equals("Auction View") || containerName.trim().equals("BIN Auction View")) {
+ float slideAmount = 1 - Math.max(0, Math.min(1, (System.currentTimeMillis() - lastGuiScreenSwitch) / 200f));
+ int auctionViewLeft = guiLeft + getXSize() + 4 - (int) (slideAmount * (78 + 4));
+ if (containerName.trim().equals("Auction View") || containerName.trim().equals("BIN Auction View")) {
+ hasPopup = true;
Minecraft.getMinecraft().getTextureManager().bindTexture(auction_view);
this.drawTexturedModalRect(auctionViewLeft, guiTop, 0, 0, 78, 172);
- if(auctionViewLeft+31 > guiLeft+getXSize()) {
+ if (auctionViewLeft + 31 > guiLeft + getXSize()) {
try {
ItemStack topStack = auctionView.inventorySlots.getSlot(13).getStack();
ItemStack leftStack = auctionView.inventorySlots.getSlot(29).getStack();
@@ -504,31 +538,31 @@ public class CustomAH extends Gui {
boolean isBin = isGuiFiller(leftStack) || isGuiFiller(leftStack);
- if(isBin) {
+ if (isBin) {
leftStack = middleStack;
middleStack = null;
}
String endsInStr = findEndsInStr(topStack);
- if(endsInStr != null) {
+ if (endsInStr != null) {
long auctionViewEndsIn = prettyTimeToMillis(endsInStr);
- if(auctionViewEndsIn > 0) {
- if(System.currentTimeMillis() - currAucIdSetTimer > 1000) {
+ if (auctionViewEndsIn > 0) {
+ if (System.currentTimeMillis() - currAucIdSetTimer > 1000) {
APIManager.Auction auc = manager.auctionManager.getAuctionItems().get(currentAucId);
- if(auc != null) {
+ if (auc != null) {
auc.end = auctionViewEndsIn + lastGuiScreenSwitch;
}
}
- endsInStr = EnumChatFormatting.DARK_PURPLE+prettyTime(
+ endsInStr = EnumChatFormatting.DARK_PURPLE + prettyTime(
auctionViewEndsIn + lastGuiScreenSwitch - System.currentTimeMillis());
}
Utils.drawStringCenteredScaledMaxWidth(endsInStr, Minecraft.getMinecraft().fontRendererObj,
- auctionViewLeft+39, guiTop+20, false, 70, 4210752);
+ auctionViewLeft + 39, guiTop + 20, false, 70, 4210752);
}
- Utils.drawItemStack(leftStack, auctionViewLeft+31, guiTop+100);
+ Utils.drawItemStack(leftStack, auctionViewLeft + 31, guiTop + 100);
- if(!isGuiFiller(leftStack)) {
+ if (!isGuiFiller(leftStack)) {
NBTTagCompound tag = leftStack.getTagCompound();
NBTTagCompound display = tag.getCompoundTag("display");
if (display.hasKey("Lore", 9)) {
@@ -536,43 +570,44 @@ public class CustomAH extends Gui {
String line2 = list.getStringTagAt(1);
line2 = Utils.cleanColour(line2);
StringBuilder priceNumbers = new StringBuilder();
- for(int i=0; i<line2.length(); i++) {
+ for (int i = 0; i < line2.length(); i++) {
char c = line2.charAt(i);
- if((int)c >= 48 && (int)c <= 57) {
+ if ((int) c >= 48 && (int) c <= 57) {
priceNumbers.append(c);
}
}
- if(priceNumbers.length() > 0) {
+ if (priceNumbers.length() > 0) {
startingBid = Integer.parseInt(priceNumbers.toString());
}
}
}
- Utils.drawItemStack(topStack, auctionViewLeft+31, guiTop+35);
+ Utils.drawItemStack(topStack, auctionViewLeft + 31, guiTop + 35);
- if(!isGuiFiller(middleStack)) {
+ if (!isGuiFiller(middleStack)) {
Minecraft.getMinecraft().getTextureManager().bindTexture(auction_view_buttons);
- boolean hover = mouseX > auctionViewLeft+31 && mouseX <auctionViewLeft+31+16 &&
- mouseY > guiTop+126 && mouseY < guiTop+126+16;
- this.drawTexturedModalRect(auctionViewLeft+31, guiTop+126, hover?16:0, 0, 16, 16);
+ boolean hover = mouseX > auctionViewLeft + 31 && mouseX < auctionViewLeft + 31 + 16 &&
+ mouseY > guiTop + 126 && mouseY < guiTop + 126 + 16;
+ this.drawTexturedModalRect(auctionViewLeft + 31, guiTop + 126, hover ? 16 : 0, 0, 16, 16);
} else {
middleStack = null;
}
- if(mouseX > auctionViewLeft+31 && mouseX <auctionViewLeft+31+16) {
- if(mouseY > guiTop+35 && mouseY < guiTop+35+16) {
- if(topStack != null) {
+ if (mouseX > auctionViewLeft + 31 && mouseX < auctionViewLeft + 31 + 16) {
+ if (mouseY > guiTop + 35 && mouseY < guiTop + 35 + 16) {
+ if (topStack != null) {
tooltipToRender = topStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
tooltipToRender.add("");
- tooltipToRender.add(EnumChatFormatting.YELLOW+"Click to copy seller name!");
+ tooltipToRender.add(EnumChatFormatting.YELLOW + "Click to copy seller name!");
}
- } else if(mouseY > guiTop+100 && mouseY < guiTop+100+16) {
- if(leftStack != null) tooltipToRender = leftStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
- } else if(mouseY > guiTop+61 && mouseY < guiTop+61+16) {
+ } else if (mouseY > guiTop + 100 && mouseY < guiTop + 100 + 16) {
+ if (leftStack != null)
+ tooltipToRender = leftStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
+ } else if (mouseY > guiTop + 61 && mouseY < guiTop + 61 + 16) {
tooltipToRender = new ArrayList<>();
APIManager.Auction auc = manager.auctionManager.getAuctionItems().get(currentAucId);
- if(auc != null) {
- tooltipToRender.add(EnumChatFormatting.WHITE+"Price Info");
+ if (auc != null) {
+ tooltipToRender.add(EnumChatFormatting.WHITE + "Price Info");
String internalname = manager.getInternalNameForItem(auc.getStack());
JsonObject auctionInfo = manager.auctionManager.getItemAuctionInfo(internalname);
@@ -587,141 +622,145 @@ public class CustomAH extends Gui {
APIManager.CraftInfo craftCost = manager.auctionManager.getCraftCost(internalname);
- if(lowestBin > 0) {
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"Lowest BIN: "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format(lowestBin)+" coins");
+ if (lowestBin > 0) {
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Lowest BIN: " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format(lowestBin) + " coins");
}
- if(hasBazaarPrice) {
- int bazaarBuyPrice = (int)bazaarInfo.get("avg_buy").getAsFloat();
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"Bazaar Buy: "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format(bazaarBuyPrice)+" coins");
- int bazaarSellPrice = (int)bazaarInfo.get("avg_sell").getAsFloat();
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"Bazaar Sell: "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format(bazaarSellPrice)+" coins");
- int bazaarInstantBuyPrice = (int)bazaarInfo.get("curr_buy").getAsFloat();
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"Bazaar Insta-Buy: "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format(bazaarInstantBuyPrice)+" coins");
- int bazaarInstantSellPrice = (int)bazaarInfo.get("curr_sell").getAsFloat();
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"Bazaar Insta-Sell: "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format(bazaarInstantSellPrice)+" coins");
+ if (hasBazaarPrice) {
+ int bazaarBuyPrice = (int) bazaarInfo.get("avg_buy").getAsFloat();
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Bazaar Buy: " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format(bazaarBuyPrice) + " coins");
+ int bazaarSellPrice = (int) bazaarInfo.get("avg_sell").getAsFloat();
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Bazaar Sell: " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format(bazaarSellPrice) + " coins");
+ int bazaarInstantBuyPrice = (int) bazaarInfo.get("curr_buy").getAsFloat();
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Bazaar Insta-Buy: " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format(bazaarInstantBuyPrice) + " coins");
+ int bazaarInstantSellPrice = (int) bazaarInfo.get("curr_sell").getAsFloat();
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Bazaar Insta-Sell: " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format(bazaarInstantSellPrice) + " coins");
}
- if(hasAuctionPrice) {
- int auctionPrice = (int)(auctionInfo.get("price").getAsFloat() / auctionInfo.get("count").getAsFloat());
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"AH Price: "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format(auctionPrice)+" coins");
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"AH Sales: "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format(auctionInfo.get("sales").getAsFloat())+" sales/day");
- if(auctionInfo.has("clean_price")) {
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"AH Price (Clean): "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format((int)auctionInfo.get("clean_price").getAsFloat())+" coins");
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"AH Sales (Clean): "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format(auctionInfo.get("clean_sales").getAsFloat())+" sales/day");
+ if (hasAuctionPrice) {
+ int auctionPrice = (int) (auctionInfo.get("price").getAsFloat() / auctionInfo.get("count").getAsFloat());
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "AH Price: " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format(auctionPrice) + " coins");
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "AH Sales: " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format(auctionInfo.get("sales").getAsFloat()) + " sales/day");
+ if (auctionInfo.has("clean_price")) {
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "AH Price (Clean): " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format((int) auctionInfo.get("clean_price").getAsFloat()) + " coins");
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "AH Sales (Clean): " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format(auctionInfo.get("clean_sales").getAsFloat()) + " sales/day");
}
}
- if(craftCost.fromRecipe) {
- tooltipToRender.add(EnumChatFormatting.YELLOW.toString()+EnumChatFormatting.BOLD+"Raw Craft Cost: "+
- EnumChatFormatting.GOLD+EnumChatFormatting.BOLD+format.format((int)craftCost.craftCost)+" coins");
+ if (craftCost.fromRecipe) {
+ tooltipToRender.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Raw Craft Cost: " +
+ EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + format.format((int) craftCost.craftCost) + " coins");
}
tooltipToRender.add("");
}
- if(rightStack != null) tooltipToRender.addAll(rightStack.getTooltip(Minecraft.getMinecraft().thePlayer, false));
- } else if(mouseY > guiTop+126 && mouseY < guiTop+126+16) {
- if(middleStack != null) tooltipToRender = middleStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
+ if (rightStack != null)
+ tooltipToRender.addAll(rightStack.getTooltip(Minecraft.getMinecraft().thePlayer, false));
+ } else if (mouseY > guiTop + 126 && mouseY < guiTop + 126 + 16) {
+ if (middleStack != null)
+ tooltipToRender = middleStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
}
}
- } catch(NullPointerException e) { //i cant be bothered
+ } catch (NullPointerException e) { //i cant be bothered
}
}
- } else if(containerName.trim().equals("Confirm Bid") || containerName.trim().equals("Confirm Purchase")) {
+ } else if (containerName.trim().equals("Confirm Bid") || containerName.trim().equals("Confirm Purchase")) {
Minecraft.getMinecraft().getTextureManager().bindTexture(auction_accept);
this.drawTexturedModalRect(auctionViewLeft, guiTop, 0, 0, 78, 172);
- if(auctionViewLeft+31 > guiLeft+getXSize()) {
+ if (auctionViewLeft + 31 > guiLeft + getXSize()) {
try {
ItemStack leftStack = auctionView.inventorySlots.getSlot(11).getStack();
ItemStack middleStack = auctionView.inventorySlots.getSlot(13).getStack();
ItemStack rightStack = auctionView.inventorySlots.getSlot(15).getStack();
- Utils.drawItemStack(middleStack, auctionViewLeft+31, guiTop+78);
+ Utils.drawItemStack(middleStack, auctionViewLeft + 31, guiTop + 78);
boolean topHovered = false;
boolean bottomHovered = false;
- if(mouseX > auctionViewLeft+31 && mouseX <auctionViewLeft+31+16) {
- if(mouseY > guiTop+31 && mouseY < guiTop+31+16) {
- if(leftStack != null) {
+ if (mouseX > auctionViewLeft + 31 && mouseX < auctionViewLeft + 31 + 16) {
+ if (mouseY > guiTop + 31 && mouseY < guiTop + 31 + 16) {
+ if (leftStack != null) {
topHovered = true;
tooltipToRender = leftStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
}
- } else if(mouseY > guiTop+125 && mouseY < guiTop+125+16) {
- if(rightStack != null) {
+ } else if (mouseY > guiTop + 125 && mouseY < guiTop + 125 + 16) {
+ if (rightStack != null) {
bottomHovered = true;
tooltipToRender = rightStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
}
- } else if(mouseY > guiTop+78 && mouseY < guiTop+78+16) {
- if(middleStack != null) tooltipToRender = middleStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
+ } else if (mouseY > guiTop + 78 && mouseY < guiTop + 78 + 16) {
+ if (middleStack != null)
+ tooltipToRender = middleStack.getTooltip(Minecraft.getMinecraft().thePlayer, false);
}
}
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(auction_view_buttons);
- this.drawTexturedModalRect(auctionViewLeft+31, guiTop+31, topHovered?16:0, 48, 16, 16);
- this.drawTexturedModalRect(auctionViewLeft+31, guiTop+125, bottomHovered?16:0, 64, 16, 16);
- } catch(NullPointerException blah) { //i cant be bothered
+ this.drawTexturedModalRect(auctionViewLeft + 31, guiTop + 31, topHovered ? 16 : 0, 48, 16, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 31, guiTop + 125, bottomHovered ? 16 : 0, 64, 16, 16);
+ } catch (NullPointerException blah) { //i cant be bothered
}
}
}
Utils.drawStringCenteredScaledMaxWidth(containerName, Minecraft.getMinecraft().fontRendererObj,
- auctionViewLeft+39, guiTop+10, false, 70, 4210752);
- } else if(isEditingPrice()) {
+ auctionViewLeft + 39, guiTop + 10, false, 70, 4210752);
+ } else if (isEditingPrice()) {
+ hasPopup = true;
resetCurrAucIdTimer = System.currentTimeMillis();
- float slideAmount = 1-Math.max(0, Math.min(1, (System.currentTimeMillis() - lastGuiScreenSwitch)/200f));
- int auctionViewLeft = guiLeft+getXSize()+4 - (int)(slideAmount*(96+4));
+ float slideAmount = 1 - Math.max(0, Math.min(1, (System.currentTimeMillis() - lastGuiScreenSwitch) / 200f));
+ int auctionViewLeft = guiLeft + getXSize() + 4 - (int) (slideAmount * (96 + 4));
- if(priceField.getText().equals("IAUSHDIUAH")) priceField.setText(""+startingBid);
+ if (priceField.getText().equals("IAUSHDIUAH")) priceField.setText("" + startingBid);
searchField.setFocused(false);
priceField.setFocused(true);
- priceField.xPosition = auctionViewLeft+18;
- priceField.yPosition = guiTop+18;
+ priceField.xPosition = auctionViewLeft + 18;
+ priceField.yPosition = guiTop + 18;
Minecraft.getMinecraft().getTextureManager().bindTexture(auction_price);
this.drawTexturedModalRect(auctionViewLeft, guiTop, 0, 0, 96, 99);
priceField.drawTextBox();
Utils.drawStringCenteredScaledMaxWidth("Bid Amount", Minecraft.getMinecraft().fontRendererObj,
- auctionViewLeft+39, guiTop+10, false, 70, 4210752);
+ auctionViewLeft + 39, guiTop + 10, false, 70, 4210752);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(auction_view_buttons);
- this.drawTexturedModalRect(auctionViewLeft+16, guiTop+32, 0, 16, 30, 16);
- this.drawTexturedModalRect(auctionViewLeft+16+34, guiTop+32, 0, 16, 30, 16);
- this.drawTexturedModalRect(auctionViewLeft+16, guiTop+50, 0, 16, 30, 16);
- this.drawTexturedModalRect(auctionViewLeft+16+34, guiTop+50, 0, 16, 30, 16);
- this.drawTexturedModalRect(auctionViewLeft+16, guiTop+68, 0, 32, 64, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 32, 0, 16, 30, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16 + 34, guiTop + 32, 0, 16, 30, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 50, 0, 16, 30, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16 + 34, guiTop + 50, 0, 16, 30, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 68, 0, 32, 64, 16);
FontRenderer fr = Minecraft.getMinecraft().fontRendererObj;
- Utils.drawStringCentered("x2", fr, auctionViewLeft+16+15, guiTop+32+8, false,
+ Utils.drawStringCentered("x2", fr, auctionViewLeft + 16 + 15, guiTop + 32 + 8, false,
Color.BLACK.getRGB());
- Utils.drawStringCentered("+50%", fr, auctionViewLeft+16+34+15, guiTop+32+8, false,
+ Utils.drawStringCentered("+50%", fr, auctionViewLeft + 16 + 34 + 15, guiTop + 32 + 8, false,
Color.BLACK.getRGB());
- Utils.drawStringCentered("+25%", fr, auctionViewLeft+16+15, guiTop+50+8, false,
+ Utils.drawStringCentered("+25%", fr, auctionViewLeft + 16 + 15, guiTop + 50 + 8, false,
Color.BLACK.getRGB());
- Utils.drawStringCentered("+10%", fr, auctionViewLeft+16+34+15, guiTop+50+8, false,
+ Utils.drawStringCentered("+10%", fr, auctionViewLeft + 16 + 34 + 15, guiTop + 50 + 8, false,
Color.BLACK.getRGB());
- Utils.drawStringCentered("Set Amount", fr, auctionViewLeft+16+32, guiTop+68+8, false,
+ Utils.drawStringCentered("Set Amount", fr, auctionViewLeft + 16 + 32, guiTop + 68 + 8, false,
Color.BLACK.getRGB());
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
GuiEditSign editSign = (GuiEditSign) Minecraft.getMinecraft().currentScreen;
- TileEntitySign tes = (TileEntitySign)Utils.getField(GuiEditSign.class, editSign,
+ TileEntitySign tes = (TileEntitySign) Utils.getField(GuiEditSign.class, editSign,
"tileSign", "field_146848_f");
tes.lineBeingEdited = 0;
tes.signText[0] = new ChatComponentText(priceField.getText());
} else {
- if(System.currentTimeMillis() - resetCurrAucIdTimer > 500 &&
- System.currentTimeMillis() - currAucIdSetTimer > 500) {
+ if (System.currentTimeMillis() - resetCurrAucIdTimer > 500 &&
+ System.currentTimeMillis() - currAucIdSetTimer > 500) {
currentAucId = null;
currAucIdSetTimer = System.currentTimeMillis();
}
@@ -729,40 +768,40 @@ public class CustomAH extends Gui {
Minecraft.getMinecraft().getTextureManager().bindTexture(creativeInventoryTabs);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- if(mouseY > guiTop-28 && mouseY < guiTop+4) {
- if(mouseX > guiLeft && mouseX < guiLeft+168) {
- int offset = mouseX-guiLeft;
- int hoveredCat = offset/28;
- if(hoveredCat >= 0 && hoveredCat < mainCategories.length) {
+ if (mouseY > guiTop - 28 && mouseY < guiTop + 4) {
+ if (mouseX > guiLeft && mouseX < guiLeft + 168) {
+ int offset = mouseX - guiLeft;
+ int hoveredCat = offset / 28;
+ if (hoveredCat >= 0 && hoveredCat < mainCategories.length) {
tooltipToRender = Utils.createList(mainCategories[hoveredCat].displayName);
}
}
}
- if(clickedMainCategory == -1) {
- this.drawTexturedModalRect(guiLeft, guiTop-28, 0, 0, 168, 32);
+ if (clickedMainCategory == -1) {
+ this.drawTexturedModalRect(guiLeft, guiTop - 28, 0, 0, 168, 32);
} else {
- int selStart = clickedMainCategory*28;
- this.drawTexturedModalRect(guiLeft, guiTop-28, 0, 0, selStart, 32);
- this.drawTexturedModalRect(guiLeft+selStart+28, guiTop-28, selStart+28, 0,
- 168-selStart-28, 32);
+ int selStart = clickedMainCategory * 28;
+ this.drawTexturedModalRect(guiLeft, guiTop - 28, 0, 0, selStart, 32);
+ this.drawTexturedModalRect(guiLeft + selStart + 28, guiTop - 28, selStart + 28, 0,
+ 168 - selStart - 28, 32);
- if(clickedMainCategory >= 0 && clickedMainCategory < mainCategories.length) {
+ if (clickedMainCategory >= 0 && clickedMainCategory < mainCategories.length) {
Category mainCategory = mainCategories[clickedMainCategory];
- if(mouseX > guiLeft-28 && mouseX < guiLeft) {
- int offset = mouseY-(guiTop+17);
- if(offset > 0) {
- int hovered = offset/28-1;
- if(hovered < 0) {
+ if (mouseX > guiLeft - 28 && mouseX < guiLeft) {
+ int offset = mouseY - (guiTop + 17);
+ if (offset > 0) {
+ int hovered = offset / 28 - 1;
+ if (hovered < 0) {
tooltipToRender = Utils.createList(mainCategory.displayName);
- } else if(hovered < mainCategory.subcategories.length) {
+ } else if (hovered < mainCategory.subcategories.length) {
tooltipToRender = Utils.createList(mainCategory.subcategories[hovered].displayName);
}
}
}
- for(int i=-1; i<mainCategory.subcategories.length; i++) {
- if(i != clickedSubCategory) drawCategorySide(i);
+ for (int i = -1; i < mainCategory.subcategories.length; i++) {
+ if (i != clickedSubCategory) drawCategorySide(i);
}
}
}
@@ -771,88 +810,88 @@ public class CustomAH extends Gui {
Minecraft.getMinecraft().getTextureManager().bindTexture(creativeTabSearch);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
this.drawTexturedModalRect(guiLeft, guiTop, 0, 0, getXSize(), ySplit);
- int y = guiTop+ySplit;
- for(int i=0; i<splits; i++) {
- this.drawTexturedModalRect(guiLeft, y, 0, ySplit, getXSize(), ySplit+ySplitSize);
+ int y = guiTop + ySplit;
+ for (int i = 0; i < splits; i++) {
+ this.drawTexturedModalRect(guiLeft, y, 0, ySplit, getXSize(), ySplit + ySplitSize);
y += ySplitSize;
}
- this.drawTexturedModalRect(guiLeft, y, 0, ySplit, getXSize(), 136-ySplit);
+ this.drawTexturedModalRect(guiLeft, y, 0, ySplit, getXSize(), 136 - ySplit);
//GUI Name
- Utils.drawStringCenteredScaledMaxWidth("Auction House", Minecraft.getMinecraft().fontRendererObj, guiLeft+42,
- guiTop+10, false, 68, 4210752);
+ Utils.drawStringCenteredScaledMaxWidth("Auction House", Minecraft.getMinecraft().fontRendererObj, guiLeft + 42,
+ guiTop + 10, false, 68, 4210752);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
//Categories
Minecraft.getMinecraft().getTextureManager().bindTexture(creativeInventoryTabs);
GlStateManager.enableBlend();
GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA);
- if(clickedMainCategory != -1) {
- int selStart = clickedMainCategory*28;
+ if (clickedMainCategory != -1) {
+ int selStart = clickedMainCategory * 28;
- this.drawTexturedModalRect(guiLeft+selStart, guiTop-28, clickedMainCategory==0?0:28, 32, 28, 32);
+ this.drawTexturedModalRect(guiLeft + selStart, guiTop - 28, clickedMainCategory == 0 ? 0 : 28, 32, 28, 32);
- if(clickedMainCategory >= 0 && clickedMainCategory < mainCategories.length) {
+ if (clickedMainCategory >= 0 && clickedMainCategory < mainCategories.length) {
Category mainCategory = mainCategories[clickedMainCategory];
- if(clickedSubCategory >= -1 && clickedSubCategory < mainCategory.subcategories.length) {
+ if (clickedSubCategory >= -1 && clickedSubCategory < mainCategory.subcategories.length) {
drawCategorySide(clickedSubCategory);
}
}
}
//Category icons
- for(int i=0; i<mainCategories.length; i++) {
+ for (int i = 0; i < mainCategories.length; i++) {
Category category = mainCategories[i];
- Utils.drawItemStack(category.displayItem, guiLeft+28*i+6, guiTop-28+9);
+ Utils.drawItemStack(category.displayItem, guiLeft + 28 * i + 6, guiTop - 28 + 9);
}
- if(clickedMainCategory >= 0 && clickedMainCategory < mainCategories.length) {
+ if (clickedMainCategory >= 0 && clickedMainCategory < mainCategories.length) {
Category mainCategory = mainCategories[clickedMainCategory];
- Utils.drawItemStack(mainCategory.displayItem, guiLeft-19, guiTop+23);
- for(int i=0; i<mainCategory.subcategories.length; i++) {
- Utils.drawItemStack(mainCategory.subcategories[i].displayItem, guiLeft-19, guiTop+23+28*(i+1));
+ Utils.drawItemStack(mainCategory.displayItem, guiLeft - 19, guiTop + 23);
+ for (int i = 0; i < mainCategory.subcategories.length; i++) {
+ Utils.drawItemStack(mainCategory.subcategories[i].displayItem, guiLeft - 19, guiTop + 23 + 28 * (i + 1));
}
}
- for(int i=0; i<controls.length; i++) {
- Utils.drawItemStack(controls[i], guiLeft+9+18*i, guiTop+112+18*splits);
- if(mouseX > guiLeft+9+18*i && mouseX < guiLeft+9+18*i+16) {
- if(mouseY > guiTop+112+18*splits && mouseY < guiTop+112+18*splits+16) {
+ for (int i = 0; i < controls.length; i++) {
+ Utils.drawItemStack(controls[i], guiLeft + 9 + 18 * i, guiTop + 112 + 18 * splits);
+ if (mouseX > guiLeft + 9 + 18 * i && mouseX < guiLeft + 9 + 18 * i + 16) {
+ if (mouseY > guiTop + 112 + 18 * splits && mouseY < guiTop + 112 + 18 * splits + 16) {
tooltipToRender = getTooltipForControl(i);
}
}
}
int totalItems = auctionIds.size();
- int itemsScroll = (int)Math.floor((totalItems*scrollAmount)/9f)*9;
+ int itemsScroll = (int) Math.floor((totalItems * scrollAmount) / 9f) * 9;
- int maxItemScroll = Math.max(0, totalItems - (5+splits)*9);
+ int maxItemScroll = Math.max(0, totalItems - (5 + splits) * 9);
itemsScroll = Math.min(itemsScroll, maxItemScroll);
- if(NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
+ if (NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
out:
- for(int i=0; i<5+splits; i++) {
- int itemY = guiTop + i*18 + 18;
- for(int j=0; j<9; j++) {
- int itemX = guiLeft + j*18 + 9;
- int id = itemsScroll + i*9 + j;
- if(auctionIds.size() <= id) break out;
+ for (int i = 0; i < 5 + splits; i++) {
+ int itemY = guiTop + i * 18 + 18;
+ for (int j = 0; j < 9; j++) {
+ int itemX = guiLeft + j * 18 + 9;
+ int id = itemsScroll + i * 9 + j;
+ if (auctionIds.size() <= id) break out;
try {
String aucid = sortedAuctionIds.get(id);
- GL11.glTranslatef(0,0,100);
+ GL11.glTranslatef(0, 0, 100);
ItemStack stack = manager.auctionManager.getAuctionItems().get(aucid).getStack();
Utils.drawItemStack(stack, itemX, itemY);
- GL11.glTranslatef(0,0,-100);
+ GL11.glTranslatef(0, 0, -100);
- if(mouseX > itemX && mouseX < itemX+16) {
- if(mouseY > itemY && mouseY < itemY+16) {
+ if (mouseX > itemX && mouseX < itemX + 16) {
+ if (mouseY > itemY && mouseY < itemY + 16) {
tooltipToRender = getTooltipForAucId(aucid);
}
}
- } catch(Exception e) {
+ } catch (Exception e) {
}
}
}
@@ -873,49 +912,140 @@ public class CustomAH extends Gui {
Minecraft.getMinecraft().getTextureManager().bindTexture(creativeInventoryTabs);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- this.drawTexturedModalRect(guiLeft+175, guiTop+18+(int)((95+ySplitSize*2)*scrollAmount),
- 256-(scrollClicked?12:24), 0, 12, 15);
+ this.drawTexturedModalRect(guiLeft + 175, guiTop + 18 + (int) ((95 + ySplitSize * 2) * scrollAmount),
+ 256 - (scrollClicked ? 12 : 24), 0, 12, 15);
- if(!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
- Utils.drawStringCentered(EnumChatFormatting.RED+"NEUAH is DISABLED! Enable in /neusettings.",
- Minecraft.getMinecraft().fontRendererObj, guiLeft+getXSize()/2, guiTop+getYSize()/2-5, true, 0);
+ if (!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
+ Utils.drawStringCentered(EnumChatFormatting.RED + "NEUAH is DISABLED! Enable in /neusettings.",
+ Minecraft.getMinecraft().fontRendererObj, guiLeft + getXSize() / 2, guiTop + getYSize() / 2 - 5, true, 0);
}
- if(tooltipToRender != null) {
+ if (tooltipToRender != null) {
List<String> tooltipGray = new ArrayList<>();
- for(String line : tooltipToRender) {
+ for (String line : tooltipToRender) {
tooltipGray.add(EnumChatFormatting.GRAY + line);
}
Utils.drawHoveringText(tooltipGray, mouseX, mouseY, width,
height, -1, Minecraft.getMinecraft().fontRendererObj);
}
+ float slideAmount = 1 - Math.max(0, Math.min(1, (System.currentTimeMillis() - lastGuiScreenSwitch) / 200f));
+ int auctionViewLeft = guiLeft + getXSize() + 4 - (int) (slideAmount * (78 + 4));
+
+ // Price filter
+ if (!hasPopup && NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.priceFiltering) {
+ // Price bid filter
+ priceFilterField.xPosition = auctionViewLeft + 18;
+ priceFilterField.yPosition = guiTop + 18;
+
+ Minecraft.getMinecraft().getTextureManager().bindTexture(auction_price);
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ this.drawTexturedModalRect(auctionViewLeft, guiTop, 0, 0, 96, 83);
+ if (getPriceFilterAmount() == -1) {
+ priceFilterField.setTextColor(Color.RED.getRGB());
+ } else {
+ priceFilterField.setTextColor(16777215);
+ }
+ priceFilterField.drawTextBox();
+
+ Utils.drawStringCenteredScaledMaxWidth("Price Filter", Minecraft.getMinecraft().fontRendererObj,
+ auctionViewLeft + 39, guiTop + 10, false, 70, 4210752);
+
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(auction_view_buttons);
+ if (currentPriceFilterType == PriceFilter.Less) {
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 32, 30, 16, 30, 16);
+ } else {
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 32, 0, 16, 30, 16);
+ }
+ if (currentPriceFilterType == PriceFilter.Greater) {
+ this.drawTexturedModalRect(auctionViewLeft + 16 + 34, guiTop + 32, 30, 16, 30, 16);
+ } else {
+ this.drawTexturedModalRect(auctionViewLeft + 16 + 34, guiTop + 32, 0, 16, 30, 16);
+ }
+ if (currentPriceFilterType == PriceFilter.Equal) {
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 50, 64, 32, 64, 16);
+ } else {
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 50, 0, 32, 64, 16);
+ }
+
+ FontRenderer fr = Minecraft.getMinecraft().fontRendererObj;
+ Utils.drawStringCentered("<=", fr, auctionViewLeft + 16 + 15, guiTop + 32 + 8, false,
+ Color.BLACK.getRGB());
+ Utils.drawStringCentered(">=", fr, auctionViewLeft + 16 + 34 + 15, guiTop + 32 + 8, false,
+ Color.BLACK.getRGB());
+ Utils.drawStringCentered("==", fr, auctionViewLeft + 16 + 32, guiTop + 50 + 8, false,
+ Color.BLACK.getRGB());
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+
+ // Bin average price filter
+ binPriceFilterField.xPosition = auctionViewLeft + 18;
+ binPriceFilterField.yPosition = guiTop + 18 + binPriceFilterYOffset;
+
+ Minecraft.getMinecraft().getTextureManager().bindTexture(auction_price);
+ this.drawTexturedModalRect(auctionViewLeft, guiTop + binPriceFilterYOffset, 0, 0, 96, 83);
+ if (getBinPriceFilterAmount() == -1) {
+ binPriceFilterField.setTextColor(Color.RED.getRGB());
+ } else {
+ binPriceFilterField.setTextColor(16777215);
+ }
+ binPriceFilterField.drawTextBox();
+
+ Utils.drawStringCenteredScaledMaxWidth("BIN Average Filter", Minecraft.getMinecraft().fontRendererObj,
+ auctionViewLeft + 39, guiTop + 10 + binPriceFilterYOffset, false, 70, 4210752);
+
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(auction_view_buttons);
+ if (currentBinPriceFilterType == PriceFilter.Less) {
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 32 + binPriceFilterYOffset, 30, 16, 30, 16);
+ } else {
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 32 + binPriceFilterYOffset, 0, 16, 30, 16);
+ }
+ if (currentBinPriceFilterType == PriceFilter.Greater) {
+ this.drawTexturedModalRect(auctionViewLeft + 16 + 34, guiTop + 32 + binPriceFilterYOffset, 30, 16, 30, 16);
+ } else {
+ this.drawTexturedModalRect(auctionViewLeft + 16 + 34, guiTop + 32 + binPriceFilterYOffset, 0, 16, 30, 16);
+ }
+ if (currentBinPriceFilterType == PriceFilter.Equal) {
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 50 + binPriceFilterYOffset, 64, 32, 64, 16);
+ } else {
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 50 + binPriceFilterYOffset, 0, 32, 64, 16);
+ }
+
+ Utils.drawStringCentered("<=", fr, auctionViewLeft + 16 + 15, guiTop + 32 + 8 + binPriceFilterYOffset, false,
+ Color.BLACK.getRGB());
+ Utils.drawStringCentered(">=", fr, auctionViewLeft + 16 + 34 + 15, guiTop + 32 + 8 + binPriceFilterYOffset, false,
+ Color.BLACK.getRGB());
+ Utils.drawStringCentered("==", fr, auctionViewLeft + 16 + 32, guiTop + 50 + 8 + binPriceFilterYOffset, false,
+ Color.BLACK.getRGB());
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ }
}
public List<String> getTooltipForControl(int index) {
List<String> lore = new ArrayList<>();
- if(index < 0 || index >= controls.length) return lore;
- if(controls[index] == null) return lore;
+ if (index < 0 || index >= controls.length) return lore;
+ if (controls[index] == null) return lore;
lore.add(controls[index].getDisplayName());
String arrow = "\u25b6";
String selPrefixNC = " " + arrow + " ";
String selPrefix = EnumChatFormatting.DARK_AQUA + selPrefixNC;
String unselPrefix = EnumChatFormatting.GRAY.toString();
- switch(index) {
+ switch (index) {
case 0:
lore.add("");
String gold = EnumChatFormatting.GOLD.toString();
String gray = EnumChatFormatting.GRAY.toString();
char s = 0x272A;
- String[] linesDung = {"Show All","Any Dungeon",
- gold+s+gray+s+s+s+s,
- gold+s+s+gray+s+s+s,
- gold+s+s+s+gray+s+s,
- gold+s+s+s+s+gray+s,
- gold+s+s+s+s+s};
- for(int i=0; i<linesDung.length; i++) {
+ String[] linesDung = {"Show All", "Any Dungeon",
+ gold + s + gray + s + s + s + s,
+ gold + s + s + gray + s + s + s,
+ gold + s + s + s + gray + s + s,
+ gold + s + s + s + s + gray + s,
+ gold + s + s + s + s + s};
+ for (int i = 0; i < linesDung.length; i++) {
String line = linesDung[i];
- if(i == dungeonFilter) {
+ if (i == dungeonFilter) {
line = selPrefix + line.replace(gray, EnumChatFormatting.DARK_AQUA.toString());
} else {
line = unselPrefix + line;
@@ -928,10 +1058,10 @@ public class CustomAH extends Gui {
return lore;
case 1:
lore.add("");
- String[] linesSort = {"Highest Bid","Lowest Bid","Ending soon"};
- for(int i=0; i<linesSort.length; i++) {
+ String[] linesSort = {"Highest Bid", "Lowest Bid", "Ending soon"};
+ for (int i = 0; i < linesSort.length; i++) {
String line = linesSort[i];
- if(i == sortMode) {
+ if (i == sortMode) {
line = selPrefix + line;
} else {
line = unselPrefix + line;
@@ -943,32 +1073,34 @@ public class CustomAH extends Gui {
return lore;
case 2:
lore.add("");
- lore.add((rarityFilter == -1 ? EnumChatFormatting.DARK_GRAY+selPrefixNC : unselPrefix) + "No Filter");
+ lore.add((rarityFilter == -1 ? EnumChatFormatting.DARK_GRAY + selPrefixNC : unselPrefix) + "No Filter");
- for(int i=0; i<rarities.length; i++) {
- lore.add((rarityFilter == i ? rarityColours[i]+selPrefixNC : unselPrefix) +
+ for (int i = 0; i < rarities.length; i++) {
+ lore.add((rarityFilter == i ? rarityColours[i] + selPrefixNC : unselPrefix) +
Utils.prettyCase(rarities[i]));
}
lore.add("");
lore.add(EnumChatFormatting.AQUA + "Right-Click to go backwards!");
lore.add(EnumChatFormatting.YELLOW + "Click to switch filter!");
return lore;
- case 3: break;
+ case 3:
+ break;
case 4:
lore.add("");
String off = EnumChatFormatting.RED + "OFF";
String on = EnumChatFormatting.GREEN + "ON";
- lore.add(unselPrefix+"Filter Own Auctions: " + (filterMyAuctions ? on : off));
+ lore.add(unselPrefix + "Filter Own Auctions: " + (filterMyAuctions ? on : off));
lore.add("");
lore.add(EnumChatFormatting.YELLOW + "Click to toggle!");
return lore;
- case 5: break;
+ case 5:
+ break;
case 6:
lore.add("");
- String[] linesBin = {"Show All","BIN Only","Auctions Only"};
- for(int i=0; i<linesBin.length; i++) {
+ String[] linesBin = {"Show All", "BIN Only", "Auctions Only"};
+ for (int i = 0; i < linesBin.length; i++) {
String line = linesBin[i];
- if(i == binFilter) {
+ if (i == binFilter) {
line = selPrefix + line;
} else {
line = unselPrefix + line;
@@ -981,10 +1113,10 @@ public class CustomAH extends Gui {
return lore;
case 7:
lore.add("");
- String[] linesEnch = {"Show All","Clean Only","Ench Only","Ench/HPB Only"};
- for(int i=0; i<linesEnch.length; i++) {
+ String[] linesEnch = {"Show All", "Clean Only", "Ench Only", "Ench/HPB Only"};
+ for (int i = 0; i < linesEnch.length; i++) {
String line = linesEnch[i];
- if(i == enchFilter) {
+ if (i == enchFilter) {
line = selPrefix + line;
} else {
line = unselPrefix + line;
@@ -998,9 +1130,9 @@ public class CustomAH extends Gui {
case 8:
lore.add("");
lore.add("Current aucid: " + currentAucId);
- if(currentAucId != null) {
+ if (currentAucId != null) {
APIManager.Auction auc = manager.auctionManager.getAuctionItems().get(currentAucId);
- if(auc != null) {
+ if (auc != null) {
lore.add("Current auc category: " + auc.category);
}
}
@@ -1024,7 +1156,7 @@ public class CustomAH extends Gui {
}
public void handleMouseInput() {
- if(!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
+ if (!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
return;
}
@@ -1048,17 +1180,17 @@ public class CustomAH extends Gui {
mouseClickMove(mouseX, mouseY, this.eventButton, l);
}
- if(!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.disableAhScroll) {
+ if (!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.disableAhScroll) {
int dWheel = Mouse.getEventDWheel();
dWheel = Math.max(-1, Math.min(1, dWheel));
- scrollAmount = scrollAmount - dWheel/(float)(auctionIds.size()/9-(5+splits));
+ scrollAmount = scrollAmount - dWheel / (float) (auctionIds.size() / 9 - (5 + splits));
scrollAmount = Math.max(0, Math.min(1, scrollAmount));
}
}
public String niceAucId(String aucId) {
- if(aucId.length()!=32) return aucId;
+ if (aucId.length() != 32) return aucId;
StringBuilder niceAucId = new StringBuilder();
niceAucId.append(aucId, 0, 8);
@@ -1074,59 +1206,89 @@ public class CustomAH extends Gui {
}
public Category getCurrentCategory() {
- if(clickedMainCategory < 0 || clickedMainCategory >= mainCategories.length) {
+ if (clickedMainCategory < 0 || clickedMainCategory >= mainCategories.length) {
return null;
}
Category mainCategory = mainCategories[clickedMainCategory];
- if(clickedSubCategory < 0 || clickedSubCategory >= mainCategory.subcategories.length) {
+ if (clickedSubCategory < 0 || clickedSubCategory >= mainCategory.subcategories.length) {
return mainCategory;
}
return mainCategory.subcategories[clickedSubCategory];
}
private boolean doesAucMatch(APIManager.Auction auc) {
- if(auc == null) return false;
+ if (auc == null) return false;
Category currentCategory = getCurrentCategory();
boolean match = true;
- if(currentCategory != null) {
+ if (currentCategory != null) {
match = false;
String[] categories = currentCategory.getTotalCategories();
- for(String category : categories) {
+ for (String category : categories) {
match |= category.equalsIgnoreCase(auc.category);
}
}
- if(rarityFilter >= 0 && rarityFilter < rarities.length) {
+ if (rarityFilter >= 0 && rarityFilter < rarities.length) {
match &= rarities[rarityFilter].equals(auc.rarity);
}
- if(binFilter == BIN_FILTER_BIN) {
+ if (binFilter == BIN_FILTER_BIN) {
match &= auc.bin;
- } else if(binFilter == BIN_FILTER_AUC) {
+ } else if (binFilter == BIN_FILTER_AUC) {
match &= !auc.bin;
}
- if(enchFilter > ENCH_FILTER_ALL) {
- switch(enchFilter) {
+ if (enchFilter > ENCH_FILTER_ALL) {
+ switch (enchFilter) {
case ENCH_FILTER_CLEAN:
- match &= auc.enchLevel == 0; break;
+ match &= auc.enchLevel == 0;
+ break;
case ENCH_FILTER_ENCH:
- match &= auc.enchLevel >= 1; break;
+ match &= auc.enchLevel >= 1;
+ break;
case ENCH_FILTER_ENCHHPB:
- match &= auc.enchLevel == 2; break;
+ match &= auc.enchLevel == 2;
+ break;
}
}
- if(dungeonFilter > DUNGEON_FILTER_ALL) {
- if(dungeonFilter == DUNGEON_FILTER_DUNGEON && auc.dungeonTier < 0) {
+ if (dungeonFilter > DUNGEON_FILTER_ALL) {
+ if (dungeonFilter == DUNGEON_FILTER_DUNGEON && auc.dungeonTier < 0) {
match = false;
} else {
- match &= dungeonFilter == auc.dungeonTier+1;
+ match &= dungeonFilter == auc.dungeonTier + 1;
}
}
+ if (getPriceFilterAmount() > -1) {
+ if (currentPriceFilterType == PriceFilter.Greater) {
+ match &= auc.highest_bid_amount != 0 ? (auc.highest_bid_amount >= getPriceFilterAmount()) : auc.starting_bid >= getPriceFilterAmount();
+ }
+ if (currentPriceFilterType == PriceFilter.Less) {
+ match &= auc.highest_bid_amount != 0 ? (auc.highest_bid_amount <= getPriceFilterAmount()) : auc.starting_bid <= getPriceFilterAmount();
+ }
+ if (currentPriceFilterType == PriceFilter.Equal) {
+ match &= auc.highest_bid_amount != 0 ? (auc.highest_bid_amount == getPriceFilterAmount()) : auc.starting_bid == getPriceFilterAmount();
+ }
+ }
+ if (getBinPriceFilterAmount() > -1) {
+ int lowestBin = NotEnoughUpdates.INSTANCE.manager.auctionManager.getLowestBin(NotEnoughUpdates.INSTANCE.manager.getInternalNameForItem(auc.getStack()));
+ if (lowestBin > 0) {
+ if (currentBinPriceFilterType == PriceFilter.Greater) {
+ match &= lowestBin >= getBinPriceFilterAmount();
+ }
+ if (currentBinPriceFilterType == PriceFilter.Less) {
+ match &= lowestBin <= getBinPriceFilterAmount();
+ }
+ if (currentBinPriceFilterType == PriceFilter.Equal) {
+ match &= lowestBin == getBinPriceFilterAmount();
+ }
+ } else {
+ match = false;
+ }
+ }
return match;
}
@@ -1135,10 +1297,10 @@ public class CustomAH extends Gui {
HashSet<String> matches = new HashSet<>();
Set<String> itemMatches = manager.search(query);
- for(String internalname : itemMatches) {
- for(String aucid : manager.auctionManager.getAuctionsForInternalname(internalname)) {
+ for (String internalname : itemMatches) {
+ for (String aucid : manager.auctionManager.getAuctionsForInternalname(internalname)) {
APIManager.Auction auc = manager.auctionManager.getAuctionItems().get(aucid);
- if(doesAucMatch(auc)) {
+ if (doesAucMatch(auc)) {
//matches.add(aucid);
} else {
dontMatch.add(aucid);
@@ -1149,19 +1311,19 @@ public class CustomAH extends Gui {
HashMap<String, List<Integer>> extrasMatches = new HashMap<>();
HashMap<String, List<Integer>> extrasMatchesCurrent = new HashMap<>();
boolean first = true;
- for(String subQuery : query.split(" ")) {
- for(HashMap<Integer, HashSet<String>> extrasMap : manager.subMapWithKeysThatAreSuffixes(subQuery.toLowerCase(),
+ for (String subQuery : query.split(" ")) {
+ for (HashMap<Integer, HashSet<String>> extrasMap : manager.subMapWithKeysThatAreSuffixes(subQuery.toLowerCase(),
manager.auctionManager.extrasToAucIdMap).values()) {
- for(int index : extrasMap.keySet()) {
- for(String aucid : extrasMap.get(index)) {
+ for (int index : extrasMap.keySet()) {
+ for (String aucid : extrasMap.get(index)) {
APIManager.Auction auc = manager.auctionManager.getAuctionItems().get(aucid);
- if(!dontMatch.contains(aucid) && doesAucMatch(auc)) {
- if(first) {
+ if (!dontMatch.contains(aucid) && doesAucMatch(auc)) {
+ if (first) {
List<Integer> indexList = extrasMatchesCurrent.computeIfAbsent(aucid, k -> new ArrayList<>());
indexList.add(index);
} else {
List<Integer> indexList = extrasMatches.computeIfAbsent(aucid, k -> new ArrayList<>());
- if(indexList.contains(index-1)) {
+ if (indexList.contains(index - 1)) {
List<Integer> indexListCurrent = extrasMatchesCurrent.computeIfAbsent(aucid, k -> new ArrayList<>());
indexListCurrent.add(index);
}
@@ -1184,16 +1346,18 @@ public class CustomAH extends Gui {
}
private ExecutorService es = Executors.newSingleThreadExecutor();
+
public void updateSearch() {
- if(!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
+ if (!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
return;
}
- if(searchField == null || priceField == null) init();
+ if (searchField == null || priceField == null || priceFilterField == null || binPriceFilterField == null)
+ init();
long currentTime = System.currentTimeMillis();
es.submit(() -> {
- if(currentTime - lastUpdateSearch < 100) {
+ if (currentTime - lastUpdateSearch < 100) {
shouldUpdateSearch = true;
return;
}
@@ -1205,16 +1369,16 @@ public class CustomAH extends Gui {
try {
HashSet<String> auctionIdsNew = new HashSet<>();
auctionIdsNew.clear();
- if(filterMyAuctions) {
- for(String aucid : manager.auctionManager.getPlayerBids()) {
+ if (filterMyAuctions) {
+ for (String aucid : manager.auctionManager.getPlayerBids()) {
APIManager.Auction auc = manager.auctionManager.getAuctionItems().get(aucid);
- if(doesAucMatch(auc)) {
+ if (doesAucMatch(auc)) {
auctionIdsNew.add(aucid);
}
}
- } else if(searchField.getText().length() == 0) {
- for(Map.Entry<String, APIManager.Auction> entry : manager.auctionManager.getAuctionItems().entrySet()) {
- if(doesAucMatch(entry.getValue())) {
+ } else if (searchField.getText().length() == 0) {
+ for (Map.Entry<String, APIManager.Auction> entry : manager.auctionManager.getAuctionItems().entrySet()) {
+ if (doesAucMatch(entry.getValue())) {
auctionIdsNew.add(entry.getKey());
}
}
@@ -1223,9 +1387,9 @@ public class CustomAH extends Gui {
Set<String> dontMatch = new HashSet<>();
HashSet<String> allMatch = new HashSet<>();
- if(query.contains("!")) { //only used for inverted queries, so dont need to populate unless ! in query
- for(Map.Entry<String, APIManager.Auction> entry : manager.auctionManager.getAuctionItems().entrySet()) {
- if(doesAucMatch(entry.getValue())) {
+ if (query.contains("!")) { //only used for inverted queries, so dont need to populate unless ! in query
+ for (Map.Entry<String, APIManager.Auction> entry : manager.auctionManager.getAuctionItems().entrySet()) {
+ if (doesAucMatch(entry.getValue())) {
allMatch.add(entry.getKey());
} else {
dontMatch.add(entry.getKey());
@@ -1237,22 +1401,22 @@ public class CustomAH extends Gui {
StringBuilder query2 = new StringBuilder();
char lastOp = '|';
- for(char c : query.toCharArray()) {
- if(query2.toString().trim().isEmpty() && c == '!') {
+ for (char c : query.toCharArray()) {
+ if (query2.toString().trim().isEmpty() && c == '!') {
invert = true;
- } else if(c == '|' || c == '&') {
- if(lastOp == '|') {
+ } else if (c == '|' || c == '&') {
+ if (lastOp == '|') {
HashSet<String> result = search(query2.toString(), dontMatch);
- if(!invert) {
+ if (!invert) {
auctionIdsNew.addAll(result);
} else {
HashSet<String> allClone = (HashSet<String>) allMatch.clone();
allClone.removeAll(result);
auctionIdsNew.addAll(allClone);
}
- } else if(lastOp == '&') {
+ } else if (lastOp == '&') {
HashSet<String> result = search(query2.toString(), dontMatch);
- if(!invert) {
+ if (!invert) {
auctionIdsNew.retainAll(result);
} else {
auctionIdsNew.removeAll(result);
@@ -1266,18 +1430,18 @@ public class CustomAH extends Gui {
query2.append(c);
}
}
- if(lastOp == '|') {
+ if (lastOp == '|') {
HashSet<String> result = search(query2.toString(), dontMatch);
- if(!invert) {
+ if (!invert) {
auctionIdsNew.addAll(result);
} else {
HashSet<String> allClone = (HashSet<String>) allMatch.clone();
allClone.removeAll(result);
auctionIdsNew.addAll(allClone);
}
- } else if(lastOp == '&') {
+ } else if (lastOp == '&') {
HashSet<String> result = search(query2.toString(), dontMatch);
- if(!invert) {
+ if (!invert) {
auctionIdsNew.retainAll(result);
} else {
auctionIdsNew.removeAll(result);
@@ -1286,14 +1450,14 @@ public class CustomAH extends Gui {
}
auctionIds = auctionIdsNew;
sortItems();
- } catch(Exception e) {
+ } catch (Exception e) {
shouldUpdateSearch = true;
}
});
}
public void sortItems() throws ConcurrentModificationException {
- if(!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
+ if (!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
return;
}
@@ -1305,32 +1469,32 @@ public class CustomAH extends Gui {
APIManager.Auction auc1 = manager.auctionManager.getAuctionItems().get(o1);
APIManager.Auction auc2 = manager.auctionManager.getAuctionItems().get(o2);
- if(auc1 == null) return 1;
- if(auc2 == null) return -1;
+ if (auc1 == null) return 1;
+ if (auc2 == null) return -1;
- if(sortMode == SORT_MODE_HIGH) {
+ if (sortMode == SORT_MODE_HIGH) {
int price1 = Math.max(auc1.highest_bid_amount, auc1.starting_bid);
int price2 = Math.max(auc2.highest_bid_amount, auc2.starting_bid);
int diff = price2 - price1;
- if(diff != 0) {
+ if (diff != 0) {
return diff;
}
- } else if(sortMode == SORT_MODE_LOW) {
+ } else if (sortMode == SORT_MODE_LOW) {
int price1 = Math.max(auc1.highest_bid_amount, auc1.starting_bid);
int price2 = Math.max(auc2.highest_bid_amount, auc2.starting_bid);
int diff = price1 - price2;
- if(diff != 0) {
+ if (diff != 0) {
return diff;
}
} else {
long end1 = auc1.end;
long end2 = auc2.end;
- if(end1 < System.currentTimeMillis()) return 999999;
- if(end2 < System.currentTimeMillis()) return -999999;
+ if (end1 < System.currentTimeMillis()) return 999999;
+ if (end2 < System.currentTimeMillis()) return -999999;
- int diff = (int)(end1 - end2);
- if(diff != 0) {
+ int diff = (int) (end1 - end2);
+ if (diff != 0) {
return diff;
}
}
@@ -1338,45 +1502,54 @@ public class CustomAH extends Gui {
});
sortedAuctionIds = sortedAuctionIdsNew;
- } catch(Exception e) {
+ } catch (Exception e) {
shouldSortItems = true;
}
}
public boolean keyboardInput() {
- if(!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
+ if (!NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.enableNeuAuctionHouse) {
return false;
}
Keyboard.enableRepeatEvents(true);
- if(isEditingPrice() && Keyboard.getEventKey() == Keyboard.KEY_RETURN) {
+ if (isEditingPrice() && Keyboard.getEventKey() == Keyboard.KEY_RETURN) {
Minecraft.getMinecraft().displayGuiScreen(null);
- } else if(Keyboard.getEventKey() == Keyboard.KEY_ESCAPE) {
- if(Minecraft.getMinecraft().currentScreen instanceof GuiEditSign) {
+ } else if (Keyboard.getEventKey() == Keyboard.KEY_ESCAPE) {
+ if (Minecraft.getMinecraft().currentScreen instanceof GuiEditSign) {
priceField.setText("");
GuiEditSign editSign = (GuiEditSign) Minecraft.getMinecraft().currentScreen;
- TileEntitySign tes = (TileEntitySign)Utils.getField(GuiEditSign.class, editSign,
+ TileEntitySign tes = (TileEntitySign) Utils.getField(GuiEditSign.class, editSign,
"tileSign", "field_146848_f");
tes.lineBeingEdited = 0;
tes.signText[0] = new ChatComponentText(priceField.getText());
}
return false;
}
- if(Keyboard.getEventKeyState()) return keyTyped(Keyboard.getEventCharacter(), Keyboard.getEventKey());
+ if (Keyboard.getEventKeyState()) return keyTyped(Keyboard.getEventCharacter(), Keyboard.getEventKey());
return true;
}
public boolean keyTyped(char typedChar, int keyCode) {
- if(searchField == null || priceField == null) init();
+ if (searchField == null || priceField == null || priceFilterField == null || binPriceFilterField == null)
+ init();
- if(!isEditingPrice()) {
- if(this.searchField.textboxKeyTyped(typedChar, keyCode)) {
+ if (!isEditingPrice()) {
+ if (this.priceFilterField.textboxKeyTyped(typedChar, keyCode)) {
+ this.updateSearch();
+ return true;
+ }
+ if (this.binPriceFilterField.textboxKeyTyped(typedChar, keyCode)) {
+ this.updateSearch();
+ return true;
+ }
+ if (this.searchField.textboxKeyTyped(typedChar, keyCode)) {
lastSearchFieldUpdate = System.currentTimeMillis();
this.updateSearch();
return true;
}
} else {
- if(!priceField.isFocused()) priceField.setFocused(searchField.isFocused());
+ if (!priceField.isFocused()) priceField.setFocused(searchField.isFocused() && priceFilterField.isFocused());
return priceField.textboxKeyTyped(typedChar, keyCode);
}
return false;
@@ -1385,42 +1558,67 @@ public class CustomAH extends Gui {
private void increasePriceByFactor(float factor) {
String price = priceField.getText().trim();
StringBuilder priceNumbers = new StringBuilder();
- for(int i=0; i<price.length(); i++) {
+ for (int i = 0; i < price.length(); i++) {
char c = price.charAt(i);
- if((int)c >= 48 && (int)c <= 57) {
+ if ((int) c >= 48 && (int) c <= 57) {
priceNumbers.append(c);
} else {
break;
}
}
int priceI = 0;
- if(priceNumbers.length() > 0) {
+ if (priceNumbers.length() > 0) {
priceI = Integer.parseInt(priceNumbers.toString());
}
String end = price.substring(priceNumbers.length());
- priceField.setText((int)(priceI*factor) + end);
+ priceField.setText((int) (priceI * factor) + end);
+ }
+
+ private int getPriceFilterAmount() {
+ return getNumberFromTextBox(priceFilterField);
+ }
+
+ private int getNumberFromTextBox(GuiTextField textField) {
+ if (textField.getText().equals("")) {
+ return -2;
+ }
+ try {
+ int parsed = Integer.parseInt(textField.getText());
+ if (parsed < 0) {
+ return -1;
+ }
+ return parsed;
+ } catch (NumberFormatException e) {
+ return -1;
+ }
+ }
+
+ private int getBinPriceFilterAmount() {
+ return getNumberFromTextBox(binPriceFilterField);
}
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) {
boolean wasFocused = searchField.isFocused();
searchField.mouseClicked(mouseX, mouseY, mouseButton);
- if(mouseButton == 1 && !wasFocused && searchField.isFocused()) {
+ if (mouseButton == 1 && !wasFocused && searchField.isFocused()) {
searchField.setText("");
}
priceField.mouseClicked(mouseX, mouseY, mouseButton);
+ priceFilterField.mouseClicked(mouseX, mouseY, mouseButton);
+ binPriceFilterField.mouseClicked(mouseX, mouseY, mouseButton);
int totalItems = auctionIds.size();
- int itemsScroll = (int)Math.floor((totalItems*scrollAmount)/9f)*9;
+ int itemsScroll = (int) Math.floor((totalItems * scrollAmount) / 9f) * 9;
- int maxItemScroll = Math.max(0, totalItems - (5+splits)*9);
+ int maxItemScroll = Math.max(0, totalItems - (5 + splits) * 9);
itemsScroll = Math.min(itemsScroll, maxItemScroll);
//Categories
- if(mouseY > guiTop-28 && mouseY < guiTop+4) {
- if(mouseX > guiLeft && mouseX < guiLeft+168) {
- int offset = mouseX-guiLeft;
- int clickedCat = offset/28;
- if(clickedMainCategory == clickedCat) {
+ if (mouseY > guiTop - 28 && mouseY < guiTop + 4) {
+ if (mouseX > guiLeft && mouseX < guiLeft + 168) {
+ int offset = mouseX - guiLeft;
+ int clickedCat = offset / 28;
+ if (clickedMainCategory == clickedCat) {
clickedMainCategory = -1;
} else {
clickedMainCategory = clickedCat;
@@ -1432,14 +1630,14 @@ public class CustomAH extends Gui {
}
}
- if(clickedMainCategory >= 0 && clickedMainCategory < mainCategories.length) {
+ if (clickedMainCategory >= 0 && clickedMainCategory < mainCategories.length) {
Category mainCategory = mainCategories[clickedMainCategory];
- if(mouseX > guiLeft-28 && mouseX < guiLeft) {
- int offset = mouseY-(guiTop+17);
- if(offset > 0) {
- int clicked = offset/28-1;
- if(clicked != clickedSubCategory && clicked < mainCategory.subcategories.length) {
+ if (mouseX > guiLeft - 28 && mouseX < guiLeft) {
+ int offset = mouseY - (guiTop + 17);
+ if (offset > 0) {
+ int clicked = offset / 28 - 1;
+ if (clicked != clickedSubCategory && clicked < mainCategory.subcategories.length) {
clickedSubCategory = clicked;
updateSearch();
Utils.playPressSound();
@@ -1449,65 +1647,67 @@ public class CustomAH extends Gui {
}
}
- if(mouseY > guiTop+112+18*splits && mouseY < guiTop+112+18*splits+16) {
- if(mouseX > guiLeft+9 && mouseX < guiLeft+9+controls.length*18-2) {
- int offset = mouseX - (guiLeft+9);
- int index = offset/18;
+ if (mouseY > guiTop + 112 + 18 * splits && mouseY < guiTop + 112 + 18 * splits + 16) {
+ if (mouseX > guiLeft + 9 && mouseX < guiLeft + 9 + controls.length * 18 - 2) {
+ int offset = mouseX - (guiLeft + 9);
+ int index = offset / 18;
boolean rightClicked = Mouse.getEventButton() == 1;
- switch(index) {
+ switch (index) {
case 0:
- if(rightClicked) {
+ if (rightClicked) {
dungeonFilter--;
- if(dungeonFilter < DUNGEON_FILTER_ALL) dungeonFilter = DUNGEON_FILTER_5;
+ if (dungeonFilter < DUNGEON_FILTER_ALL) dungeonFilter = DUNGEON_FILTER_5;
} else {
dungeonFilter++;
- if(dungeonFilter > DUNGEON_FILTER_5) dungeonFilter = DUNGEON_FILTER_ALL;
+ if (dungeonFilter > DUNGEON_FILTER_5) dungeonFilter = DUNGEON_FILTER_ALL;
}
break;
case 1:
- if(rightClicked) {
+ if (rightClicked) {
sortMode--;
- if(sortMode < SORT_MODE_HIGH) sortMode = SORT_MODE_SOON;
+ if (sortMode < SORT_MODE_HIGH) sortMode = SORT_MODE_SOON;
} else {
sortMode++;
- if(sortMode > SORT_MODE_SOON) sortMode = SORT_MODE_HIGH;
+ if (sortMode > SORT_MODE_SOON) sortMode = SORT_MODE_HIGH;
}
break;
case 2:
- if(rightClicked) {
+ if (rightClicked) {
rarityFilter--;
- if(rarityFilter < -1) rarityFilter = rarities.length-1;
+ if (rarityFilter < -1) rarityFilter = rarities.length - 1;
} else {
rarityFilter++;
- if(rarityFilter >= rarities.length) rarityFilter = -1;
+ if (rarityFilter >= rarities.length) rarityFilter = -1;
}
break;
- case 3: break;
+ case 3:
+ break;
case 4:
filterMyAuctions = !filterMyAuctions;
break;
- case 5: break;
+ case 5:
+ break;
case 6:
- if(rightClicked) {
+ if (rightClicked) {
binFilter--;
- if(binFilter < BIN_FILTER_ALL) binFilter = BIN_FILTER_AUC;
+ if (binFilter < BIN_FILTER_ALL) binFilter = BIN_FILTER_AUC;
} else {
binFilter++;
- if(binFilter > BIN_FILTER_AUC) binFilter = BIN_FILTER_ALL;
+ if (binFilter > BIN_FILTER_AUC) binFilter = BIN_FILTER_ALL;
}
break;
case 7:
- if(rightClicked) {
+ if (rightClicked) {
enchFilter--;
- if(enchFilter < ENCH_FILTER_ALL) enchFilter = ENCH_FILTER_ENCHHPB;
+ if (enchFilter < ENCH_FILTER_ALL) enchFilter = ENCH_FILTER_ENCHHPB;
} else {
enchFilter++;
- if(enchFilter > ENCH_FILTER_ENCHHPB) enchFilter = ENCH_FILTER_ALL;
+ if (enchFilter > ENCH_FILTER_ENCHHPB) enchFilter = ENCH_FILTER_ALL;
}
break;
case 8:
- if(rightClicked) {
- if(currentAucId != null) {
+ if (rightClicked) {
+ if (currentAucId != null) {
StringSelection selection = new StringSelection(niceAucId(currentAucId));
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(selection, selection);
}
@@ -1519,63 +1719,66 @@ public class CustomAH extends Gui {
Utils.playPressSound();
}
}
-
- if(mouseButton == 0 && Minecraft.getMinecraft().currentScreen instanceof GuiChest) {
+ boolean hasPopup = false;
+ if (mouseButton == 0 && Minecraft.getMinecraft().currentScreen instanceof GuiChest) {
+ hasPopup = true;
GuiChest auctionView = (GuiChest) Minecraft.getMinecraft().currentScreen;
ContainerChest container = (ContainerChest) auctionView.inventorySlots;
String containerName = container.getLowerChestInventory().getDisplayName().getUnformattedText();
- if(containerName.trim().equals("Auction View") || containerName.trim().equals("BIN Auction View")) {
- if(mouseX > guiLeft+getXSize()+4+31 && mouseX < guiLeft+getXSize()+4+31+16) {
+
+ if (containerName.trim().equals("Auction View") || containerName.trim().equals("BIN Auction View")) {
+
+ if (mouseX > guiLeft + getXSize() + 4 + 31 && mouseX < guiLeft + getXSize() + 4 + 31 + 16) {
boolean leftFiller = isGuiFiller(auctionView.inventorySlots.getSlot(29).getStack());//isBin
- if(mouseY > guiTop+35 && mouseY < guiTop+35+16) {
+ if (mouseY > guiTop + 35 && mouseY < guiTop + 35 + 16) {
ItemStack topStack = auctionView.inventorySlots.getSlot(13).getStack();
- if(topStack != null) {
- String line = findStrStart(topStack, EnumChatFormatting.GRAY+"Seller: ");
+ if (topStack != null) {
+ String line = findStrStart(topStack, EnumChatFormatting.GRAY + "Seller: ");
String[] split = line.split(" ");
- String seller = split[split.length-1];
+ String seller = split[split.length - 1];
StringSelection selection = new StringSelection(seller);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(selection, selection);
}
- } else if(mouseY > guiTop+100 && mouseY < guiTop+100+16) {
- int slotClick = leftFiller ? 31 : 29;
+ } else if (mouseY > guiTop + 100 && mouseY < guiTop + 100 + 16) {
+ int slotClick = leftFiller ? 31 : 29;
Minecraft.getMinecraft().playerController.windowClick(auctionView.inventorySlots.windowId,
slotClick, 2, 3, Minecraft.getMinecraft().thePlayer);
- if(!leftFiller) {
- if(auctionView.inventorySlots.getSlot(29).getStack()
- .getDisplayName().trim().equals(EnumChatFormatting.GOLD+"Collect Auction")) {
+ if (!leftFiller) {
+ if (auctionView.inventorySlots.getSlot(29).getStack()
+ .getDisplayName().trim().equals(EnumChatFormatting.GOLD + "Collect Auction")) {
manager.auctionManager.getPlayerBids().remove(currentAucId);
auctionIds.remove(currentAucId);
}
}
Utils.playPressSound();
- } else if(mouseY > guiTop+126 && mouseY < guiTop+126+16 && !leftFiller) {
+ } else if (mouseY > guiTop + 126 && mouseY < guiTop + 126 + 16 && !leftFiller) {
priceField.setFocused(true);
Minecraft.getMinecraft().playerController.windowClick(auctionView.inventorySlots.windowId,
31, 2, 3, Minecraft.getMinecraft().thePlayer);
Utils.playPressSound();
}
}
- } else if(containerName.trim().equals("Confirm Bid") || containerName.trim().equals("Confirm Purchase")) {
- if(mouseX > guiLeft+getXSize()+4+31 && mouseX < guiLeft+getXSize()+4+31+16) {
- if(mouseY > guiTop+31 && mouseY < guiTop+31+16) {
- if(currentAucId != null) {
+ } else if (containerName.trim().equals("Confirm Bid") || containerName.trim().equals("Confirm Purchase")) {
+ if (mouseX > guiLeft + getXSize() + 4 + 31 && mouseX < guiLeft + getXSize() + 4 + 31 + 16) {
+ if (mouseY > guiTop + 31 && mouseY < guiTop + 31 + 16) {
+ if (currentAucId != null) {
manager.auctionManager.getPlayerBids().add(currentAucId);
latestBid = currentAucId;
latestBidMillis = System.currentTimeMillis();
//reset timer to 2m if below
- if(manager.auctionManager.getAuctionItems().get(currentAucId) != null &&
+ if (manager.auctionManager.getAuctionItems().get(currentAucId) != null &&
manager.auctionManager.getAuctionItems().get(currentAucId).end -
- System.currentTimeMillis() < 2*60*1000) {
+ System.currentTimeMillis() < 2 * 60 * 1000) {
manager.auctionManager.getAuctionItems().get(currentAucId).end =
- System.currentTimeMillis() + 2*60*1000;
+ System.currentTimeMillis() + 2 * 60 * 1000;
}
}
Minecraft.getMinecraft().playerController.windowClick(auctionView.inventorySlots.windowId,
11, 2, 3, Minecraft.getMinecraft().thePlayer);
- } else if(mouseY > guiTop+125 && mouseY < guiTop+125+16) {
+ } else if (mouseY > guiTop + 125 && mouseY < guiTop + 125 + 16) {
Minecraft.getMinecraft().playerController.windowClick(auctionView.inventorySlots.windowId,
15, 2, 3, Minecraft.getMinecraft().thePlayer);
}
@@ -1583,12 +1786,13 @@ public class CustomAH extends Gui {
}
}
}
- if(mouseButton == 0 && isEditingPrice()) {
- int auctionViewLeft = guiLeft+getXSize()+4;
+ int auctionViewLeft = guiLeft + getXSize() + 4;
+
+ if (mouseButton == 0 && isEditingPrice()) {
- if(mouseX > auctionViewLeft+16 && mouseX < auctionViewLeft+16+64) {
- if(mouseY > guiTop+32 && mouseY < guiTop+32+16) {
- if(mouseX < auctionViewLeft+16+32) {
+ if (mouseX > auctionViewLeft + 16 && mouseX < auctionViewLeft + 16 + 64) {
+ if (mouseY > guiTop + 32 && mouseY < guiTop + 32 + 16) {
+ if (mouseX < auctionViewLeft + 16 + 32) {
//top left
increasePriceByFactor(2);
Utils.playPressSound();
@@ -1597,8 +1801,8 @@ public class CustomAH extends Gui {
increasePriceByFactor(1.5f);
Utils.playPressSound();
}
- } else if(mouseY > guiTop+50 && mouseY < guiTop+50+16) {
- if(mouseX < auctionViewLeft+16+32) {
+ } else if (mouseY > guiTop + 50 && mouseY < guiTop + 50 + 16) {
+ if (mouseX < auctionViewLeft + 16 + 32) {
//mid left
increasePriceByFactor(1.25f);
Utils.playPressSound();
@@ -1607,42 +1811,82 @@ public class CustomAH extends Gui {
increasePriceByFactor(1.1f);
Utils.playPressSound();
}
- } else if(mouseY > guiTop+68 && mouseY < guiTop+68+16) {
+ } else if (mouseY > guiTop + 68 && mouseY < guiTop + 68 + 16) {
//bottom
Utils.playPressSound();
Minecraft.getMinecraft().displayGuiScreen(null);
}
}
- this.drawTexturedModalRect(auctionViewLeft+16, guiTop+32, 0, 16, 30, 16);
- this.drawTexturedModalRect(auctionViewLeft+16+34, guiTop+32, 0, 16, 30, 16);
- this.drawTexturedModalRect(auctionViewLeft+16, guiTop+50, 0, 16, 30, 16);
- this.drawTexturedModalRect(auctionViewLeft+16+34, guiTop+50, 0, 16, 30, 16);
- this.drawTexturedModalRect(auctionViewLeft+16, guiTop+68, 0, 32, 64, 16);
- }
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 32, 0, 16, 30, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16 + 34, guiTop + 32, 0, 16, 30, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 50, 0, 16, 30, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16 + 34, guiTop + 50, 0, 16, 30, 16);
+ this.drawTexturedModalRect(auctionViewLeft + 16, guiTop + 68, 0, 32, 64, 16);
+ } else if (!hasPopup && NotEnoughUpdates.INSTANCE.config.neuAuctionHouse.priceFiltering) {
+ if (mouseX > auctionViewLeft + 16 && mouseX < auctionViewLeft + 16 + 64) {
+ if (mouseY > guiTop + 32 && mouseY < guiTop + 32 + 16) {
+ if (mouseX < auctionViewLeft + 16 + 32) {
+ //top left
+ currentPriceFilterType = PriceFilter.Less;
+ } else {
+ //top right
+ currentPriceFilterType = PriceFilter.Greater;
+ }
+ Utils.playPressSound();
+ updateSearch();
+ } else if (mouseY > guiTop + 50 && mouseY < guiTop + 50 + 16) {
+ //middle
+ currentPriceFilterType = PriceFilter.Equal;
+ Utils.playPressSound();
+ updateSearch();
+ }
+ }
+
+ if (mouseX > auctionViewLeft + 16 && mouseX < auctionViewLeft + 16 + 64) {
+ if (mouseY > guiTop + 32 + binPriceFilterYOffset && mouseY < guiTop + 32 + 16 + binPriceFilterYOffset) {
+ if (mouseX < auctionViewLeft + 16 + 32) {
+ //top left
+ currentBinPriceFilterType = PriceFilter.Less;
+ } else {
+ //top right
+ currentBinPriceFilterType = PriceFilter.Greater;
+ }
+ Utils.playPressSound();
+ updateSearch();
+ } else if (mouseY > guiTop + 50 + binPriceFilterYOffset && mouseY < guiTop + 50 + 16 + binPriceFilterYOffset) {
+ //middle
+ currentBinPriceFilterType = PriceFilter.Equal;
+ Utils.playPressSound();
+ updateSearch();
+ }
+ }
+ }
out:
- for(int i=0; i<5+splits; i++) {
- int itemY = guiTop + i*18 + 18;
- for(int j=0; j<9; j++) {
- int itemX = guiLeft + j*18 + 9;
- int id = itemsScroll + i*9 + j;
- if(auctionIds.size() <= id) break out;
+ for (int i = 0; i < 5 + splits; i++) {
+ int itemY = guiTop + i * 18 + 18;
+ for (int j = 0; j < 9; j++) {
+ int itemX = guiLeft + j * 18 + 9;
+ int id = itemsScroll + i * 9 + j;
+ if (auctionIds.size() <= id) break out;
String aucid;
try {
aucid = sortedAuctionIds.get(id);
- } catch (IndexOutOfBoundsException e) { break out; }
+ } catch (IndexOutOfBoundsException e) {
+ break out;
+ }
- if(aucid == null) continue;
+ if (aucid == null) continue;
APIManager.Auction auc = manager.auctionManager.getAuctionItems().get(aucid);
- if(auc != null) {
- if(mouseX > itemX && mouseX < itemX+16) {
- if(mouseY > itemY && mouseY < itemY+16) {
- if(Minecraft.getMinecraft().currentScreen instanceof GuiEditSign) {
+ if (auc != null) {
+ if (mouseX > itemX && mouseX < itemX + 16) {
+ if (mouseY > itemY && mouseY < itemY + 16) {
+ if (Minecraft.getMinecraft().currentScreen instanceof GuiEditSign) {
priceField.setText("");
GuiEditSign editSign = (GuiEditSign) Minecraft.getMinecraft().currentScreen;
- TileEntitySign tes = (TileEntitySign)Utils.getField(GuiEditSign.class, editSign,
+ TileEntitySign tes = (TileEntitySign) Utils.getField(GuiEditSign.class, editSign,
"tileSign", "field_146848_f");
tes.lineBeingEdited = 0;
tes.signText[0] = new ChatComponentText(priceField.getText());
@@ -1651,7 +1895,7 @@ public class CustomAH extends Gui {
currAucIdSetTimer = System.currentTimeMillis();
currentAucId = aucid;
- Minecraft.getMinecraft().thePlayer.sendChatMessage("/viewauction "+niceAucId(aucid));
+ Minecraft.getMinecraft().thePlayer.sendChatMessage("/viewauction " + niceAucId(aucid));
Utils.playPressSound();
}
}
@@ -1659,9 +1903,9 @@ public class CustomAH extends Gui {
}
}
- int y = guiTop+18+(int)((95+ySplitSize*2)*scrollAmount);
- if(mouseX > guiLeft+175 && mouseX < guiLeft+175+12) {
- if(mouseY > y && mouseY < y+15) {
+ int y = guiTop + 18 + (int) ((95 + ySplitSize * 2) * scrollAmount);
+ if (mouseX > guiLeft + 175 && mouseX < guiLeft + 175 + 12) {
+ if (mouseY > y && mouseY < y + 15) {
scrollClicked = true;
return;
}
@@ -1674,11 +1918,11 @@ public class CustomAH extends Gui {
}
protected void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) {
- if(scrollClicked) {
- int yMin = guiTop+18 + 8;
- int yMax = guiTop+18+(95+ySplitSize*2) + 8;
+ if (scrollClicked) {
+ int yMin = guiTop + 18 + 8;
+ int yMax = guiTop + 18 + (95 + ySplitSize * 2) + 8;
- scrollAmount = (mouseY-yMin)/(float)(yMax-yMin);
+ scrollAmount = (mouseY - yMin) / (float) (yMax - yMin);
scrollAmount = Math.max(0, Math.min(1, scrollAmount));
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
index 2ff43bd8..6e2f2dfd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
@@ -1328,6 +1328,14 @@ public class NEUConfig extends Config {
minStep = 1f
)
public int ahNotification = 5;
+
+ @Expose
+ @ConfigOption(
+ name = "Price Filtering in NEU AH",
+ desc = "The ability to filter the price of items and their respective average BIN values"
+ )
+ @ConfigEditorBoolean
+ public boolean priceFiltering = false;
}
public static class ImprovedSBMenu {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java b/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java
index f7d5157f..293a9536 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/HypixelApi.java
@@ -27,7 +27,7 @@ public class HypixelApi {
private static final int FAILS_BEFORE_SWITCH = 3;
private int currentUrl = 0;
private long lastPrimaryUrl = 0;
- private final String[] myApiURLs = {"https://moulberry.codes/"};//, "http://moulberry.codes/", "http://51.79.51.21/"};//, "http://51.75.78.252/" };
+ private final String[] myApiURLs = {"http://51.79.51.21/"};//, "http://moulberry.codes/", "/"};//, "http://51.75.78.252/" };
private final Integer[] myApiSuccesses = {0, 0, 0, 0};
public void getHypixelApiAsync(String apiKey, String method, HashMap<String, String> args, Consumer<JsonObject> consumer) {