Fix using clientside only sorting on server
This commit is contained in:
parent
313f9cb39d
commit
b52c5ce340
@ -28,7 +28,9 @@ import ru.dbotthepony.mc.otm.client.screen.panels.slot.SlotPanel
|
|||||||
import ru.dbotthepony.mc.otm.client.screen.panels.util.ScrollableCanvasPanel
|
import ru.dbotthepony.mc.otm.client.screen.panels.util.ScrollableCanvasPanel
|
||||||
import ru.dbotthepony.mc.otm.core.TextComponent
|
import ru.dbotthepony.mc.otm.core.TextComponent
|
||||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||||
|
import ru.dbotthepony.mc.otm.core.map
|
||||||
import ru.dbotthepony.mc.otm.core.math.RGBAColor
|
import ru.dbotthepony.mc.otm.core.math.RGBAColor
|
||||||
|
import ru.dbotthepony.mc.otm.core.util.CreativeMenuItemComparator
|
||||||
import ru.dbotthepony.mc.otm.menu.decorative.PainterMenu
|
import ru.dbotthepony.mc.otm.menu.decorative.PainterMenu
|
||||||
|
|
||||||
class PainterScreen(menu: PainterMenu, inventory: Inventory, title: Component) : MatteryScreen<PainterMenu>(menu, inventory, title) {
|
class PainterScreen(menu: PainterMenu, inventory: Inventory, title: Component) : MatteryScreen<PainterMenu>(menu, inventory, title) {
|
||||||
@ -121,7 +123,7 @@ class PainterScreen(menu: PainterMenu, inventory: Inventory, title: Component) :
|
|||||||
buttons.forEach { it.remove() }
|
buttons.forEach { it.remove() }
|
||||||
buttons.clear()
|
buttons.clear()
|
||||||
|
|
||||||
for (recipe in menu.possibleRecipes) {
|
for (recipe in menu.possibleRecipes.sortedWith(CreativeMenuItemComparator.map { it.output.item })) {
|
||||||
object : LargeRectangleButtonPanel<PainterScreen>(this@PainterScreen, canvas.canvas, icon = ItemStackIcon(recipe.output, 14f, 14f).fixed()) {
|
object : LargeRectangleButtonPanel<PainterScreen>(this@PainterScreen, canvas.canvas, icon = ItemStackIcon(recipe.output, 14f, 14f).fixed()) {
|
||||||
init {
|
init {
|
||||||
buttons.add(this)
|
buttons.add(this)
|
||||||
|
@ -18,6 +18,7 @@ import ru.dbotthepony.mc.otm.core.isNotEmpty
|
|||||||
import ru.dbotthepony.mc.otm.core.map
|
import ru.dbotthepony.mc.otm.core.map
|
||||||
import ru.dbotthepony.mc.otm.core.util.CreativeMenuItemComparator
|
import ru.dbotthepony.mc.otm.core.util.CreativeMenuItemComparator
|
||||||
import ru.dbotthepony.mc.otm.core.util.ResourceLocationValueCodec
|
import ru.dbotthepony.mc.otm.core.util.ResourceLocationValueCodec
|
||||||
|
import ru.dbotthepony.mc.otm.isClientThread
|
||||||
import ru.dbotthepony.mc.otm.menu.MatteryMenu
|
import ru.dbotthepony.mc.otm.menu.MatteryMenu
|
||||||
import ru.dbotthepony.mc.otm.menu.MatterySlot
|
import ru.dbotthepony.mc.otm.menu.MatterySlot
|
||||||
import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback
|
import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback
|
||||||
@ -120,7 +121,6 @@ class PainterMenu(
|
|||||||
private fun rescan() {
|
private fun rescan() {
|
||||||
possibleRecipes.clear()
|
possibleRecipes.clear()
|
||||||
possibleRecipes.addAll(inventory.player.level().recipeManager.byType(MRecipes.PAINTER).values.iterator().filter { it.input.test(inputContainer[0]) })
|
possibleRecipes.addAll(inventory.player.level().recipeManager.byType(MRecipes.PAINTER).values.iterator().filter { it.input.test(inputContainer[0]) })
|
||||||
possibleRecipes.sortWith(CreativeMenuItemComparator.map { it.output.item })
|
|
||||||
listeners.accept(Unit)
|
listeners.accept(Unit)
|
||||||
if (tile !is PainterBlockEntity) return
|
if (tile !is PainterBlockEntity) return
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user