From 2f85579fb355b719d7efdcb452c0ffea45f9c377 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sat, 11 Nov 2023 12:18:00 +0900 Subject: [PATCH] moving sprites around --- assets/mods/basegame/items/items.tga | 2 +- .../terrarum/blockproperties/BlockProp.kt | 3 ++ .../gameitems/ItemSwingingDoorOak.kt | 8 ++--- .../modulebasegame/gameitems/OreItemBase.kt | 34 ++++++++++++------- .../terrarum/ui/UIItemTextLineInput.kt | 8 ++++- work_files/graphics/items/basegame_items.kra | 4 +-- 6 files changed, 38 insertions(+), 21 deletions(-) diff --git a/assets/mods/basegame/items/items.tga b/assets/mods/basegame/items/items.tga index 683599a30..607a251b6 100644 --- a/assets/mods/basegame/items/items.tga +++ b/assets/mods/basegame/items/items.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee5d14e46a09767ed978192e611a5174cdfe11710b382b9d37ce3dae63f36a62 +oid sha256:92da3f0632b17bc66853f1f5b357c9c00573581e6e8196e8c667e067ac7c69b7 size 2408466 diff --git a/src/net/torvald/terrarum/blockproperties/BlockProp.kt b/src/net/torvald/terrarum/blockproperties/BlockProp.kt index dba818ef5..7e990cc11 100644 --- a/src/net/torvald/terrarum/blockproperties/BlockProp.kt +++ b/src/net/torvald/terrarum/blockproperties/BlockProp.kt @@ -76,6 +76,9 @@ class BlockProp { } fun hasTag(s: String) = tags.contains(s) + fun hasAnyTagOf(vararg s: String) = s.any { hasTag(it) } + fun hasAnyTag(s: Collection) = s.any { hasTag(it) } + fun hasAnyTag(s: Array) = s.any { hasTag(it) } /** * @param luminosity diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt index 0847f5b2e..74373c0f5 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemSwingingDoorOak.kt @@ -17,7 +17,7 @@ class ItemSwingingDoorOak(originalID: ItemID) : override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(8,3) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(8,10) override var baseToolSize: Double? = baseMass override var originalName = "ITEM_DOOR_OAK" } @@ -30,7 +30,7 @@ class ItemSwingingDoorEbony(originalID: ItemID) : override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(9,3) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(9,10) override var baseToolSize: Double? = baseMass override var originalName = "ITEM_DOOR_EBONY" } @@ -43,7 +43,7 @@ class ItemSwingingDoorBirch(originalID: ItemID) : override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(10,3) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(10,10) override var baseToolSize: Double? = baseMass override var originalName = "ITEM_DOOR_BIRCH" } @@ -56,7 +56,7 @@ class ItemSwingingDoorRosewood(originalID: ItemID) : override val isDynamic = false override val materialId = "" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(11,3) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(11,10) override var baseToolSize: Double? = baseMass override var originalName = "ITEM_DOOR_ROSEWOOD" } diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/OreItemBase.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/OreItemBase.kt index a6eaec4d3..6b8bcd653 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/OreItemBase.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/OreItemBase.kt @@ -30,62 +30,70 @@ open class OreItemBase(originalID: ItemID) : GameItem(originalID) { } /* Wooden Log is a block */ -class OreWood(originalID: ItemID) : OreItemBase(originalID) { - override var originalName = "ITEM_WOOD" +class ItemOakLogs(originalID: ItemID) : OreItemBase(originalID) { + override var originalName = "ITEM_LOGS_OAK" override val materialId = "WOOD" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(0,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(0,10) } + +class ItemOakSEED(originalID: ItemID) : OreItemBase(originalID) { + override var originalName = "ITEM_ACORN_OAK" + override val materialId = "WOOD" + override val itemImage: TextureRegion + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(0,11) +} + class OreStick(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_WOOD_STICK" override val materialId = "WOOD" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(1,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(0,6) } class OreCopper(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_ORE_MALACHITE" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(2,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(1,6) } class OreIron(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_ORE_HAEMATITE" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(3,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(2,6) } class OreCoal(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_ORE_COAL" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(4,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(3,6) } class OreZinc(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_ORE_SPHALERITE" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(5,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(4,6) } class OreTin(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_ORE_CASSITERITE" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(6,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(5,6) } class OreGold(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_ORE_NATURAL_GOLD" override val materialId: String = "AURM" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(7, 6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(6, 6) } class OreSilver(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_ORE_NATURAL_SILVER" override val materialId: String = "ARGN" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(8,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(7,6) } class OreLead(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_ORE_GALENA" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(9,6) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(8,6) } class ItemCoalCoke(originalID: ItemID) : OreItemBase(originalID) { override var originalName = "ITEM_COAL_COKE" override val itemImage: TextureRegion - get() = CommonResourcePool.getAsItemSheet("basegame.items").get(1,10) + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(9,6) } \ No newline at end of file diff --git a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt index bbe99fe9f..b69120b0a 100644 --- a/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt +++ b/src/net/torvald/terrarum/ui/UIItemTextLineInput.kt @@ -553,7 +553,11 @@ class UIItemTextLineInput( App.fontGameFBO.draw(it, text, -1f*cursorDrawScroll + textDrawOffset, -2f) } } - textCommitListener(getTextOrPlaceholder()) + + try { + textCommitListener(getTextOrPlaceholder()) + } + catch (_: ConcurrentModificationException) { /* it's a render code, it's fine to do nothing */ } } batch.begin() @@ -685,7 +689,9 @@ class UIItemTextLineInput( oldPosX = posX } + /** This function is likely to raise a ConcurrentModificationException */ fun getText() = textbufToString() + /** This function is likely to raise a ConcurrentModificationException */ fun getTextOrPlaceholder(): String = if (textbuf.isEmpty()) currentPlaceholderText.toJavaString() else getText() fun clearText() { resetIME() diff --git a/work_files/graphics/items/basegame_items.kra b/work_files/graphics/items/basegame_items.kra index ccca06ff8..ee00a331e 100644 --- a/work_files/graphics/items/basegame_items.kra +++ b/work_files/graphics/items/basegame_items.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3511ade875cb067744b6c97c3e5db815b3533d6b5978ed2de2ca9fd285c32ba6 -size 776663 +oid sha256:0b29f8ce14039d92fdb53090eee2f17675f65ef82f4ba6631cf756621689d697 +size 865859