PersistentBlockData
Easily store persistent block data
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
PersistentBlockData
Persistent Blocks Data
A simple utility for storing persistent data chained to blocks in paper plugins using PersistentDataContainer.
KOTLIN ONLY
Usage
You can write data as if you are just interacting with PersistentDataContainer.
``` kotlin import dev.devoirr.pbd.Blocks.getPersistentData import dev.devoirr.pbd.Blocks.setPersistentData import org.bukkit.NamespacedKey import org.bukkit.block.Block import org.bukkit.persistence.PersistentDataType
class SomeClass { val key = NamespacedKey.minecraft("current_clicks")
fun addAndReturnClicks(block: Block): Int { val currentClicks = block.getPersistentData(key, PersistentDataType.INTEGER) as? Int ?: 0 val updatedClicks = currentClicks + 1
block.setPersistentData(key, PersistentDataType.INTEGER, updatedClicks)
return updatedClicks } } ```
Warning
You need to take into account that the NamespacedKey has limited length (32768 symbols), and the lib adds blocks coordinates to the initial provided key, so don't use ridiculously long keys, otherwise it will break.