Progress on config GUI:

- Finished GroupConfigSubSettingGui.
- Progress on MaterialSelectSettingGui
This commit is contained in:
alexcrea 2024-04-23 01:46:33 +02:00
parent 257a3b4696
commit 8523044613
No known key found for this signature in database
GPG key ID: 43FD265DB0DBF91F
15 changed files with 359 additions and 38 deletions

View file

@ -92,4 +92,6 @@ abstract class AbstractMaterialGroup(private val name: String) {
return Material.PAPER
}
abstract fun updateMaterials()
}

View file

@ -47,6 +47,15 @@ class ExcludeGroup(name: String) : AbstractMaterialGroup(name) {
return includedGroup
}
override fun updateMaterials() {
groupItems.clear()
groupItems.addAll(includedMaterial)
includedGroup.forEach { group ->
groupItems.addAll(group.getMaterials())
}
}
override fun getMaterials(): EnumSet<Material> {
return groupItems
}

View file

@ -45,7 +45,15 @@ class IncludeGroup(name: String) : AbstractMaterialGroup(name) {
override fun setNonGroupInheritedMaterials(materials: EnumSet<Material>) {
super.setNonGroupInheritedMaterials(materials)
// Update group items
updateMaterials()
}
override fun getGroups(): MutableSet<AbstractMaterialGroup> {
return includedGroup
}
override fun updateMaterials() {
groupItems.clear()
groupItems.addAll(includedMaterial)
@ -54,10 +62,6 @@ class IncludeGroup(name: String) : AbstractMaterialGroup(name) {
}
}
override fun getGroups(): MutableSet<AbstractMaterialGroup> {
return includedGroup
}
override fun getMaterials(): EnumSet<Material> {
return groupItems
}