diff --git a/build.gradle.kts b/build.gradle.kts index 3d10bc2..a9a8401 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } group = "net.azisaba" -version = "6.14.0" +version = "6.14.1" java { toolchain.languageVersion.set(JavaLanguageVersion.of(8)) diff --git a/src/main/java/com/github/mori01231/lifecore/listener/TrashListener.kt b/src/main/java/com/github/mori01231/lifecore/listener/TrashListener.kt index 24e833d..6f6c164 100644 --- a/src/main/java/com/github/mori01231/lifecore/listener/TrashListener.kt +++ b/src/main/java/com/github/mori01231/lifecore/listener/TrashListener.kt @@ -3,6 +3,9 @@ package com.github.mori01231.lifecore.listener import com.github.mori01231.lifecore.LifeCore import com.github.mori01231.lifecore.TrashInventory import com.github.mori01231.lifecore.util.ItemUtil +import net.azisaba.itemstash.ItemStash +import net.azisaba.rarity.api.Rarity +import net.azisaba.rarity.api.RarityAPIProvider import org.bukkit.Bukkit import org.bukkit.ChatColor import org.bukkit.event.EventHandler @@ -12,14 +15,40 @@ import org.bukkit.event.inventory.InventoryCloseEvent import org.bukkit.event.inventory.InventoryDragEvent import org.bukkit.inventory.ItemStack + class TrashListener(private val plugin: LifeCore) : Listener { + private val rarityAPI = RarityAPIProvider.get() + private val itemStash = ItemStash.getInstance() + @EventHandler fun onInventoryClick(e: InventoryClickEvent) { if (e.clickedInventory?.holder is TrashInventory) { if (e.slot == 53) { e.isCancelled = true + e.inventory.setItem(53, null) + for (i in 0.. + itemStash.addItemToStash(e.whoClicked.uniqueId, s) + e.whoClicked.sendMessage(ChatColor.RED.toString() + "インベントリがいっぱいのため、Stashに保管されました。") + e.whoClicked.sendMessage(ChatColor.AQUA.toString() + "/pickupstash" + ChatColor.RED + "で回収できます。") + } + } + } val trashMoneyPerItem = plugin.config.getInt("TrashMoneyPerItem", 0) - var moneyCounter = -1 + var moneyCounter = 0 var moneyMultiplier = trashMoneyPerItem val items: MutableList = ArrayList() for (item in e.inventory.contents) { @@ -68,7 +97,11 @@ class TrashListener(private val plugin: LifeCore) : Listener { for (item in inv.contents) { @Suppress("SENSELESS_COMPARISON") if (item == null || item.type.isAir || item == TrashInventory.trashItem) continue - e.player.inventory.addItem(item) + e.player.inventory.addItem(item).forEach { (_, s) -> + itemStash.addItemToStash(e.player.uniqueId, s) + e.player.sendMessage(ChatColor.RED.toString() + "インベントリがいっぱいのため、Stashに保管されました。") + e.player.sendMessage(ChatColor.AQUA.toString() + "/pickupstash" + ChatColor.RED + "で回収できます。") + } } } }