diff options
| author | BuildTools <james.jenour@protonmail.com> | 2021-01-28 23:36:00 +0800 |
|---|---|---|
| committer | BuildTools <james.jenour@protonmail.com> | 2021-01-28 23:36:00 +0800 |
| commit | 659a0e4981640802058d9eef35fec16fab82c5f2 (patch) | |
| tree | 062c599660c17cdbc843cb2734f3b797a017dfee /src/main/java | |
| parent | 64959d248b383375274628b5e8d83cd7f9c4e96d (diff) | |
| download | NotEnoughUpdates-659a0e4981640802058d9eef35fec16fab82c5f2.tar.gz NotEnoughUpdates-659a0e4981640802058d9eef35fec16fab82c5f2.tar.bz2 NotEnoughUpdates-659a0e4981640802058d9eef35fec16fab82c5f2.zip | |
PRE12
Diffstat (limited to 'src/main/java')
24 files changed, 872 insertions, 154 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java index 4682a744..9e31c19e 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java @@ -3,20 +3,23 @@ package io.github.moulberry.notenoughupdates; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import com.mojang.authlib.GameProfile; +import com.mojang.authlib.minecraft.MinecraftProfileTexture; import io.github.moulberry.notenoughupdates.auction.CustomAHGui; +import io.github.moulberry.notenoughupdates.core.config.Position; import io.github.moulberry.notenoughupdates.cosmetics.CapeManager; import io.github.moulberry.notenoughupdates.dungeons.DungeonBlocks; import io.github.moulberry.notenoughupdates.dungeons.DungeonWin; import io.github.moulberry.notenoughupdates.gamemodes.SBGamemodes; import io.github.moulberry.notenoughupdates.miscfeatures.*; import io.github.moulberry.notenoughupdates.miscgui.*; +import io.github.moulberry.notenoughupdates.mixins.MinecraftAccessor; +import io.github.moulberry.notenoughupdates.overlays.CommissionOverlay; +import io.github.moulberry.notenoughupdates.overlays.FarmingOverlay; import io.github.moulberry.notenoughupdates.profileviewer.GuiProfileViewer; import io.github.moulberry.notenoughupdates.overlays.TextOverlay; import io.github.moulberry.notenoughupdates.overlays.TextOverlayStyle; -import io.github.moulberry.notenoughupdates.util.Constants; -import io.github.moulberry.notenoughupdates.util.RequestFocusListener; -import io.github.moulberry.notenoughupdates.util.SBInfo; -import io.github.moulberry.notenoughupdates.util.Utils; +import io.github.moulberry.notenoughupdates.util.*; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.Gui; @@ -27,17 +30,21 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.gui.inventory.GuiEditSign; import net.minecraft.client.network.NetworkPlayerInfo; import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.texture.ITextureObject; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.event.ClickEvent; import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.inventory.ContainerChest; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTUtil; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.*; import net.minecraftforge.event.entity.player.EntityInteractEvent; import net.minecraftforge.event.entity.player.ItemTooltipEvent; @@ -46,6 +53,7 @@ import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.text.WordUtils; import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; @@ -56,9 +64,12 @@ import java.awt.*; import java.awt.datatransfer.StringSelection; import java.io.File; import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URL; import java.text.NumberFormat; import java.util.List; import java.util.*; +import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -146,6 +157,7 @@ public class NEUEventListener { } return TextOverlayStyle.BACKGROUND; })); + textOverlays.add(new FarmingOverlay(new Position(20, 300), () -> TextOverlayStyle.BACKGROUND)); } /** @@ -153,14 +165,37 @@ public class NEUEventListener { * This is used in order to prevent the mod spamming messages. * 2)Adds unique items to the collection log */ + private boolean preloadedItems = false; private long lastLongUpdate = 0; private long lastSkyblockScoreboard = 0; + + private final ExecutorService itemPreloader = Executors.newFixedThreadPool(10); + private final List<ItemStack> toPreload = new ArrayList<>(); + @SubscribeEvent public void onTick(TickEvent.ClientTickEvent event) { if(event.phase != TickEvent.Phase.START) return; if(Minecraft.getMinecraft().theWorld == null) return; if(Minecraft.getMinecraft().thePlayer == null) return; + if(neu.hasSkyblockScoreboard()) { + if(!preloadedItems) { + preloadedItems = true; + for(JsonObject json : neu.manager.getItemInformation().values()) { + itemPreloader.submit(() -> { + ItemStack stack = neu.manager.jsonToStack(json, true, true); + if(stack.getItem() == Items.skull) toPreload.add(stack); + }); + } + } else if(!toPreload.isEmpty()) { + System.out.println("Preload size:"+toPreload.size()); + Utils.drawItemStack(toPreload.get(0), -100, -100); + toPreload.remove(0); + } else { + itemPreloader.shutdown(); + } + } + boolean longUpdate = false; long currentTime = System.currentTimeMillis(); if(currentTime - lastLongUpdate > 1000) { @@ -176,6 +211,8 @@ public class NEUEventListener { DwarvenMinesTextures.tick(); FairySouls.tick(); MiningStuff.tick(); + ProfileApiSyncer.getInstance().tick(); + DamageCommas.tick(); for(TextOverlay overlay : textOverlays) { overlay.tick(); } @@ -285,6 +322,9 @@ public class NEUEventListener { neu.manager.auctionManager.markNeedsUpdate(); } } + + + /*if(longUpdate && neu.hasSkyblockScoreboard()) { if(neu.manager.getCurrentProfile() == null || neu.manager.getCurrentProfile().length() == 0) { ProfileViewer.Profile profile = NotEnoughUpdates.profileViewer.getProfile(Minecraft.getMinecraft().thePlayer.getUniqueID().toString().replace("-", ""), @@ -777,6 +817,8 @@ public class NEUEventListener { } private void renderDungeonChestOverlay(GuiScreen gui) { + if(neu.config.dungeonProfit.profitDisplayLoc == 3) return; + if(gui instanceof GuiChest && neu.config.dungeonProfit.profitDisplayLoc != 2) { try { int xSize = (int) Utils.getField(GuiContainer.class, gui, "xSize", "field_146999_f"); @@ -815,9 +857,10 @@ public class NEUEventListener { internal = internal.replace("\u00CD", "I").replace("\u0130", "I"); float bazaarPrice = -1; JsonObject bazaarInfo = neu.manager.auctionManager.getBazaarInfo(internal); - if(bazaarInfo != null && bazaarInfo.has("avg_sell")) { - bazaarPrice = bazaarInfo.get("avg_sell").getAsFloat(); + if(bazaarInfo != null && bazaarInfo.has("curr_sell")) { + bazaarPrice = bazaarInfo.get("curr_sell").getAsFloat(); } + if(bazaarPrice < 5000000 && internal.equals("RECOMBOBULATOR_3000")) bazaarPrice = 5000000; float worth = -1; if(bazaarPrice > 0) { @@ -918,8 +961,10 @@ public class NEUEventListener { if(neu.config.dungeonProfit.profitDisplayLoc == 1 && !valueStringBIN2.equals(missingItem)) { int w = Minecraft.getMinecraft().fontRendererObj.getStringWidth(plStringBIN); GlStateManager.disableLighting(); + GlStateManager.translate(0, 0, 200); Minecraft.getMinecraft().fontRendererObj.drawString(plStringBIN, guiLeft+xSize-5-w, guiTop+5, 0xffffffff, true); + GlStateManager.translate(0, 0, -200); return; } @@ -1440,9 +1485,10 @@ public class NEUEventListener { internal = internal.replace("\u00CD", "I").replace("\u0130", "I"); float bazaarPrice = -1; JsonObject bazaarInfo = neu.manager.auctionManager.getBazaarInfo(internal); - if(bazaarInfo != null && bazaarInfo.has("avg_sell")) { - bazaarPrice = bazaarInfo.get("avg_sell").getAsFloat(); + if(bazaarInfo != null && bazaarInfo.has("curr_sell")) { + bazaarPrice = bazaarInfo.get("curr_sell").getAsFloat(); } + if(bazaarPrice < 5000000 && internal.equals("RECOMBOBULATOR_3000")) bazaarPrice = 5000000; float worth = -1; if(bazaarPrice > 0) { diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java index 668ac1fe..0381a70a 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java @@ -27,6 +27,7 @@ import java.nio.charset.StandardCharsets; import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.ThreadPoolExecutor; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -172,8 +173,6 @@ public class NEUManager { }*/ - - Thread thread = new Thread(() -> { JDialog dialog = null; try { @@ -277,7 +276,6 @@ public class NEUManager { } }); - System.out.println("finished thread create"); File items = new File(repoLocation, "items"); if(items.exists()) { File[] itemFiles = new File(repoLocation, "items").listFiles(); @@ -652,6 +650,8 @@ public class NEUManager { if(ea.hasKey("id", 8)) { internalname = ea.getString("id").replaceAll(":", "-"); + } else { + return null; } if("PET".equals(internalname)) { @@ -1313,28 +1313,25 @@ public class NEUManager { } public ItemStack jsonToStack(JsonObject json, boolean useCache) { - return jsonToStack(json, useCache, true, false); + return jsonToStack(json, useCache, true); } - private static ExecutorService asyncItemES = Executors.newFixedThreadPool(10); - public ItemStack jsonToStack(JsonObject json, boolean useCache, boolean useReplacements, boolean multithread) { + public ItemStack jsonToStack(JsonObject json, boolean useCache, boolean useReplacements) { + return jsonToStack(json, useCache, useReplacements, true); + } + + public ItemStack jsonToStack(JsonObject json, boolean useCache, boolean useReplacements, boolean copyStack) { if(json == null) return new ItemStack(Items.painting, 1, 10); String internalname = json.get("internalname").getAsString(); if(useCache) { - if(itemstackCache.containsKey(internalname)) { - ItemStack stack = itemstackCache.get(internalname); - if(stack == null) { - if(multithread) { - return null; - } - } else { + ItemStack stack = itemstackCache.get(internalname); + if(stack != null) { + if(copyStack) { return stack.copy(); + } else { + return stack; } - } else if(multithread) { - asyncItemES.submit(() -> jsonToStack(json, true, useReplacements, false)); - itemstackCache.put(internalname, null); - return null; } } @@ -1385,7 +1382,11 @@ public class NEUManager { } if(useCache) itemstackCache.put(internalname, stack); - return stack; + if(copyStack) { + return stack.copy(); + } else { + return stack; + } } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java index 9012e67e..cd81da0b 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java @@ -54,6 +54,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; @@ -264,8 +266,7 @@ public class NEUOverlay extends Gui { @Override public void mouseClick(float x, float y, int mouseX, int mouseY) { if(Mouse.getEventButtonState()) { - Minecraft.getMinecraft().thePlayer.closeScreen(); - Minecraft.getMinecraft().displayGuiScreen(new GuiScreenElementWrapper(new NEUConfigEditor(NotEnoughUpdates.INSTANCE.config))); + NotEnoughUpdates.INSTANCE.openGui = new GuiScreenElementWrapper(new NEUConfigEditor(NotEnoughUpdates.INSTANCE.config)); } } @@ -415,7 +416,7 @@ public class NEUOverlay extends Gui { extraScale = 1.3f; } else if(manager.getItemInformation().containsKey(display)) { - render = manager.jsonToStack(manager.getItemInformation().get(display)); + render = manager.jsonToStack(manager.getItemInformation().get(display), true, true); } else { Item item = Item.itemRegistry.getObject(new ResourceLocation(display.toLowerCase())); if(item != null) { @@ -1148,6 +1149,8 @@ public class NEUOverlay extends Gui { private HashMap<String, JsonObject> parentMap = new HashMap<>(); + private ExecutorService searchES = Executors.newSingleThreadExecutor(); + /** * Clears the current item list, creating a new TreeSet if necessary. * Adds all items that match the search AND match the sort mode to the current item list. @@ -1156,69 +1159,77 @@ public class NEUOverlay extends Gui { public void updateSearch() { SunTzu.randomizeQuote(); - if(searchedItems==null) searchedItems = new TreeSet<>(getItemComparator()); - searchedItems.clear(); - searchedItemsSubgroup.clear(); - searchedItemsArr = null; - redrawItems = true; - Set<JsonObject> removeChildItems = new HashSet<>(); - Set<String> itemsMatch = manager.search(textField.getText(), true); - for(String itemname : itemsMatch) { - JsonObject item = manager.getItemInformation().get(itemname); - if(checkMatchesSort(itemname, item)) { - if(Constants.PARENTS != null) { - if(Constants.PARENTS.has(itemname) && Constants.PARENTS.get(itemname).isJsonArray()) { - List<String> children = new ArrayList<>(); - for(JsonElement e : Constants.PARENTS.get(itemname).getAsJsonArray()) { - if(e.isJsonPrimitive()) { - children.add(e.getAsString()); + if(searchedItems == null) searchedItems = new TreeSet<>(getItemComparator()); + + searchES.submit(() -> { + TreeSet<JsonObject> searchedItems = new TreeSet<>(getItemComparator()); + HashMap<String, List<String>> searchedItemsSubgroup = new HashMap<>(); + + Set<JsonObject> removeChildItems = new HashSet<>(); + Set<String> itemsMatch = manager.search(textField.getText(), true); + for(String itemname : itemsMatch) { + JsonObject item = manager.getItemInformation().get(itemname); + if(checkMatchesSort(itemname, item)) { + if(Constants.PARENTS != null) { + if(Constants.PARENTS.has(itemname) && Constants.PARENTS.get(itemname).isJsonArray()) { + List<String> children = new ArrayList<>(); + for(JsonElement e : Constants.PARENTS.get(itemname).getAsJsonArray()) { + if(e.isJsonPrimitive()) { + children.add(e.getAsString()); + } } + children.retainAll(itemsMatch); + for(String child : children) { + removeChildItems.add(manager.getItemInformation().get(child)); + } + searchedItemsSubgroup.put(itemname, children); } - children.retainAll(itemsMatch); - for(String child : children) { - removeChildItems.add(manager.getItemInformation().get(child)); - } - searchedItemsSubgroup.put(itemname, children); } + searchedItems.add(item); } - searchedItems.add(item); } - } - searchedItems.removeAll(removeChildItems); - out: - for(Map.Entry<String, List<String>> entry : searchedItemsSubgroup.entrySet()) { - if(searchedItems.contains(manager.getItemInformation().get(entry.getKey()))) { - continue; + searchedItems.removeAll(removeChildItems); + out: + for(Map.Entry<String, List<String>> entry : searchedItemsSubgroup.entrySet()) { + if(searchedItems.contains(manager.getItemInformation().get(entry.getKey()))) { + continue; + } + for(String itemname : entry.getValue()) { + JsonObject item = manager.getItemInformation().get(itemname); + if(item != null) searchedItems.add(item); + } } - for(String itemname : entry.getValue()) { - JsonObject item = manager.getItemInformation().get(itemname); - if(item != null) searchedItems.add(item); + switch(textField.getText().toLowerCase().trim()) { + case "nullzee": + searchedItems.add(CustomItems.NULLZEE); + break; + case "rune": + searchedItems.add(CustomItems.RUNE); + break; + case "2b2t": + searchedItems.add(CustomItems.TWOBEETWOTEE); + break; + case "ducttape": + case "ducttapedigger": + searchedItems.add(CustomItems.DUCTTAPE); + break; + case "thirtyvirus": + searchedItems.add(manager.getItemInformation().get("SPIKED_BAIT")); + break; + case "leocthl": + searchedItems.add(CustomItems.LEOCTHL); + break; + case "spinaxx": + searchedItems.add(CustomItems.SPINAXX); + break; } - } - switch(textField.getText().toLowerCase().trim()) { - case "nullzee": - searchedItems.add(CustomItems.NULLZEE); - break; - case "rune": - searchedItems.add(CustomItems.RUNE); - break; - case "2b2t": - searchedItems.add(CustomItems.TWOBEETWOTEE); - break; - case "ducttape": - case "ducttapedigger": - searchedItems.add(CustomItems.DUCTTAPE); - break; - case "thirtyvirus": - searchedItems.add(manager.getItemInformation().get("SPIKED_BAIT")); - break; - case "leocthl": - searchedItems.add(CustomItems.LEOCTHL); - break; - case "spinaxx": - searchedItems.add(CustomItems.SPINAXX); - break; - } + + this.searchedItems = searchedItems; + this.searchedItemsSubgroup = searchedItemsSubgroup; + + searchedItemsArr = null; + redrawItems = true; + }); } /** @@ -1512,8 +1523,6 @@ public class NEUOverlay extends Gui { * is enabled) */ public void renderOverlay() { - GlStateManager.enableDepth(); - int width = Utils.peekGuiScale().getScaledWidth(); int height = Utils.peekGuiScale().getScaledHeight(); int mouseX = Mouse.getX() * width / Minecraft.getMinecraft().displayWidth; @@ -1610,6 +1619,8 @@ public class NEUOverlay extends Gui { if(disabled) { return; } + GlStateManager.enableDepth(); + FontRenderer fr = Minecraft.getMinecraft().fontRendererObj; Utils.resetGuiScale(); @@ -2086,8 +2097,11 @@ public class NEUOverlay extends Gui { iterateItemSlots(new ItemSlotConsumer() { public void consume(int x, int y, int id) { JsonObject json = getSearchedItemPage(id); - ItemStack stack = manager.jsonToStack(json, true, true, true); - if (json == null || stack == null || !stack.hasEffect()) { + if(json == null) { + return; + } + ItemStack stack = manager.jsonToStack(json, true, true, false); + if (stack == null || !stack.hasEffect()) { return; } @@ -2241,7 +2255,7 @@ public class NEUOverlay extends Gui { renderEntity(x + ITEM_SIZE / 2, y + ITEM_SIZE, scale, name, entities); } else { if(!items) return; - ItemStack stack = manager.jsonToStack(json, true, true, true); + ItemStack stack = manager.jsonToStack(json, true, true, false); if(stack != null) { if(glint) { Utils.drawItemStack(stack, x, y); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java index f2f41b17..b70dcc24 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java @@ -31,6 +31,7 @@ import io.github.moulberry.notenoughupdates.profileviewer.ProfileViewer; import io.github.moulberry.notenoughupdates.util.SBInfo; import io.github.moulberry.notenoughupdates.util.Constants; import io.github.moulberry.notenoughupdates.util.Utils; +import io.github.moulberry.notenoughupdates.util.XPInformation; import net.minecraft.block.material.MapColor; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; @@ -909,6 +910,7 @@ public class NotEnoughUpdates { MinecraftForge.EVENT_BUS.register(new DwarvenMinesTextures()); MinecraftForge.EVENT_BUS.register(new DwarvenMinesWaypoints()); MinecraftForge.EVENT_BUS.register(new FuelBar()); + MinecraftForge.EVENT_BUS.register(XPInformation.getInstance()); ClientCommandHandler.instance.registerCommand(collectionLogCommand); ClientCommandHandler.instance.registerCommand(cosmeticsCommand); @@ -920,7 +922,7 @@ public class NotEnoughUpdates { ClientCommandHandler.instance.registerCommand(joinDungeonCommand); ClientCommandHandler.instance.registerCommand(viewProfileCommand); ClientCommandHandler.instance.registerCommand(viewProfileShortCommand); - ClientCommandHandler.instance.registerCommand(viewCataCommand); + if(!Loader.isModLoaded("skyblockextras")) ClientCommandHandler.instance.registerCommand(viewCataCommand); ClientCommandHandler.instance.registerCommand(peekCommand); ClientCommandHandler.instance.registerCommand(tutorialCommand); ClientCommandHandler.instance.registerCommand(overlayPlacementsCommand); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java index 993eb78b..fa51cdca 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java @@ -23,7 +23,10 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemMap; import net.minecraft.item.ItemStack; +import net.minecraft.scoreboard.Score; +import net.minecraft.scoreboard.ScoreObjective; import net.minecraft.scoreboard.ScorePlayerTeam; +import net.minecraft.scoreboard.Scoreboard; import net.minecraft.util.*; import net.minecraft.world.storage.MapData; import net.minecraftforge.client.event.RenderGameOverlayEvent; @@ -83,6 +86,7 @@ public class DungeonMap { private Map<String, MapPosition> playerEntityMapPositions = new HashMap<>(); private Map<String, MapPosition> playerMarkerMapPositions = new HashMap<>(); + private Set<MapPosition> rawPlayerMarkerMapPositions = new HashSet<>(); private Map<String, MapPosition> playerMarkerMapPositionsLast = new HashMap<>(); private Map<String, ResourceLocation> playerSkinMap = new HashMap<>(); @@ -586,7 +590,7 @@ public class DungeonMap { float angle = pos.rotation; boolean doInterp = NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPlayerInterp; - if(playerEntityMapPositions.containsKey(name)) { + if(!isFloorOne && playerEntityMapPositions.containsKey(name)) { MapPosition entityPos = playerEntityMapPositions.get(name); angle = entityPos.rotation; @@ -994,6 +998,7 @@ public class DungeonMap { } } + private boolean isFloorOne = false; private boolean failMap = false; private long lastClearCache = 0; public void renderMap(int centerX, int centerY, Color[][] colourMap, Map<String, Vec4b> mapDecorations, @@ -1014,6 +1019,25 @@ public class DungeonMap { failMap = false; |
