77
88import baritone .api .BaritoneAPI ;
99import baritone .api .utils .SettingsUtil ;
10+ import it .unimi .dsi .fastutil .objects .ReferenceOpenHashSet ;
1011import meteordevelopment .meteorclient .settings .*;
1112import meteordevelopment .meteorclient .utils .render .color .SettingColor ;
1213import net .minecraft .block .Block ;
@@ -88,24 +89,24 @@ private void createWrappers() {
8889
8990 Object value = setting .value ;
9091
91- if (value instanceof Boolean ) {
92- Setting <Boolean > wrapper = sgBool .add (new BoolSetting .Builder ()
93- .name (setting .getName ())
94- .description (getDescription (setting .getName ()))
95- .defaultValue ((boolean ) setting .defaultValue )
96- .onChanged (aBoolean -> setting .value = aBoolean )
97- .onModuleActivated (booleanSetting -> booleanSetting .set ((Boolean ) setting .value ))
98- .build ()
99- );
92+ switch (value ) {
93+ case Boolean b -> {
94+ Setting <Boolean > wrapper = sgBool .add (new BoolSetting .Builder ()
95+ .name (setting .getName ())
96+ .description (getDescription (setting .getName ()))
97+ .defaultValue ((boolean ) setting .defaultValue )
98+ .onChanged (aBoolean -> setting .value = aBoolean )
99+ .onModuleActivated (booleanSetting -> booleanSetting .set ((Boolean ) setting .value ))
100+ .build ()
101+ );
100102
101- switch (wrapper .name ) {
102- case "assumeWalkOnWater" -> walkOnWater = wrapper ;
103- case "assumeWalkOnLava" -> walkOnLava = wrapper ;
104- case "assumeStep" -> step = wrapper ;
103+ switch (wrapper .name ) {
104+ case "assumeWalkOnWater" -> walkOnWater = wrapper ;
105+ case "assumeWalkOnLava" -> walkOnLava = wrapper ;
106+ case "assumeStep" -> step = wrapper ;
107+ }
105108 }
106- }
107- else if (value instanceof Double ) {
108- sgDouble .add (new DoubleSetting .Builder ()
109+ case Double v -> sgDouble .add (new DoubleSetting .Builder ()
109110 .name (setting .getName ())
110111 .description (getDescription (setting .getName ()))
111112 .defaultValue ((double ) setting .defaultValue )
@@ -115,9 +116,7 @@ else if (value instanceof Double) {
115116 .onModuleActivated (doubleSetting -> doubleSetting .set ((Double ) setting .value ))
116117 .build ()
117118 );
118- }
119- else if (value instanceof Float ) {
120- sgDouble .add (new DoubleSetting .Builder ()
119+ case Float v -> sgDouble .add (new DoubleSetting .Builder ()
121120 .name (setting .getName ())
122121 .description (getDescription (setting .getName ()))
123122 .defaultValue (((Float ) setting .defaultValue ).doubleValue ())
@@ -127,82 +126,79 @@ else if (value instanceof Float) {
127126 .onModuleActivated (doubleSetting -> doubleSetting .set (((Float ) setting .value ).doubleValue ()))
128127 .build ()
129128 );
130- }
131- else if (value instanceof Integer ) {
132- Setting <Integer > wrapper = sgInt .add (new IntSetting .Builder ()
133- .name (setting .getName ())
134- .description (getDescription (setting .getName ()))
135- .defaultValue ((int ) setting .defaultValue )
136- .onChanged (integer -> setting .value = integer )
137- .onModuleActivated (integerSetting -> integerSetting .set ((Integer ) setting .value ))
138- .build ()
139- );
129+ case Integer i -> {
130+ Setting <Integer > wrapper = sgInt .add (new IntSetting .Builder ()
131+ .name (setting .getName ())
132+ .description (getDescription (setting .getName ()))
133+ .defaultValue ((int ) setting .defaultValue )
134+ .onChanged (integer -> setting .value = integer )
135+ .onModuleActivated (integerSetting -> integerSetting .set ((Integer ) setting .value ))
136+ .build ()
137+ );
140138
141- if (wrapper .name .equals ("maxFallHeightNoWater" )) {
142- noFall = new BoolSetting .Builder ()
143- .name (wrapper .name )
144- .description (wrapper .description )
145- .defaultValue (false )
146- .onChanged (aBoolean -> wrapper .set (aBoolean ? 159159 : wrapper .getDefaultValue ()))
147- .onModuleActivated (booleanSetting -> booleanSetting .set (wrapper .get () >= 255 ))
148- .build ();
139+ if (wrapper .name .equals ("maxFallHeightNoWater" )) {
140+ noFall = new BoolSetting .Builder ()
141+ .name (wrapper .name )
142+ .description (wrapper .description )
143+ .defaultValue (false )
144+ .onChanged (aBoolean -> wrapper .set (aBoolean ? 159159 : wrapper .getDefaultValue ()))
145+ .onModuleActivated (booleanSetting -> booleanSetting .set (wrapper .get () >= 255 ))
146+ .build ();
147+ }
149148 }
150- }
151- else if (value instanceof Long ) {
152- sgInt .add (new IntSetting .Builder ()
149+ case Long l -> sgInt .add (new IntSetting .Builder ()
153150 .name (setting .getName ())
154151 .description (getDescription (setting .getName ()))
155152 .defaultValue (((Long ) setting .defaultValue ).intValue ())
156153 .onChanged (integer -> setting .value = integer .longValue ())
157154 .onModuleActivated (integerSetting -> integerSetting .set (((Long ) setting .value ).intValue ()))
158155 .build ()
159156 );
160- }
161- else if (value instanceof String ) {
162- sgString .add (new StringSetting .Builder ()
157+ case String s -> sgString .add (new StringSetting .Builder ()
163158 .name (setting .getName ())
164159 .description (getDescription (setting .getName ()))
165160 .defaultValue ((String ) setting .defaultValue )
166161 .onChanged (string -> setting .value = string )
167162 .onModuleActivated (stringSetting -> stringSetting .set ((String ) setting .value ))
168163 .build ()
169164 );
170- }
171- else if (value instanceof Color ) {
172- Color c = (Color ) setting .value ;
173-
174- sgColor .add (new ColorSetting .Builder ()
175- .name (setting .getName ())
176- .description (getDescription (setting .getName ()))
177- .defaultValue (new SettingColor (c .getRed (), c .getGreen (), c .getBlue (), c .getAlpha ()))
178- .onChanged (color -> setting .value = new Color (color .r , color .g , color .b , color .a ))
179- .onModuleActivated (colorSetting -> colorSetting .set (new SettingColor (c .getRed (), c .getGreen (), c .getBlue (), c .getAlpha ())))
180- .build ()
181- );
182- }
183- else if (value instanceof List ) {
184- Type listType = ((ParameterizedType ) field .getGenericType ()).getActualTypeArguments ()[0 ];
185- Type type = ((ParameterizedType ) listType ).getActualTypeArguments ()[0 ];
165+ case Color color1 -> {
166+ Color c = (Color ) setting .value ;
186167
187- if (type == Block .class ) {
188- sgBlockLists .add (new BlockListSetting .Builder ()
168+ sgColor .add (new ColorSetting .Builder ()
189169 .name (setting .getName ())
190170 .description (getDescription (setting .getName ()))
191- .defaultValue (( List < Block >) setting . defaultValue )
192- .onChanged (blockList -> setting .value = blockList )
193- .onModuleActivated (blockListSetting -> blockListSetting .set (( List < Block >) setting . value ))
171+ .defaultValue (new SettingColor ( c . getRed (), c . getGreen (), c . getBlue (), c . getAlpha ()) )
172+ .onChanged (color -> setting .value = new Color ( color . r , color . g , color . b , color . a ) )
173+ .onModuleActivated (colorSetting -> colorSetting .set (new SettingColor ( c . getRed (), c . getGreen (), c . getBlue (), c . getAlpha ()) ))
194174 .build ()
195175 );
196176 }
197- else if (type == Item .class ) {
198- sgItemLists .add (new ItemListSetting .Builder ()
199- .name (setting .getName ())
200- .description (getDescription (setting .getName ()))
201- .defaultValue ((List <Item >) setting .defaultValue )
202- .onChanged (itemList -> setting .value = itemList )
203- .onModuleActivated (itemListSetting -> itemListSetting .set ((List <Item >) setting .value ))
204- .build ()
205- );
177+ case List list -> {
178+ Type listType = ((ParameterizedType ) field .getGenericType ()).getActualTypeArguments ()[0 ];
179+ Type type = ((ParameterizedType ) listType ).getActualTypeArguments ()[0 ];
180+
181+ if (type == Block .class ) {
182+ sgBlockLists .add (new BlockListSetting .Builder ()
183+ .name (setting .getName ())
184+ .description (getDescription (setting .getName ()))
185+ .defaultValue (new ReferenceOpenHashSet <>((List <Block >) setting .defaultValue ))
186+ .onChanged (blockList -> setting .value = blockList )
187+ .onModuleActivated (blockListSetting -> blockListSetting .set (new ReferenceOpenHashSet <>((List <Block >) setting .value )))
188+ .build ()
189+ );
190+ } else if (type == Item .class ) {
191+ sgItemLists .add (new ItemListSetting .Builder ()
192+ .name (setting .getName ())
193+ .description (getDescription (setting .getName ()))
194+ .defaultValue (new ReferenceOpenHashSet <>((List <Item >) setting .defaultValue ))
195+ .onChanged (itemList -> setting .value = itemList )
196+ .onModuleActivated (itemListSetting -> itemListSetting .set (new ReferenceOpenHashSet <>((List <Item >) setting .value )))
197+ .build ()
198+ );
199+ }
200+ }
201+ case null , default -> {
206202 }
207203 }
208204 }
0 commit comments