@@ -50,25 +50,21 @@ public void initWidgets() {
5050 multiSelectView = add (theme .view ()).expandX ().widget ();
5151 multiSelectView .maxHeight -= 100 ;
5252
53- List <WMultiSelect . ItemInfo < EntityType <?> >> animals = new ArrayList <>();
54- List <WMultiSelect . ItemInfo < EntityType <?> >> waterAnimals = new ArrayList <>();
55- List <WMultiSelect . ItemInfo < EntityType <?> >> monsters = new ArrayList <>();
56- List <WMultiSelect . ItemInfo < EntityType <?> >> ambient = new ArrayList <>();
57- List <WMultiSelect . ItemInfo < EntityType <?> >> misc = new ArrayList <>();
53+ List <EntityType <?>> animals = new ArrayList <>();
54+ List <EntityType <?>> waterAnimals = new ArrayList <>();
55+ List <EntityType <?>> monsters = new ArrayList <>();
56+ List <EntityType <?>> ambient = new ArrayList <>();
57+ List <EntityType <?>> misc = new ArrayList <>();
5858
5959 for (EntityType <?> entityType : Registries .ENTITY_TYPE ) {
6060 if (setting .filter != null && !setting .filter .test (entityType )) continue ;
6161
62- String name = Names .get (entityType );
63- boolean isSelected = setting .get ().contains (entityType );
64- WMultiSelect .ItemInfo <EntityType <?>> info = new WMultiSelect .ItemInfo <>(entityType , name , isSelected );
65-
6662 switch (entityType .getSpawnGroup ()) {
67- case CREATURE -> animals .add (info );
68- case WATER_AMBIENT , WATER_CREATURE , UNDERGROUND_WATER_CREATURE , AXOLOTLS -> waterAnimals .add (info );
69- case MONSTER -> monsters .add (info );
70- case AMBIENT -> ambient .add (info );
71- case MISC -> misc .add (info );
63+ case CREATURE -> animals .add (entityType );
64+ case WATER_AMBIENT , WATER_CREATURE , UNDERGROUND_WATER_CREATURE , AXOLOTLS -> waterAnimals .add (entityType );
65+ case MONSTER -> monsters .add (entityType );
66+ case AMBIENT -> ambient .add (entityType );
67+ case MISC -> misc .add (entityType );
7268 }
7369 }
7470
@@ -87,15 +83,18 @@ public void initWidgets() {
8783 };
8884 }
8985
90- private void createMultiSelectWidget (String title , List <WMultiSelect . ItemInfo < EntityType <?> >> items ) {
86+ private void createMultiSelectWidget (String title , List <EntityType <?>> items ) {
9187 if (items .isEmpty ()) return ;
9288
93- WMultiSelect <EntityType <?>> widget = multiSelectView .add (theme .multiSelect (title , items )).padVertical (6 ).expandX ().widget ();
94- widget .onSelection = (entity , selected ) -> {
95- if (selected ) setting .get ().add (entity );
96- else setting .get ().remove (entity );
97- };
89+ WMultiSelect <EntityType <?>> multiSelect = theme .multiSelect (title , items )
90+ .label (Names ::get )
91+ .isSelected (setting .get ()::contains )
92+ .onSelectionChange ((entity , selected ) -> {
93+ if (selected ) setting .get ().add (entity );
94+ else setting .get ().remove (entity );
95+ });
9896
99- widgets .add (widget );
97+ multiSelectView .add (multiSelect ).padVertical (6 ).expandX ().widget ();
98+ widgets .add (multiSelect );
10099 }
101100}
0 commit comments