Bookshelf Changelogs - v1.1.41
INTERNAL UPDATES
- Updated Bookshelf API to
v1.1.61
- Updated Bookshelf Events to
v1.0.1
EVENT UPDATES
PlayerChatEvent
now defaults tonull
when setting viewers. Ifviewers
is null, everyone will see the message.
API UPDATES
- Add Scoreboard Manager to Bookshelf API
- By default, it can be built in to your plugin with Bookshelf's api initializer.
- Added
#rebuild
toMenu
- Changed
Consumer<Void>
toRunnable
in Bookshelf's menu builder.
PLUGIN UPDATES
- Updated
config.yml
version to 5 - Added
Scoreboard Manager
to Bookshelf.- By default, it will be disabled upon installation.
- Added priorities to all Bookshelf listeners. Giving developers the ability to use Bookshelf events properly.
Bookshelf Changelogs for v1.1.4
INTERNAL UPDATES
- Updated to
Bookshelf API v1.1.6
API CHANGES
- Renamed all util classes with a suffix of
Util
toHelper
. - Fixed
MiniMessageHelper#serialize
not stripping colors. - Added
AbstractBoard
,IBoardManager
andAbstractBoardManager
to allow developers to easily integrate scoreboards with ease.- Still a WIP, no documentation on this just yet.
PLUGIN UPDATES
- Power Tool Changes
- Power tooled items now defaults as the player being the command sender.
- Power Tool now has auto completion, allowing you to access subcommands and arguments from all available commands.
- Power Tool now has auto flag completition, allowing you to add flags to your commands for quick automation.
-d [ticks]
- Delays the command being executed in ticks.-c
- Executes the command as console.-t [target]
- Executes the command as a player.- Example usage:
-cd 100 -t Apollo30
- This basically means: "Execute the command as console in 5 seconds as Apollo30"
- Removed delay in seconds from power tools, default is now ticks.
- Fixed
/maxdurability
not properly working because of a type casting error withint.class
andInteger.class
. - Added a new command named
/health
. This command sets the player's health to any amount. - Starting with
v1.1.4
of Bookshelf,config.yml
will now automatically update to the latest version.
BUG FIXES
- Fixed
/killall
being unreliable.- Added two new flags,
-f
and-r
.-f
- Means force kill any entity. If the entity is persistent (nametags, pets, etc). They won't be killed.-r
- Means remove that entity. By default, entities will be/killed
. Removing the entity doesn't have a sound nor will have any drops from that entity.
- Added another argument named "world".
- If no world is specified, it will by default be set to the world the player's in. Since
/killall
is per world, we've added it in case you want to run the command in another world.
- If no world is specified, it will by default be set to the world the player's in. Since
- Added two new flags,
- All commands with a flag now has a
FlagArgument
. Meaning that Bookshelf will now autocomplete available flags that you can use for that command.- There are two ways to run a flag on a command:
-st
or-s -t
- There are two ways to run a flag on a command:
- Fixed
/hat
needing a target player for it to equip.
Bookshelf Changelogs for v1.1.32
INTERNAL UPDATES
- Updated to
Bookshelf API v1.1.52
API CHANGES
- Moved all events from Bookshelf to a new repository and plugin. Available at Jitpack and GitHub.
- This change allows developers to separate the usage of shading Bookshelf's API and using Bookshelf's events.
- Fixed a bug that minimized the plugin's jar. Causing unused classes to never make the production jar.
- Added callbacks to the
ICooldownManager
that runs/completes once the cooldown is up.- If an existing cooldown is set, it will replace it.
MiniMessage#deserialize
now accepts an object which will automatically convert that object to a string.- Fixed nested variables not working with
VariableContext
. - Removed
IAPIChatManager
support. It's now exclusive to the Bookshelf plugin.
BUG FIXES
- Fixed a bug that registered the
/maxdurability
command for1.20.x
. - Fixed a massive bug that causes immense lag for servers that has high player counts.
- Fixed a bug that broke the
/maxdurability
command because of theint.class
andInteger.class
casting error.
Bookshelf Changelogs for v1.1.31
INTERNAL UPDATES
- Updated to
Bookshelf API v1.1.51
API CHANGES
- Added
PlayerEquipArmorEvent
for developers to listen to whenever a player equips an armor in any way.
PLUGIN UPDATES
- Fixed reflection accessibility bug with
/maxdurability
. - Fixed
/maxdurability
being registered for versions lower than 1.21.x - Fixed a bug that stresses the server out by calling every player's
PersistentDataContainer
. Causes immense lag for over 150+ players. - Fixed
/durability
not properly registering. - Moved config check for chat manager so you're able to reload bookshelf and disable chat manager on the fly.
- Fixed a bug that threw an error when cancelling a null sound.
Bookshelf Changelogs for v1.1.3
INTERNAL UPDATES
- Updated to
Bookshelf API v1.1.5
API UPDATES
- Most of Bookshelf's API can now be shaded into your own plugins, you are able to create a builder that can enable managers that was originally exclusive to the Bookshelf plugin.
- It's important to remember to relocate the api's path in case another plugin depends on the actual plugin.
Bookshelf Changelogs for v1.1.21
INTERNAL UPDATES
- Updated to
Bookshelf API v1.0.41
.
API UPDATES
- Fixed a bug that prevented Bookshelf from accessing classes with reflection
- Added ItemBuilder#onBuildConsumer to support latest versions
- Deprecated Command.java, removed CommandAPI as dependency
- Refactored namespace from to.lodestone -> gg.lode
- Added EntityHelper courtesy of Robsutar.
- Removed Util suffix from ArgumentParser
- Added VariableContext class
- Allowing you to easily create placeholder based variables. Useful for configuration!
PLUGIN UPDATES
/vanish
now silently opens Chests and Barrels.- Added
/nightvision
command that can be made public for players to use. - Added
/maxdurability
command that can be used to change the max durability of an item.- Only available on 1.21+!
BUG FIXES
- Fixed a bug that never loaded custom made worlds.
- Rendering
/world goto
to only be useful for vanilla worlds.
- Rendering
- Added more options for the
/killall
command. - Fixed a bug that prevented the player from killing players while on a different world.
- Fixed a bug that never heals the player despite using the
--heal
flag when setting their max health. - Updated
/clearpack
so it completely removes all downloaded packs given from the server.- Originally, it used to just download an empty pack.
- Updated
/warp
to default the warp world to the player's current world instead of throwing an error.- This is very useful especially when transferring warps made by EssentialsX
- Fixed a bug that never plays a player hurt sound when a player "dies" with god mode.
Bookshelf Changelogs for v1.1.2
DEPENDENCY UPDATES
- Shaded the following dependencies into Bookshelf, meaning you won't have to install these dependencies anymore.
INTERNAL UPDATES
- Updated to
Bookshelf API v1.0.4
. - Updated to
CommandAPI v10.0.0
.
API UPDATES
- Added
ItemBuilder#onBuildConsumer
that allows you to directly obtain the ItemStack before returned through#build
.- Best use case for this is using new meta features from
1.21+
since Bookshelf API is still native to1.20
.
- Best use case for this is using new meta features from
- Downgraded Java Version to 17
PLUGIN UPDATES
- Added support for
1.21.5
. - Added support for Folia as a loader.
Bookshelf Changelogs for v1.1.12
WHAT'S CHANGED?
API CHANGES
- Added two compatible classes:
LuckPermsCompat
- Added for those who want to use LuckPerms as a soft dependency.AttributeCompat
- Added for 1.21.1 compatibility to access attributes that aren't accessible in older versions.
INTERNAL BOOKSHELF UPDATES
- Updated Bookshelf API to
v1.1.23
PLUGIN UPDATES
- Added
/bookshelf version
for further debugging. - Updated all 1.21.x commands with the new compat utilities.
- Fixed
ChatManager
not properly registering if LuckPerms is not installed.
Bookshelf Changelogs for v1.1.11
WHAT'S CHANGED?
API CHANGES
- Fixed
MiniMessageUtil#getCenteredMessage
not supporting different types of components.
INTERNAL UPDATES
- Updated Bookshelf API to
v1.1.23
PLUGIN UPDATES
- Added
/world goto
,/world create
, and/world delete
to Bookshelf. Fixed Bookshelf properly not supporting1.20.x
.- Made
targets
optional for/resetattributes
Bookshelf Changelogs for v1.1.0
WHAT'S CHANGED?
GENERAL UPDATES
- Migrated the primary version of Bookshelf to
1.21.1
, please report any bugs you may find via github. - Update API version to
v1.21.1
ATTRIBUTE COMMANDS
- Added
/resetallattributes
to reset all player attributes with ease. - Added the following attribute commands:
- Available for
1.20.x - 1.21.x
:/knockbackresistance
and/maxhealth
- Only available for
1.21.x
:/blockreach
,/entityreach
, and/gravity
.
- Available for
- Added
/durability random
to the/durability
command.- This randomizes the durability of the item you're holding!
POWERTOOLS
- Implemented a very powerful system for item powertools
- Starting off, you can use
/powertool list
to view active powertools on an item. - To add a powertool, you can use
/powertool add [command]
with proper argument suggestions. - Introducing flags! By default, commands are ran directly as console.
- To run the command as the source (player), add
-p, --player, -s, or --source
flag. - To run the command with target parameters, use
{target}
as the placeholder, as well as the-t
, or--target
flag at the end.- With this, you can look at a player, use the item on them and they will be replaced as the target.
- To run the command as the source (player), add
- Introduction of delays :clock10:
- With this system, you're able to delay the command from being ran with the
-d
or--delay
tag. - As an example:
/powertool add say Hello World --delay 20
- Reminder that this runs after 20 ticks, not seconds. To use seconds, use
-sd
or--s-delay
.
- Reminder that this runs after 20 ticks, not seconds. To use seconds, use
- With this system, you're able to delay the command from being ran with the
- Starting off, you can use
FIXES
- Fixed a bug with
/durability
that threw an exception if the durability was too high.
API UPDATES
- Added
PlayerCraftCustomEvent
for developers to listen to whenever a player uses/craft [item]
- Added
ItemBuilder#trimMaterial
&ItemBuilder#trimPattern
toItemBuilder
- Added
StringUtil#format
to support a custom version ofString#format
.- Example Usage:
StringUtil.format("{0} {1}", "Hello", "World")
-> "Hello World" - Example Usage with Key, Values:
StringUtil.format("{foo} {bar}", Map.of("foo", "Hello", "bar", "World"))
-> "Hello World"
- Example Usage:
Bookshelf Changelogs - v1.0.92
API Updates + Bug Fixes
BUG FIXES
- Fixed a bug with
/smite
that visually smites the command executor rather than the target.
API CHANGES
Menu
now has#setItem(int col, int row, ItemStack itemStack, Consumer<InventoryClickEvent> consumer)
and#setItem(int slot, ItemStack itemStack, Consumer<InventoryClickEvent> consumer)
.- Added multiple variants of
#notifyPlayerWithCooldown
insideICooldownManager
. - Added
#getCooldown
toICooldownManager
.
Bookshelf Changelogs - v1.0.9
New Addition, Changes, and Fixes + Improved Chat Manager! 🎉
NEW ITEMS
- Added "Mob Deleter" stick, this allows you to delete any mob from the game if they are hit with it.
FIXES
- Bookshelf now waits for LuckPerms to load.
- Added chat cooldowns to Bookshelf's chat manager.
- Added anti-spam to Bookshelf's chat manager.
- Updated Bookshelf's profanity filter to a more up-to-date and strict checks.
- Removed join and quit messages while in vanish.
/tellraw
now supports JSON or Arrays containing JSON./smite
now visually strikes the proper targets/clone
now properly allowing you to clone your items or inventory to other players.
NEW COMMANDS
- Added a custom
/summon
command that works alongside the vanilla/summon
./summon [mob] [<amount>]
/summon [mob] at [target] [<amount>]
- Added
/reply
command to quickly message incoming messages!
COMMAND CHANGES
- Added fallback messages to console if it tries to use a player only command.
/sudo
,/night
,/midnight
,/day
,/godmode
now works through console, command blocks, players, etc...- Added
/top [player] -n
to teleport to the nearest to highest position. - Switched arguments for
/fly [boolean] [players]
->/fly [players] [boolean]
API CHANGES
MenuBuilder
now has an#update
method that allows you to rebuild the menu in case of any updates.- Refactored
IGameManager
toIServerManager
- Deprecated "premium servers" inside
PremiumManager
- Added more methods inside
Configuration
,
Bookshelf v1.0.82 is out now!
More Commands + Bug Fixes.
What's Changed?
- Officially removed Bookshelf's public watermark. This message will only display for operators.
- Support for 1.21.4
- Internal Optimization Changes
- Added
/spawn [<world>]
command. - Fixed
/sudo
to support tab completion.- When sudoing a user, they can run any command you force them to run. This is dangerous to be careful.
- Fixed
/tellraw
to support json components. - Players who has
lodestone.bookshelf.message_bypass
(or operators) can now message users who have/privacy on
. - Added support for displaying suffix through LuckPerms.
- Bookshelf now supports luckperm's intentional feature to display prefixes and suffixes.
- Fixed extra spaces when displaying prefixes.
- Fixed bug that allows the user to steal items from menus when closing it.
- Added support to open enderchests silently while in vanish.
- Unfortunately, it takes an extra step to open containers silently. I will have to do that when I have an absurd amount of free time.
Changelogs for Bookshelf v1.0.7-beta
- Fixed
/gm [0|1|2|3] [player]
not properly setting the target's gamemode. - Chat Manager can now support multiple prefixes from other plugins.
- to disable this, use the api
event.setModified(true)
in thePlayerChatEvent
class.
- to disable this, use the api
- Added the
/sudo
command. Allowing you to run commands as other players. - Added the
/clone
command. Allowing you to clone your hand to inventory to other players. - Added the
/smite
command. Allowing you to smite other players with true damage. - Added the ability to
/warp relocate
warps, instead of re-adding it.
API Changes
- Updated Bookshelf API version to
v1.0.8