Skip to content

Commit ad794f1

Browse files
author
yitzy299
committed
Fix name of LinkComponent selections in main GUI
1 parent 9ba5b41 commit ad794f1

4 files changed

Lines changed: 14 additions & 9 deletions

File tree

src/main/kotlin/net/quiltservertools/interdimensional/gui/CreateGuiHandler.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ class CreateGuiHandler(val player: ServerPlayerEntity) {
4646
val generatorTypes = GeneratorTypes.values().toMutableList()
4747

4848
// World info
49-
//fixme name does not update
5049
gui.addSlot(maplikeSelector.createElement())
5150
// Identifier
5251
gui.addSlot(TextComponent("Identifier", Items.WARPED_SIGN, this, IdentifierInputGui(this)))

src/main/kotlin/net/quiltservertools/interdimensional/gui/components/LinkComponent.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,17 @@ interface LinkComponent {
1414
The stack shown to open the sub menu
1515
*/
1616
fun getItemStack(): ItemStack
17-
fun createOptions()
17+
/*
18+
index: The slot index of the component in the handler GUI
19+
*/
20+
fun createOptions(index: Int)
1821
fun close()
1922
fun setResult(handler: CreateGuiHandler)
2023

2124
fun createElement(): GuiElementInterface {
2225
return GuiElement(getItemStack().setCustomName(getItemStack().name)) {
2326
index: Int, type: ClickType?, action: SlotActionType?, gui: SlotGuiInterface ->
24-
this.createOptions()
27+
this.createOptions(index)
2528
}
2629
}
2730
}

src/main/kotlin/net/quiltservertools/interdimensional/gui/elements/BiomeSourceElement.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class BiomeSourceElement(val handler: CreateGuiHandler) : LinkComponent {
2525
val gui = SimpleGui(ScreenHandlerType.GENERIC_9X6, handler.player, false)
2626
var result: BiomeSourceResult
2727
var registry: Registry<Biome> = handler.player.server.registryManager.get(Registry.BIOME_KEY)
28+
private var handlerSlotIndex: Int = 0
2829

2930
init {
3031
handler.player.server.worlds.forEach {
@@ -50,8 +51,9 @@ class BiomeSourceElement(val handler: CreateGuiHandler) : LinkComponent {
5051
return ItemStack(Items.OAK_SAPLING).setCustomName("Biome Source: ${handler.biomeSource}".text())
5152
}
5253

53-
override fun createOptions() {
54+
override fun createOptions(index: Int) {
5455
handler.close()
56+
this.handlerSlotIndex = index
5557
gui.open()
5658
}
5759

@@ -62,9 +64,6 @@ class BiomeSourceElement(val handler: CreateGuiHandler) : LinkComponent {
6264

6365
override fun setResult(handler: CreateGuiHandler) {
6466
handler.biomeSource = result.biomeSource
65-
}
66-
67-
private fun getBiome(key: RegistryKey<Biome>): Biome {
68-
return registry.get(key)!!
67+
handler.gui.setSlot(this.handlerSlotIndex, this.createElement())
6968
}
7069
}

src/main/kotlin/net/quiltservertools/interdimensional/gui/elements/WorldSelectorElement.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class WorldSelectorElement(worlds: Iterable<ServerWorld>, private val handler: C
2020

2121
private val gui = SimpleGui(ScreenHandlerType.GENERIC_9X1, handler.player, false)
2222
private var result: ServerWorld? = null
23+
private var handlerSlotIndex: Int = 0
2324

2425
init {
2526
worlds.forEach {
@@ -54,13 +55,15 @@ class WorldSelectorElement(worlds: Iterable<ServerWorld>, private val handler: C
5455
return ItemStack(Items.MAP).setCustomName("World like: ${handler.maplike.registryKey.value.path}".text())
5556
}
5657

57-
override fun createOptions() {
58+
override fun createOptions(index: Int) {
5859
handler.close()
60+
this.handlerSlotIndex = index
5961
gui.open()
6062
}
6163

6264
override fun setResult(handler: CreateGuiHandler) {
6365
handler.maplike = this.result ?: handler.player.getWorld()
66+
handler.gui.setSlot(handlerSlotIndex, this.createElement())
6467
}
6568

6669
override fun close() {
@@ -72,6 +75,7 @@ class WorldSelectorElement(worlds: Iterable<ServerWorld>, private val handler: C
7275
GuiElementInterface.ClickCallback {
7376
override fun click(index: Int, type: ClickType?, action: SlotActionType?, gui: SlotGuiInterface) {
7477
component.result = world
78+
component.setResult(component.handler)
7579
component.close()
7680
}
7781
}

0 commit comments

Comments
 (0)