fix bugs
This commit is contained in:
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
group=com.github.xbaimiao.shoppro
|
group=com.github.xbaimiao.shoppro
|
||||||
version=1.0.9-beta
|
version=1.0.9
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ class ShopImpl(private val configuration: Configuration) : Shop() {
|
|||||||
shopItem.equal(it)
|
shopItem.equal(it)
|
||||||
}
|
}
|
||||||
if (amount > 0) {
|
if (amount > 0) {
|
||||||
sell(amount, shopItem, player)
|
checkSellLimit(amount, shopItem, player)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -99,7 +99,7 @@ class ShopImpl(private val configuration: Configuration) : Shop() {
|
|||||||
org.bukkit.event.inventory.ClickType.RIGHT -> 64
|
org.bukkit.event.inventory.ClickType.RIGHT -> 64
|
||||||
else -> return@onClick
|
else -> return@onClick
|
||||||
}
|
}
|
||||||
buy(amount, item, player)
|
checkBuyLimit(amount, item, player)
|
||||||
event.currentItem?.let {
|
event.currentItem?.let {
|
||||||
event.clickEvent().inventory.setItem(event.rawSlot, item.update(player))
|
event.clickEvent().inventory.setItem(event.rawSlot, item.update(player))
|
||||||
}
|
}
|
||||||
@@ -121,7 +121,7 @@ class ShopImpl(private val configuration: Configuration) : Shop() {
|
|||||||
|
|
||||||
else -> return@onClick
|
else -> return@onClick
|
||||||
}
|
}
|
||||||
sell(amount, item, player)
|
checkSellLimit(amount, item, player)
|
||||||
event.currentItem?.let {
|
event.currentItem?.let {
|
||||||
event.clickEvent().inventory.setItem(event.rawSlot, item.update(player))
|
event.clickEvent().inventory.setItem(event.rawSlot, item.update(player))
|
||||||
}
|
}
|
||||||
@@ -136,17 +136,29 @@ class ShopImpl(private val configuration: Configuration) : Shop() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun buy(amount: Int, item: ShopItem, player: Player) {
|
private fun checkBuyLimit(amount: Int, item: ShopItem, player: Player) {
|
||||||
if (item.isLimit()) {
|
if (item.isLimit()) {
|
||||||
if (ShopPro.database.getPlayerAlreadyData(player, item).buy + amount > item.limitPlayer) {
|
if (ShopPro.database.getPlayerAlreadyData(player, item).buy >= item.limitPlayer) {
|
||||||
player.sendLang("buy-limit-player", item.limitPlayer)
|
player.sendLang("buy-limit-player", item.limitPlayer)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if (ShopPro.database.getServerAlreadyData(item).buy >= item.limitServer) {
|
||||||
|
player.sendLang("buy-limit-server", item.limitServer)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (ShopPro.database.getPlayerAlreadyData(player, item).buy + amount > item.limitPlayer) {
|
||||||
|
buy((item.limitPlayer - ShopPro.database.getPlayerAlreadyData(player, item).buy).toInt(), item, player)
|
||||||
|
return
|
||||||
|
}
|
||||||
if (ShopPro.database.getServerAlreadyData(item).buy + amount > item.limitServer) {
|
if (ShopPro.database.getServerAlreadyData(item).buy + amount > item.limitServer) {
|
||||||
player.sendLang("buy-limit-player", item.limitServer)
|
buy((item.limitServer - ShopPro.database.getServerAlreadyData(item).buy).toInt(), item, player)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
buy(amount, item, player)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buy(amount: Int, item: ShopItem, player: Player) {
|
||||||
if (item.currency.takeMoney(player, item.price * amount)) {
|
if (item.currency.takeMoney(player, item.price * amount)) {
|
||||||
if (item.vanilla) {
|
if (item.vanilla) {
|
||||||
val vanilla = item.vanillaItem()
|
val vanilla = item.vanillaItem()
|
||||||
@@ -162,17 +174,29 @@ class ShopImpl(private val configuration: Configuration) : Shop() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun sell(amount: Int, item: ShopItem, player: Player) {
|
private fun checkSellLimit(amount: Int, item: ShopItem, player: Player) {
|
||||||
if (item.isLimit()) {
|
if (item.isLimit()) {
|
||||||
if (ShopPro.database.getPlayerAlreadyData(player, item).sell + amount > item.limitPlayer) {
|
if (ShopPro.database.getPlayerAlreadyData(player, item).sell >= item.limitPlayer) {
|
||||||
player.sendLang("sell-limit-player", item.limitPlayer)
|
player.sendLang("sell-limit-player", item.limitPlayer)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (ShopPro.database.getServerAlreadyData(item).sell + amount > item.limitServer) {
|
if (ShopPro.database.getServerAlreadyData(item).sell >= item.limitServer) {
|
||||||
player.sendLang("sell-limit-server", item.limitServer)
|
player.sendLang("sell-limit-server", item.limitServer)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if (ShopPro.database.getPlayerAlreadyData(player, item).sell + amount > item.limitPlayer) {
|
||||||
|
sell((item.limitPlayer - ShopPro.database.getPlayerAlreadyData(player, item).sell).toInt(), item, player)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (ShopPro.database.getServerAlreadyData(item).sell + amount > item.limitServer) {
|
||||||
|
sell((item.limitServer - ShopPro.database.getServerAlreadyData(item).sell).toInt(), item, player)
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
sell(amount, item, player)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun sell(amount: Int, item: ShopItem, player: Player) {
|
||||||
if (player.inventory.hasItem(amount) { item.equal(it) }) {
|
if (player.inventory.hasItem(amount) { item.equal(it) }) {
|
||||||
player.inventory.takeItem(amount) { item.equal(it) }
|
player.inventory.takeItem(amount) { item.equal(it) }
|
||||||
item.currency.giveMoney(player, item.price * amount)
|
item.currency.giveMoney(player, item.price * amount)
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ not-item: "&7[&e&l!&7] 你没有足够的可以出售的物品"
|
|||||||
sell-item: "&7[&e&l!&7] 你出售了§6 {0}个 §7{1}§7获得了§6 {2}"
|
sell-item: "&7[&e&l!&7] 你出售了§6 {0}个 §7{1}§7获得了§6 {2}"
|
||||||
sell-limit-player: "&7[&e&l!&7] 此物品每人每日限制收购{0}个,已达到今日收购限制"
|
sell-limit-player: "&7[&e&l!&7] 此物品每人每日限制收购{0}个,已达到今日收购限制"
|
||||||
sell-limit-server: "&7[&e&l!&7] 此物品全服每日限制收购{0}个,已达到今日收购限制"
|
sell-limit-server: "&7[&e&l!&7] 此物品全服每日限制收购{0}个,已达到今日收购限制"
|
||||||
buy-limit-player: "&7[&e&l!&7] 此物品每人每日限制购买{0}个,今日购买限制"
|
buy-limit-player: "&7[&e&l!&7] 此物品每人每日限制购买{0}个,已达到今日购买限制"
|
||||||
buy-limit-server: "&7[&e&l!&7] 此物品全服每日限制购买{0}个,今日购买限制"
|
buy-limit-server: "&7[&e&l!&7] 此物品全服每日限制购买{0}个,已达到今日购买限制"
|
||||||
buy-item: "&7[&e&l!&7] 你购买了§6 {0}个 §7{1} §7花费了§6 {2}"
|
buy-item: "&7[&e&l!&7] 你购买了§6 {0}个 §7{1} §7花费了§6 {2}"
|
||||||
not-money: "&7[&e&l!&7] 你没有足够的钱"
|
not-money: "&7[&e&l!&7] 你没有足够的钱"
|
||||||
sell-all-error: "&7[&e&l!&7] 此商店非出售商店"
|
sell-all-error: "&7[&e&l!&7] 此商店非出售商店"
|
||||||
|
|||||||
Reference in New Issue
Block a user