[API] FastNBT icon

[API] FastNBT -----

Spigot library to edit items NBT very fast



Comparison to NBT API
Installations
[​IMG]
[​IMG]

Benchmark
FastNbt is ~190% faster than NBT API.
Check the benchmark here

Usability
FastNbt is easier to use compared to NBT API and requires less boilerplate code.

Creating an head texture
Code (Java):

NItem nItem = new nItem ( new ItemStack (Material. PLAYER_HEAD ) ) ;
nItem. setSkull ( "dummy", "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjc4ZWYyZTRjZjJjNDFhMmQxNGJmZGU5Y2FmZjEwMjE5ZjViMWJmNWIzNWE0OWViNTFjNjQ2Nzg4MmNiNWYwIn19fQ==" ) ;
nItem. save ( ) ; // If finished editing
 
Renaming an item
NOTE: FastNBT supports only Compound strings.
If you want to use legacy notation you have to call the Spigot API as usual.
Code (Java):

NItem nItem = new nItem ( new ItemStack (Material. STONE ) ) ;
nItem. setDisplayNameCompound ( "{\"text\":\"Example Compound Name\",\"color\":\"blue\"}" ) ;
nItem. save ( ) ; // If finished editing
 
Setting an attribute modifier
Code (Java):

nItem. setAttributeModifier (
        "minecraft:generic.movement_speed",
        1,
        6,
        "bro",
        "mainhand",
        1337,
        1337
) ;
nItem. save ( ) ; // If finished editing
 
Setting an attribute modifier (manual method)
Code (Java):

NList attributes = nItem. getOrAddList ( "AttributeModifiers", NBTType. Compound ) ;
NCompound attribute = new NCompound ( ) ;
attribute. setString ( "AttributeName", attributeName ) ;
attribute. setInt ( "Operation", operation ) ;
attribute. setInt ( "UUIDLeast", uuidLeast ) ;
attribute. setInt ( "UUIDMost", uuidMost ) ;
attribute. setDouble ( "Amount", amount ) ;
attribute. setString ( "Name", name ) ;
attribute. setString ( "Slot", slot ) ;
attributes. addCompound (attribute ) ;
 
Limitations
Currently, supports only items.

Adding it to your project

Plugin.yml
This is the easiest way.
Code (yml (Unknown Language)):

name: Your Plugin
author: You
# ....
libraries:
  - beer.devs:FastNbt-jar:1.4.5
 
Maven
Code (XML):

<dependency>
    <groupId>beer.devs </groupId>
    <artifactId>FastNbt-jar </artifactId>
    <version>1.4.5 </version>
    <scope>provided </scope>
</dependency>
 
Shading
Code (XML):

<plugin>
    <groupId>org.apache.maven.plugins </groupId>
    <artifactId>maven-shade-plugin </artifactId>
    <version>3.5.0 </version>
    <executions>
        <execution>
            <phase>package </phase>
            <goals>
                <goal>shade </goal>
            </goals>
            <configuration>
                <relocations>
                    <relocation>
                        <pattern>beer.devs.fastnbt. </pattern>
                        <shadedPattern>YOUR_PACKAGE_HERE.libs.beer.devs.fastnbt. </shadedPattern>
                    </relocation>
                </relocations>
            </configuration>
        </execution>
    </executions>
</plugin>
 
Resource Information
Author:
----------
Total Downloads: 307
First Release: Mar 28, 2025
Last Update: Apr 18, 2025
Category: ---------------
All-Time Rating:
0 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings