aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide')
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/nyu/RootConfigPanel.java10
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java4
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java24
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/gui/MPanel.java1
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java1
5 files changed, 27 insertions, 13 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/nyu/RootConfigPanel.java b/src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/nyu/RootConfigPanel.java
index b81d96a2..4d99a8bc 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/nyu/RootConfigPanel.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/config/guiconfig/nyu/RootConfigPanel.java
@@ -19,6 +19,10 @@
package kr.syeyoung.dungeonsguide.config.guiconfig.nyu;
import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+import kr.syeyoung.dungeonsguide.config.guiconfig.old.ConfigPanelCreator;
+import kr.syeyoung.dungeonsguide.config.guiconfig.old.FeatureEditPane;
+import kr.syeyoung.dungeonsguide.config.guiconfig.old.GuiConfig;
import kr.syeyoung.dungeonsguide.features.AbstractFeature;
import kr.syeyoung.dungeonsguide.features.FeatureRegistry;
import kr.syeyoung.dungeonsguide.gui.MPanel;
@@ -32,6 +36,7 @@ import net.minecraft.client.gui.Gui;
import java.awt.*;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
public class RootConfigPanel extends MPanelScaledGUI {
@@ -95,7 +100,12 @@ public class RootConfigPanel extends MPanelScaledGUI {
NestedCategory finalCurrentRoot = currentRoot;
currentRoot = currentRoot.children().computeIfAbsent(s, k -> new NestedCategory(finalCurrentRoot.categoryFull+"."+k));
}
+
+ }
+ for (Map.Entry<String, List<AbstractFeature>> stringListEntry : FeatureRegistry.getFeaturesByCategory().entrySet()) {
+ ConfigPanelCreator.map.put("ROOT."+stringListEntry.getKey(),(Supplier<MPanel>) () -> new FeatureEditPane(stringListEntry.getValue(), null));
}
+
for (NestedCategory value : root.children().values()) {
setupNavigationRecursive(value, navigation, 0, 17);
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java
index 479762cb..fd659596 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java
@@ -119,6 +119,7 @@ public class DungeonRoomInfoRegistry {
fis.close();
register(dri);
} catch (Exception e) {
+ System.out.println(name);
e.printStackTrace();
}
}
@@ -132,7 +133,8 @@ public class DungeonRoomInfoRegistry {
ois.close();
fis.close();
register(dri);
- } catch (Exception e) {e.printStackTrace();}
+ } catch (Exception e) {
+ System.out.println(f.getName());e.printStackTrace();}
}
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java
index 9c20bdf9..9052ba3e 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/RoomMatcher.java
@@ -60,6 +60,9 @@ public class RoomMatcher {
}
triedMatch = true;
+ int lowestcost = 10;
+ int lowestRot = 0;
+ DungeonRoomInfo bestMatch = null;
for (int rotation = 0; rotation < 4; rotation++) {
short shape = dungeonRoom.getShape();
for (int j = 0; j<rotation; j++)
@@ -67,26 +70,23 @@ public class RoomMatcher {
shape = ShortUtils.topLeftifyInt(shape);
List<DungeonRoomInfo> roomInfoList = DungeonRoomInfoRegistry.getByShape(shape);
- int lowestcost = Integer.MAX_VALUE;
- DungeonRoomInfo bestMatch = null;
for (DungeonRoomInfo roomInfo : roomInfoList) {
int cost = tryMatching(roomInfo, rotation);
-// if () {
-// match = roomInfo;
-// this.rotation = rotation;
-// return match;
-// }
+ if (cost == 0) {
+ match = roomInfo;
+ this.rotation = rotation;
+ return match;
+ }
if (cost < lowestcost) {
lowestcost = cost;
bestMatch = roomInfo;
- if (cost == 0) break;
+ lowestRot = rotation;
}
}
- match = bestMatch;
- this.rotation = rotation;
- return bestMatch;
}
- return null;
+ match = bestMatch;
+ this.rotation = lowestRot;
+ return bestMatch;
}
private int tryMatching(DungeonRoomInfo dungeonRoomInfo, int rotation) {
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/gui/MPanel.java b/src/main/java/kr/syeyoung/dungeonsguide/gui/MPanel.java
index 0f842b34..84cccdf5 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/gui/MPanel.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/gui/MPanel.java
@@ -101,6 +101,7 @@ public class MPanel {
}
public void remove(MPanel panel) {
+ if (panel != null)
panel.setParent(null);
this.childComponents.remove(panel);
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java b/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java
index f26fd956..ba56679b 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MTabbedPane.java
@@ -67,6 +67,7 @@ public class MTabbedPane extends MPanel {
panel2.add(panel);
panel2.setBackgroundColor(background2);
tabs.put(tab, panel2);
+ panel2.setParent(this);
panel2.setBounds(new Rectangle(1,16,getBounds().width-2, getBounds().height-17));
FontRenderer fr = Minecraft.getMinecraft().fontRendererObj;