PersistentBlockData
PluginMIT

PersistentBlockData

Easily store persistent block data

14
Downloads
0
Followers
6 months ago
Updated
📦
1
Versions

📖About 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.

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.