COWMODSКаталог модов
Tiny DataLib

ВЕРСИИ (6)

alpha

Tiny DataLib v0.0.3 ALPHA

0.0.3+mod
1 февр. 2026 г.132Minecraft: 1.21.11fabric, forge, neoforge, quilt
Скачать
Что нового
# Tiny DataLib v0.0.3 ALPHA **"Raycast Improved"** Welcome to the third Alpha release! This update is focused entirely on the **Raycast** module—making it more flexible, more powerful, and easier to use with custom range. --- ## Version Highlights * **Better Raycast:** New custom range raycast allows you to set your own range and you can also set notfound as a value that you will get if no block wasnt found! --- ## Migration Guide (Breaking Changes) If you are upgrading from `v0.0.1-2`, you **must** update your function calls. * **Old:** `tiny_datalib:raycast/block` * **New:** `tiny_datalib:raycast/block {range:<range>,notfound:<notfound>}` --- **Return Codes:** * `Any`: Success. * `None/Fail`: Maybe wrong range/notfound (Must be specified!). * `<notfound>`: No block wasn't found. --- ## Future Plans * **Raycasting:** Improved block detection accuracy. * **Distance:** Optimized calculation for high-frequency checks. * **Custom Give:** Intelligent item stacking and "Full Inventory" detection. * **New Modules:** Advanced Mannequin/Armor Stand animation controls.
alpha

Tiny DataLib v0.0.3 ALPHA

0.0.3
1 февр. 2026 г.41Minecraft: 1.21.11datapack
Скачать
Что нового
# Tiny DataLib v0.0.3 ALPHA **"Raycast Improved"** Welcome to the third Alpha release! This update is focused entirely on the **Raycast** module—making it more flexible, more powerful, and easier to use with custom range. --- ## Version Highlights * **Better Raycast:** New custom range raycast allows you to set your own range and you can also set notfound as a value that you will get if no block wasnt found! --- ## Migration Guide (Breaking Changes) If you are upgrading from `v0.0.1-2`, you **must** update your function calls. * **Old:** `tiny_datalib:raycast/block` * **New:** `tiny_datalib:raycast/block {range:<range>,notfound:<notfound>}` --- **Return Codes:** * `Any`: Success. * `None/Fail`: Maybe wrong range/notfound (Must be specified!). * `<notfound>`: No block wasn't found. --- ## Future Plans * **Raycasting:** Improved block detection accuracy. * **Distance:** Optimized calculation for high-frequency checks. * **Custom Give:** Intelligent item stacking and "Full Inventory" detection. * **New Modules:** Advanced Mannequin/Armor Stand animation controls.
alpha

Tiny DataLib v0.0.2 ALPHA

0.0.2+mod
18 дек. 2025 г.54Minecraft: 1.21.11fabric, forge, neoforge, quilt
Скачать
Что нового
# Tiny DataLib v0.0.2 ALPHA **"The Database Expansion"** Welcome to the second Alpha release! This update is focused entirely on the **Database** module—making it more flexible, more powerful, and easier to use with any data key, not just player UUIDs. --- ## Version Highlights * **Flexible Keys:** New "Custom Entry" support allows you to store data using any string or NBT as a key. * **Math on the Fly:** The new `var/math` system lets you perform operations (`+=`, `*=`, etc.) directly on database variables. * **Improved Data Control:** Fine-grained control with `get/set` for specific paths vs `get_full/set_full` for entire objects. * **Major Refactor:** Changed terminology from "Save" to "Entry" for better technical accuracy. --- ## Migration Guide (Breaking Changes) If you are upgrading from `v0.0.1`, you **must** update your function calls. * **Old:** `tiny_datalib:database/save/...` * **New:** `tiny_datalib:database/entry/...` --- ## Database Documentation ### 1. Entry Management Use these functions to initialize or delete a slot in the database. | Function | Method | Description | | --- | --- | --- | | `entry/add` | Entity UUID | Creates a new entry using the executor's UUID. | | `entry/add/macro` | `{ENTRY: <key>}` | Creates a new entry using a custom key (String/NBT). | | `entry/remove` | Entity UUID | Deletes the entry associated with the executor. | | `entry/remove/macro` | `{ENTRY: <key>}` | Deletes the entry associated with the custom key. | **Return Codes:** * `1`: Success. * `-1`: Entry already exists (for add) or doesn't exist (for remove). --- ### 2. Data Manipulation (NBT Objects) These functions handle raw NBT data. Useful for saving inventories, complex state machines, or nested objects. #### **Partial Data (Get/Set)** *Used for specific paths within an entry.* ```mcfunction # Example: Set a specific path function tiny_datalib:database/data/set {with:"entity @s", data:"Inventory"} # Example: Get a specific path from a custom entry function tiny_datalib:database/data/get/macro {ENTRY:"GlobalConfig", data:"Settings.Difficulty"} ``` #### **Full Data (Get Full/Set Full)** *Used to overwrite or retrieve the entire entry object.* ```mcfunction # Example: Backup an entire player entry to storage function tiny_datalib:database/data/get_full with entity @s ``` **Return Codes:** * `1`: Success. * `-1`: Entry/UUID not found. * `-2`: Specific data path not found. --- ### 3. Variable Logic & Math This is the most powerful part of `v0.0.2`. You can now manipulate numbers stored in the database without manually pulling them to a scoreboard first. #### **Variable Math** Supports all standard scoreboard operations: `+=`, `-=`, `*=`, `/=`, `%=`, `=`, `<`, `>`, `><`. ```mcfunction # Example: Adding 10 to a player's "Mana" variable function tiny_datalib:database/var/math {with:"entity @s", var:"Mana", math:"+=", mathvalue:10} # Example: Multiplying a custom entry variable function tiny_datalib:database/var/math/macro {ENTRY:"WorldData", var:"DayCount", math:"*=", mathvalue:2} ``` #### **Get/Set Variables** ```mcfunction # Example: Set a variable directly function tiny_datalib:database/var/set {with:"entity @s", var:"Level", value:5} # Example: Get a variable with a fallback (none) if it doesn't exist function tiny_datalib:database/var/get {with:"entity @s", var:"Coins", none:0} ``` --- ## Future Plans * **Raycasting:** Custom range options and improved block detection accuracy. * **Distance:** Optimized calculation for high-frequency checks. * **Custom Give:** Intelligent item stacking and "Full Inventory" detection. * **New Modules:** Advanced Mannequin/Armor Stand animation controls. --- ### Pro-Tip for v0.0.2 When using `entry/add/macro`, your `ENTRY` key can be a simple string like `"Global_Settings"`. This makes it incredibly easy to store data that isn't tied to a player, like a custom shop's stock or world-wide event progress.
alpha

Tiny DataLib v0.0.2 ALPHA

0.0.2
18 дек. 2025 г.37Minecraft: 1.21.11datapack
Скачать
Что нового
# Tiny DataLib v0.0.2 ALPHA **"The Database Expansion"** Welcome to the second Alpha release! This update is focused entirely on the **Database** module—making it more flexible, more powerful, and easier to use with any data key, not just player UUIDs. --- ## Version Highlights * **Flexible Keys:** New "Custom Entry" support allows you to store data using any string or NBT as a key. * **Math on the Fly:** The new `var/math` system lets you perform operations (`+=`, `*=`, etc.) directly on database variables. * **Improved Data Control:** Fine-grained control with `get/set` for specific paths vs `get_full/set_full` for entire objects. * **Major Refactor:** Changed terminology from "Save" to "Entry" for better technical accuracy. --- ## Migration Guide (Breaking Changes) If you are upgrading from `v0.0.1`, you **must** update your function calls. * **Old:** `tiny_datalib:database/save/...` * **New:** `tiny_datalib:database/entry/...` --- ## Database Documentation ### 1. Entry Management Use these functions to initialize or delete a slot in the database. | Function | Method | Description | | --- | --- | --- | | `entry/add` | Entity UUID | Creates a new entry using the executor's UUID. | | `entry/add/macro` | `{ENTRY: <key>}` | Creates a new entry using a custom key (String/NBT). | | `entry/remove` | Entity UUID | Deletes the entry associated with the executor. | | `entry/remove/macro` | `{ENTRY: <key>}` | Deletes the entry associated with the custom key. | **Return Codes:** * `1`: Success. * `-1`: Entry already exists (for add) or doesn't exist (for remove). --- ### 2. Data Manipulation (NBT Objects) These functions handle raw NBT data. Useful for saving inventories, complex state machines, or nested objects. #### **Partial Data (Get/Set)** *Used for specific paths within an entry.* ```mcfunction # Example: Set a specific path function tiny_datalib:database/data/set {with:"entity @s", data:"Inventory"} # Example: Get a specific path from a custom entry function tiny_datalib:database/data/get/macro {ENTRY:"GlobalConfig", data:"Settings.Difficulty"} ``` #### **Full Data (Get Full/Set Full)** *Used to overwrite or retrieve the entire entry object.* ```mcfunction # Example: Backup an entire player entry to storage function tiny_datalib:database/data/get_full with entity @s ``` **Return Codes:** * `1`: Success. * `-1`: Entry/UUID not found. * `-2`: Specific data path not found. --- ### 3. Variable Logic & Math This is the most powerful part of `v0.0.2`. You can now manipulate numbers stored in the database without manually pulling them to a scoreboard first. #### **Variable Math** Supports all standard scoreboard operations: `+=`, `-=`, `*=`, `/=`, `%=`, `=`, `<`, `>`, `><`. ```mcfunction # Example: Adding 10 to a player's "Mana" variable function tiny_datalib:database/var/math {with:"entity @s", var:"Mana", math:"+=", mathvalue:10} # Example: Multiplying a custom entry variable function tiny_datalib:database/var/math/macro {ENTRY:"WorldData", var:"DayCount", math:"*=", mathvalue:2} ``` #### **Get/Set Variables** ```mcfunction # Example: Set a variable directly function tiny_datalib:database/var/set {with:"entity @s", var:"Level", value:5} # Example: Get a variable with a fallback (none) if it doesn't exist function tiny_datalib:database/var/get {with:"entity @s", var:"Coins", none:0} ``` --- ## Future Plans * **Raycasting:** Custom range options and improved block detection accuracy. * **Distance:** Optimized calculation for high-frequency checks. * **Custom Give:** Intelligent item stacking and "Full Inventory" detection. * **New Modules:** Advanced Mannequin/Armor Stand animation controls. --- ### Pro-Tip for v0.0.2 When using `entry/add/macro`, your `ENTRY` key can be a simple string like `"Global_Settings"`. This makes it incredibly easy to store data that isn't tied to a player, like a custom shop's stock or world-wide event progress.
alpha

Tiny DataLib v0.0.1 ALPHA

0.0.1+mod
16 дек. 2025 г.39Minecraft: 1.21.11fabric, forge, neoforge, quilt
Скачать
Что нового
# Tiny DataLib v0.0.1 ALPHA: Core Utilities Welcome to the initial alpha release of Tiny DataLib! This version focuses on providing essential, robust utility functions for your datapack development. ## Key Features in v0.0.1 * **Distance Calculation:** Get the precise distance between any two entities by their UUID. * **Database:** A flexible, UUID-based data storage system for persistent entity data. * **Custom Give:** Safely give players complex items, easily fetching data from existing item data structures (like a chest slot). * **Raycast Block:** Quickly determine what block an entity is looking at and how far away it is. ## Usage Examples ### Distance Calculation ``` # data modify storage tiny_datalib:temp distance.UUID1 set from entity <Entity1> UUID ## Entity 1 # data modify storage tiny_datalib:temp distance.UUID2 set from entity <Entity2> UUID ## Entity 2 # function tiny_datalib:calc/distance with storage tiny_datalib:temp distance ## Make sure that both UUID's are valid. # data modify storage tiny_datalib:temp distance set value {} ## Use if you want to reset function. ## Return types: # Any -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ``` ### Database #### Add new save to database ``` # function tiny_datalib:database/save/add ## DATABASE ADD SAVE FUNCTION # ## Example: # function tiny_datalib:database/save/add with entity @s ## Adds a new save to database with key as a players UUID ## # ## Return types: # -1 -- UUID already exists (NO ERROR - UUID ALREADY EXISTS INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Remove save from database ``` # function tiny_datalib:database/save/remove ## DATABASE REMOVE SAVE FUNCTION # ## Example: # function tiny_datalib:database/save/remove with entity @s ## Removes save from database with key as a players UUID ## # ## Return types: # -1 -- UUID doesnt exists (NO ERROR - PLAYER ISNT INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Get data from save in database ``` # function tiny_datalib:database/data/get ## DATABASE GET SAVE FUNCTION # ## Example: # function tiny_datalib:database/data/get with entity @s ## Gets save from UUID and puts it inside storage tiny_datalib:database output ## # ## Return types: # -1 -- UUID doesnt exists (NO ERROR - UUID ISNT INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Set new data to save in database ``` # function tiny_datalib:database/data/set ## DATABASE SET SAVE FUNCTION # ## Example: # function tiny_datalib:database/data/set with entity @s ## Sets save from UUID to data from storage tiny_datalib:database save ## # ## Return types: # -1 -- UUID doesnt exists (NO ERROR - UUID ISNT INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Get variable from save in database ``` # function tiny_datalib:database/var/get ## DATABASE GET VAR FUNCTION # ## Example: # function tiny_datalib:database/var/get {with:"entity @s",var:"",none:0} ## Gets variable from player. var must be valid and none is the value that you will get if it doesnt exist. ## # ## Return types: # Any -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Set new or update variable from save in database ``` # function tiny_datalib:database/var/set ## DATABASE SET VAR FUNCTION # ## Example: # function tiny_datalib:database/var/set {with:"entity @s",var:"",value:0} ## Sets/Creates variable for player. Value must be number! ## # ## Return types: # -1 -- UUID doesnt exists (NO ERROR - UUID ISNT INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` ### Custom Give #### Custom Give no macro ``` # function tiny_datalib:give/item ## CUSTOM GIVE FUNCTION # ## Example: # data modify storage tiny_datalib:temp item set from entity @s SelectedItem ## Data item can be anything as long as it has id and count specified... # function tiny_datalib:give/item ## No macro isnt used and storage cannot be changed, This function MUST be run as a player. # data modify storage tiny_datalib:temp item set value {} ## Use if you want to reset function. ## # ## Return types: # -1 -- Wrong id (ERROR - MAYBE WRONG ITEM) # -2 -- Wrong count (ERROR - MAYBE WRONG ITEM) # -3 -- Wrong UUID (ERROR - FUNCTION MUST BE RUN AS A PLAYER) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Custom Give with macro ``` # function tiny_datalib:give/item/macro ## CUSTOM MACRO GIVE FUNCTION # ## Example: # function tiny_datalib:give/item/macro {with:"entity @s", data:"SelectedItem"} ## Make sure that its all valid, Function must be runned as a player ## # ## Return types: # -1 -- Wrong id (ERROR - MAYBE WRONG ITEM) # -2 -- Wrong count (ERROR - MAYBE WRONG ITEM) # -3 -- Wrong UUID (ERROR - FUNCTION MUST BE RUN AS A PLAYER) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` ### Raycast Block ``` # function tiny_datalib:raycast/block ## RAYCAST BLOCK FUNCTION # ## Example: # function tiny_datalib:raycast/block ## Maximum range - 32, Custom range will be added in future updates... ## # ## Return types: # Any -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` ## Future Plans (Coming Soon!) We are already working on the next set of features to improve performance and add utility: * **Raycasting:** Custom range options and improved block detection accuracy. * **Distance:** Better calculation for reduced lag. * **Custom Give:** Implementing item stacking to avoid dropping or unnecessary slot usage. * **Database:** Advanced features including variable calculation and optimized data get/set operations. * **New Modules:** Mannequin controls and more!
alpha

Tiny DataLib v0.0.1 ALPHA

0.0.1
16 дек. 2025 г.28Minecraft: 1.21.11datapack
Скачать
Что нового
# Tiny DataLib v0.0.1 ALPHA: Core Utilities Welcome to the initial alpha release of Tiny DataLib! This version focuses on providing essential, robust utility functions for your datapack development. ## Key Features in v0.0.1 * **Distance Calculation:** Get the precise distance between any two entities by their UUID. * **Database:** A flexible, UUID-based data storage system for persistent entity data. * **Custom Give:** Safely give players complex items, easily fetching data from existing item data structures (like a chest slot). * **Raycast Block:** Quickly determine what block an entity is looking at and how far away it is. ## Usage Examples ### Distance Calculation ``` # data modify storage tiny_datalib:temp distance.UUID1 set from entity <Entity1> UUID ## Entity 1 # data modify storage tiny_datalib:temp distance.UUID2 set from entity <Entity2> UUID ## Entity 2 # function tiny_datalib:calc/distance with storage tiny_datalib:temp distance ## Make sure that both UUID's are valid. # data modify storage tiny_datalib:temp distance set value {} ## Use if you want to reset function. ## Return types: # Any -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ``` ### Database #### Add new save to database ``` # function tiny_datalib:database/save/add ## DATABASE ADD SAVE FUNCTION # ## Example: # function tiny_datalib:database/save/add with entity @s ## Adds a new save to database with key as a players UUID ## # ## Return types: # -1 -- UUID already exists (NO ERROR - UUID ALREADY EXISTS INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Remove save from database ``` # function tiny_datalib:database/save/remove ## DATABASE REMOVE SAVE FUNCTION # ## Example: # function tiny_datalib:database/save/remove with entity @s ## Removes save from database with key as a players UUID ## # ## Return types: # -1 -- UUID doesnt exists (NO ERROR - PLAYER ISNT INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Get data from save in database ``` # function tiny_datalib:database/data/get ## DATABASE GET SAVE FUNCTION # ## Example: # function tiny_datalib:database/data/get with entity @s ## Gets save from UUID and puts it inside storage tiny_datalib:database output ## # ## Return types: # -1 -- UUID doesnt exists (NO ERROR - UUID ISNT INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Set new data to save in database ``` # function tiny_datalib:database/data/set ## DATABASE SET SAVE FUNCTION # ## Example: # function tiny_datalib:database/data/set with entity @s ## Sets save from UUID to data from storage tiny_datalib:database save ## # ## Return types: # -1 -- UUID doesnt exists (NO ERROR - UUID ISNT INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Get variable from save in database ``` # function tiny_datalib:database/var/get ## DATABASE GET VAR FUNCTION # ## Example: # function tiny_datalib:database/var/get {with:"entity @s",var:"",none:0} ## Gets variable from player. var must be valid and none is the value that you will get if it doesnt exist. ## # ## Return types: # Any -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Set new or update variable from save in database ``` # function tiny_datalib:database/var/set ## DATABASE SET VAR FUNCTION # ## Example: # function tiny_datalib:database/var/set {with:"entity @s",var:"",value:0} ## Sets/Creates variable for player. Value must be number! ## # ## Return types: # -1 -- UUID doesnt exists (NO ERROR - UUID ISNT INSIDE OF SAVES) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` ### Custom Give #### Custom Give no macro ``` # function tiny_datalib:give/item ## CUSTOM GIVE FUNCTION # ## Example: # data modify storage tiny_datalib:temp item set from entity @s SelectedItem ## Data item can be anything as long as it has id and count specified... # function tiny_datalib:give/item ## No macro isnt used and storage cannot be changed, This function MUST be run as a player. # data modify storage tiny_datalib:temp item set value {} ## Use if you want to reset function. ## # ## Return types: # -1 -- Wrong id (ERROR - MAYBE WRONG ITEM) # -2 -- Wrong count (ERROR - MAYBE WRONG ITEM) # -3 -- Wrong UUID (ERROR - FUNCTION MUST BE RUN AS A PLAYER) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` #### Custom Give with macro ``` # function tiny_datalib:give/item/macro ## CUSTOM MACRO GIVE FUNCTION # ## Example: # function tiny_datalib:give/item/macro {with:"entity @s", data:"SelectedItem"} ## Make sure that its all valid, Function must be runned as a player ## # ## Return types: # -1 -- Wrong id (ERROR - MAYBE WRONG ITEM) # -2 -- Wrong count (ERROR - MAYBE WRONG ITEM) # -3 -- Wrong UUID (ERROR - FUNCTION MUST BE RUN AS A PLAYER) # 1 -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` ### Raycast Block ``` # function tiny_datalib:raycast/block ## RAYCAST BLOCK FUNCTION # ## Example: # function tiny_datalib:raycast/block ## Maximum range - 32, Custom range will be added in future updates... ## # ## Return types: # Any -- Sucessful (NO ERROR) # None/Fail -- Something went wrong (ERROR - PLEASE CHECK IF YOU HAVE EVERYTHING CORRECT) ## ``` ## Future Plans (Coming Soon!) We are already working on the next set of features to improve performance and add utility: * **Raycasting:** Custom range options and improved block detection accuracy. * **Distance:** Better calculation for reduced lag. * **Custom Give:** Implementing item stacking to avoid dropping or unnecessary slot usage. * **Database:** Advanced features including variable calculation and optimized data get/set operations. * **New Modules:** Mannequin controls and more!