This commit is contained in:
2025-02-20 01:45:42 +08:00
parent 33d01988ee
commit b8d5e5aa70
3 changed files with 55 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ import org.bukkit.Location
import org.bukkit.Material
import org.bukkit.enchantments.Enchantment
import org.bukkit.entity.Player
import org.bukkit.event.inventory.InventoryType
import org.bukkit.inventory.ItemStack
import org.bukkit.inventory.meta.CompassMeta
import org.bukkit.scheduler.BukkitRunnable
@@ -31,6 +32,8 @@ class Console {
*/
val gameRules = GameRules()
val ruleBook = Bukkit.createInventory(null, InventoryType.HOPPER, Component.text("Game Rules"))
var stage: GameStage = GameStage.PREPARING
private set

View File

@@ -0,0 +1,40 @@
package xyz.fortern.minehunt.rule
import net.kyori.adventure.text.Component
import org.bukkit.Bukkit
import org.bukkit.Material
import org.bukkit.inventory.ItemFlag
import org.bukkit.inventory.ItemStack
import xyz.fortern.minehunt.util.Util
// TODO 使用物品栏修改游戏规则
class RuleBook {
val rootInventory = Bukkit.createInventory(null, 9, Component.text("点击任意一个规则项进行设置")).also {
Util.fillItem(it, filler)
val rule1 = ItemStack(Material.CLOCK)
val itemMeta1 = rule1.itemMeta
itemMeta1.customName(Component.text(RuleKey.HUNTER_READY_CD.info))
itemMeta1.lore(listOf(Component.text(RuleKey.HUNTER_READY_CD.name)))
it.setItem(1, rule1)
val rule2 = ItemStack(Material.CLOCK)
val itemMeta2 = rule2.itemMeta
itemMeta2.customName(Component.text(RuleKey.HUNTER_RESPAWN_CD.info))
itemMeta2.lore(listOf(Component.text(RuleKey.HUNTER_RESPAWN_CD.name)))
it.setItem(5, rule2)
val rule3 = ItemStack(Material.CLOCK)
val itemMeta3 = rule3.itemMeta
itemMeta3.customName(Component.text(RuleKey.FRIENDLY_FIRE.info))
itemMeta3.lore(listOf(Component.text(RuleKey.FRIENDLY_FIRE.name)))
it.setItem(9, rule3)
}
private val filler = ItemStack(Material.BLACK_STAINED_GLASS_PANE).also {
it.addItemFlags(
ItemFlag.HIDE_ATTRIBUTES,
ItemFlag.HIDE_DESTROYS,
ItemFlag.HIDE_ENCHANTS,
ItemFlag.HIDE_PLACED_ON,
ItemFlag.HIDE_UNBREAKABLE
)
}
}

View File

@@ -0,0 +1,12 @@
package xyz.fortern.minehunt.util
import org.bukkit.inventory.Inventory
import org.bukkit.inventory.ItemStack
object Util {
fun fillItem(inventory: Inventory, itemStack: ItemStack) {
for (i in 0 until inventory.size) {
inventory.setItem(i, itemStack)
}
}
}