diff --git a/src/main/kotlin/Editors.kt b/src/main/kotlin/Editors.kt index 97a9fbc..5a46bd9 100644 --- a/src/main/kotlin/Editors.kt +++ b/src/main/kotlin/Editors.kt @@ -202,7 +202,7 @@ enum class Editors(val data: EditorData) { sh.put("title",shop.title) val stockBuilder = StringBuilder() for(item in shop.stock){ - stockBuilder.append("{${item.id},${if(item.infinite) "inf" else item.amount}}${if(shop.stock.isLast(item)) "" else "-"}") + stockBuilder.append("{${item.id},${if(item.infinite) "inf" else item.amount},${item.restockTime}}${if(shop.stock.isLast(item)) "" else "-"}") } sh.put("stock",stockBuilder.toString()) sh.put("npcs",shop.npcs) @@ -240,7 +240,7 @@ fun parseStock(stock: String): ArrayList{ stock.split('-').map { val tokens = it.replace("{", "").replace("}", "").split(",".toRegex()).toTypedArray() var amount = tokens[1].trim() - items.add(Item(tokens[0].trim().toInt(),amount,amount == "inf")) + items.add(Item(tokens[0].trim().toInt(),amount,amount == "inf", tokens.getOrNull(2)?.toIntOrNull() ?: 100)) } return items } diff --git a/src/main/kotlin/FileLoader.kt b/src/main/kotlin/FileLoader.kt index 653edb1..6319d82 100644 --- a/src/main/kotlin/FileLoader.kt +++ b/src/main/kotlin/FileLoader.kt @@ -74,7 +74,7 @@ object FileLoader{ } } -class Item(var id: Int,var amount: String,var infinite: Boolean) +class Item(var id: Int, var amount: String, var infinite: Boolean, var restockTime: Int = 100) class WeightedItem(var id: Int, var minAmt: String, var maxAmt: String, var weight: Double, var isAlways: Boolean) private val CHARMS = intArrayOf(12160,12163,12159,12158) diff --git a/src/main/kotlin/ShopEdit.kt b/src/main/kotlin/ShopEdit.kt index d0ab1bd..b38f1bf 100644 --- a/src/main/kotlin/ShopEdit.kt +++ b/src/main/kotlin/ShopEdit.kt @@ -90,8 +90,8 @@ class ShopEdit(val shopID: Int) : JFrame("Edit Shop") { val addButton = JButton("Add Item") addButton.addActionListener { ItemMenu.caller = {id,name -> - model.addRow(arrayOf(name,id,0,false)) - shop!!.stock.add(Item(id,"0",false)) + model.addRow(arrayOf(name,id,0,false,100)) + shop!!.stock.add(Item(id,"0",false, 100)) } ItemMenu.open() } @@ -131,6 +131,7 @@ class ShopEdit(val shopID: Int) : JFrame("Edit Shop") { 1 -> TableData.shops[shopID]!!.stock[editingRow].id = newValue.toInt() 2 -> TableData.shops[shopID]!!.stock[editingRow].amount = newValue 3 -> TableData.shops[shopID]!!.stock[editingRow].infinite = newValue.toBoolean() + 4 -> TableData.shops[shopID]!!.stock[editingRow].restockTime = newValue.toInt() } super.editingStopped(e) } @@ -153,6 +154,7 @@ class ShopEdit(val shopID: Int) : JFrame("Edit Shop") { model.addColumn("ID") model.addColumn("Amount") model.addColumn("Infinite?") + model.addColumn("Restock Ticks") val scrollPane = JScrollPane(itemTable) add(scrollPane,BorderLayout.SOUTH) @@ -163,7 +165,7 @@ class ShopEdit(val shopID: Int) : JFrame("Edit Shop") { fun open(){ for(item in shop?.stock ?: ArrayList()){ - model.addRow(arrayOf(TableData.itemNames[item.id] ?: "unknown",item.id,item.amount,item.infinite)) + model.addRow(arrayOf(TableData.itemNames[item.id] ?: "unknown",item.id,item.amount,item.infinite, item.restockTime)) } isVisible = true }