TailsLib icon

TailsLib -----

Make your custom things without mods just with your plugin!



TailsLib: Create your own items, blocks, effects
Overview
TailsLib is a robust library tailored for Bukkit plugin developers, enabling the creation of custom items, blocks, and effects without requiring mods. With TailsLib, you can achieve complex mechanics and functionalities using just plugins on your Minecraft server.

Whether you're a beginner or an experienced developer, TailsLib provides an intuitive framework to expand your server’s capabilities effortlessly.

Also leave a comment about this plugin or what i should add.

Code (YAML):
commands:
  listitems
:
    usage
: /listitems
    permission
: tailslib.citem.list
    aliases
: [citemlist ]
  citem
:
    usage
: /citem [ID ] (PLAYER )
    permission
: tailslib.citem.give
    aliases
: [customitem ]
  cblockplaced
:
    usage
: /cblockplaced [PLACE ]
    permission
: tailslib.cblock.blocksplaced
  customeffect
:
    usage
: /ceffect [check (player ) | apply (player ) (effect_id ) (level ) (duration ) | remove player effect_id | list ]
    permission
: tailslib.ceffect
    aliases
: [customeffect ]
  tailslib
:
    usage
: /tailslib [info|dlog (true|false ) ]
    permission
: tailslib.settings
    description
: TailsLib settings command.
    aliases
: [tlib ]
  citemprops
:
    usage
: /citemprops with item in active hand
    permission
: tailslib.citem.manage
  citembanlist
:
    usage
: /citembanlist [list | block [ID ] | unblock [ID ] ]
    permission
: tailslib.citem.manage
    aliases
: [itembanlist, itemban, citemban, citemunban, itemunban, citemblock, citemunban ]

Code (YAML):
permissions:
  tailslib.cblock.manage
:
    description
: Allow to manage custom blocks.
    default
: op
    children
:
      tailslib.cblock.blocksplaced
:
        default
: op
        description
: Allow to check placed blocks on map.

  tailslib.citem.manage
:
    description
: Allow to manage custom items.
    default
: op
    children
:
      tailslib.citem.give
:
        description
: Allow to give every registered custom item.
        default
: op
      tailslib.citem.list
:
        description
: Allow to check registered and banned custom items.
        default
: op

  tailslib.ceffect.manage
:
    description
: Allow to manage custom effects.
    default
: op
    children
:
      tailslib.ceffect.give
:
        default
: op
        description
: Allow to apply effects. You can allow players to apply a certain effect by specifying the effect after the point
          (E.g tailslib.ceffect.give.helloeffect <- NOT WORK AT THIS MOMENT. ).
      tailslib.ceffect.setting.maxlevel
:
        default
: not op
        description
: Allow players to apply the maximum level effect.
          Specify a level after the point so that the player can only apply a certain maximum level for all effects.
          Or specify the effect and the level for it. (E.g tailslib.ceffect.setting.helloeffect.maxlevel.5, tailslib.ceffect.setteng.maxlevel.5 ) NOT WORK AT THIS MOMENT.
      tailslib.ceffect.setting.duration
:
        default
: not op
        description
: Allow a player to grant an effect for any length of time.
          Specify a time after the point to specify the maximum time
          for the effect or add an effect before duration to specify the maximum time for the effect.
          (e.g tailslib.ceffect.setting.duration.60, tailslib.ceffect.setting.helloeffect.duration.60 ). NOT WORK AT THIS MOMENT.
      tailslib.ceffect.checkself
:
        default
: not op
        description
: Allow to check applied effects on command sender only.
        children
:
          tailslib.ceffect.check
:
            default
: op
            description
: Allow to check applied effects on every player.
      tailslib.ceffect.remove
:
        default
: op
        description
: Allow to remove applied effect from player.


Future Plans
For users who aren’t comfortable with coding, a configuration-based system is in development to allow for simpler usage.

Features
Custom Items
  • Create unique items with customized behaviors and properties.
  • Add crafting recipes with minimal effort.
  • Features include:
    • UUID for cooldowns and etc.
    • Support for Custom Item Properties, which will help you make item states or disable/enable certain actions for them.
Custom Blocks
  • Persistent blocks that save data across server restarts.
  • Fully customizable interactions for placing, breaking, and clicking.
  • Easy-to-use saving and loading mechanisms.
Custom Effects
  • Design new effects with extended functionality beyond the vanilla API.
  • Effects remain on player after restart and quitting.
PAPi Support (WIP)
  • PlaceholderAPI support (In development). Currently only PAPi for effects are available.

Other utilities

  • Other utilities that will help you work on your plugin. For example, RayTrace helper which makes it completely easy for you to work with RayTrace from Bukkit API.
  • Debugging features that help you identify bugs during creation.
Why Choose TailsLib?
TailsLib bridges the gap between the limitations of the vanilla Bukkit API and the creative possibilities of your server. From powerful custom items to persistent blocks and

How It Works

Using TailsLib is simple:

  1. Implement the relevant TailsLib interface (e.g., CustomItem, CustomBlock, or CustomEffect).
  2. Define your logic and behavior in your class.
  3. Register your creations using the provided manager classes.
For example, creating a custom item might look like this:

Code (Java):
public class MyItem implements CustomItem {
   @Override
    public CustomItemData itemData ( ) {
        return new CustomItemData ( "item_id", "Item name",
            new SimpleDescBuilder ( ). addDesc ( "My awesome description!" ),
           Material. IRON_INGOT )
           . withUUID ( )
           . addProperty ( new NoPvPCustomItemProperty ( ) ) ;
    }

   @Override
    public void rightClick (PlayerInteractEvent event, UUID uuid ) {
       event. getPlayer ( ). sendMessage ( "Right click!" ) ;
    }
}
Compatibility
  • API Changes: Some versions may introduce breaking changes, such as renamed methods or removed systems.
  • Backward compatibility will be attempted, but it may not always be perfect.
Use it in your project

Code (Text):
pom.xml
<repository>
    <id>sonatype</id>
    <url>https://oss.sonatype.org/repository/releases/</url>
</repository>

<dependency>
    <groupId>ru.thisistails.tailslib</groupId>
    <artifactId>tailslib</artifactId>
    <version>VERSION</version>
</dependency>


Known Issues
  • Limited PlaceholderAPI support (WIP).
  • The asUniqueMaterial flag may not always function correctly.
  • Commit history is not for the faint-hearted—review at your own risk!
Resource Information
Author:
----------
Total Downloads: 88
First Release: Dec 15, 2024
Last Update: Feb 2, 2025
Category: ---------------
All-Time Rating:
0 ratings
Find more info at thisistails.gitbook.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings