1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
package at.hannibal2.skyhanni.config.features.dev;
import at.hannibal2.skyhanni.config.core.config.Position;
import com.google.gson.annotations.Expose;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorKeybind;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorSlider;
import io.github.notenoughupdates.moulconfig.annotations.ConfigLink;
import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;
import org.lwjgl.input.Keyboard;
public class GraphConfig {
@Expose
@ConfigOption(name = "Enabled", desc = "Enable the graphing tool.")
@ConfigEditorBoolean
public boolean enabled = false;
@Expose
@ConfigOption(name = "Place Key", desc = "Place a new node at the current position. If a node is active automatically connects." +
"Deletes a node if you are only 3 blocks away instead of placing a new one.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_F)
public int placeKey = Keyboard.KEY_F;
@Expose
@ConfigOption(name = "Toggle Ghost Position", desc = "Creates or removes the Ghost Position. This helps editing nodes tht are in the air.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_F)
public int toggleGhostPosition = Keyboard.KEY_NONE;
@Expose
@ConfigOption(name = "Select Key", desc = "Select the nearest node to be active. Double press to unselect.")
@ConfigEditorKeybind(defaultKey = -98) // Middle Mouse
public int selectKey = -98;
@Expose
@ConfigOption(name = "Connect Key", desc = "Connect the nearest node with the active node. If the nodes are already connected removes the connection.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_C)
public int connectKey = Keyboard.KEY_C;
@Expose
@ConfigOption(name = "Exit Key", desc = "Exit out of stuff. If nothing active disables the graph editor.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_HOME)
public int exitKey = Keyboard.KEY_HOME;
@Expose
@ConfigOption(name = "Edit Key", desc = "While holding the Key, edit the position of the active node or the selection block with the minecraft movement controls.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_TAB)
public int editKey = Keyboard.KEY_TAB;
@Expose
@ConfigOption(name = "Text Key", desc = "Start text mode, which allows editing a name of a node.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_Y)
public int textKey = Keyboard.KEY_Y;
@Expose
@ConfigOption(name = "Test Dijkstra", desc = "On key press, show the shortest path between the nearest node and the active node.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_G)
public int dijkstraKey = Keyboard.KEY_G;
@Expose
@ConfigOption(name = "Save Key", desc = "Save the current graph to the clipboard.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_O)
public int saveKey = Keyboard.KEY_O;
@Expose
@ConfigOption(name = "Load Key", desc = "Load a graph from clipboard, if valid.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_I)
public int loadKey = Keyboard.KEY_I;
@Expose
@ConfigOption(name = "Clear Key", desc = "Clear the graph. Also saves the graph to the clipboard, in case of a misclick.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_P)
public int clearKey = Keyboard.KEY_P;
@Expose
@ConfigOption(name = "Vision Key", desc = "Toggle if the graph should render trough blocks.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_M)
public int throughBlocksKey = Keyboard.KEY_M;
@Expose
@ConfigOption(name = "Tutorial Key", desc = "Toggle the tutorial mode. In this mode, you will get feedback for everything you do.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_K)
public int tutorialKey = Keyboard.KEY_K;
@Expose
@ConfigOption(name = "Split Key", desc = "Key for splitting an edge that is between the active and the closed node.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE)
public int splitKey = Keyboard.KEY_NONE;
@Expose
@ConfigOption(name = "Dissolve Key", desc = "Dissolve the active node into one edge if it only has two edges.")
@ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE)
public int dissolveKey = Keyboard.KEY_NONE;
@Expose
@ConfigLink(owner = GraphConfig.class, field = "enabled")
public Position infoDisplay = new Position(20, 20);
@Expose
@ConfigLink(owner = GraphConfig.class, field = "enabled")
public Position namedNodesList = new Position(20, 20);
@Expose
@ConfigOption(
name = "Max Node Distance",
desc = "Only render nodes below this distance to the player.")
@ConfigEditorSlider(
minValue = 10,
maxValue = 500,
minStep = 10
)
public int maxNodeDistance = 50;
@Expose
@ConfigOption(name = "Shows Stats", desc = "Show funny extra statistics on save. May lag the game a bit.")
@ConfigEditorBoolean
public boolean showsStats = true;
@Expose
@ConfigOption(name = "Use as Island Area", desc = "When saving, use the current edited graph as temporary island area for the current island.")
@ConfigEditorBoolean
public boolean useAsIslandArea = false;
}
|