blob: 2a1d7ead4c069f1d0f2334cd3fd2d92f5682fafc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
package cat.freya.khs.bukkit
import cat.freya.khs.player.Inventory as KhsInventory
import cat.freya.khs.player.PlayerInventory as KhsPlayerInventory
import cat.freya.khs.world.Item
import org.bukkit.inventory.Inventory as BukkitInventory
import org.bukkit.inventory.PlayerInventory as BukkitPlayerInventory
open class BukkitKhsInventory(
open val shim: BukkitKhsShim,
open val inner: BukkitInventory,
open override val title: String?,
) : KhsInventory {
override fun get(index: UInt): Item? = inner.getItem(index.toInt())?.let { toKhsItem(it) }
override fun set(index: UInt, item: Item) =
inner.setItem(index.toInt(), (item as BukkitKhsItem).inner)
override fun remove(item: Item) = inner.remove((item as BukkitKhsItem).inner)
override var contents: List<Item?>
get() = inner.contents.map { toKhsItem(it) }
set(contents: List<Item?>) =
inner.setContents(contents.map { (it as BukkitKhsItem).inner }.toTypedArray())
override fun clear() {
inner.clear()
}
}
class BukkitKhsPlayerInventory(
override val shim: BukkitKhsShim,
override val inner: BukkitPlayerInventory,
override val title: String?,
) : BukkitKhsInventory(shim, inner, title), KhsPlayerInventory {
override var helmet: Item?
get() = toKhsItem(inner.helmet)
set(item: Item?) {
inner.helmet = (item as? BukkitKhsItem)?.inner
}
override var chestplate: Item?
get() = toKhsItem(inner.chestplate)
set(item: Item?) {
inner.chestplate = (item as? BukkitKhsItem)?.inner
}
override var leggings: Item?
get() = toKhsItem(inner.leggings)
set(item: Item?) {
inner.leggings = (item as? BukkitKhsItem)?.inner
}
override var boots: Item?
get() = toKhsItem(inner.boots)
set(item: Item?) {
inner.boots = (item as? BukkitKhsItem)?.inner
}
}
|