8.2 KiB
8.2 KiB
1.8.1
- Added
/phtest, merged from PlaceholderTest-OG: it checks that the MiniPlaceholders other plugins register resolve. Gated by theutilities.phtestpermission, toggled byPlaceholderTest, and the expected tags live underPlaceholderTestPluginsin config.yml.
1.8.0
- Updated the player data bridge for TrueOG Purpur.
savePlayerDatanow returnsvoid, andgetSeenPlayersuses Bukkit's offline player list. - Removed shared database APIs and the RocksDB dependency. MyWorlds now stores per-world profiles inside vanilla player profiles.
upgradePlayerDatanow uses Paper's public data converter.- Player data and inventory helpers now throw
IllegalStateExceptionon storage read or write failures.
1.7.9
- Updated the player data bridge for TrueOG Purpur's vanilla-only profile storage. MyWorlds manages its own profiles.
- Added shared database APIs for plugins to manage their own column families and make atomic writes.
1.7.8
- Utilities-OG is now the single bridge to the TrueOG Purpur RocksDB player data storage. New world scoped API with raw NMS tags as
Object:getPlayerData(world, uuid),savePlayerData(world, uuid, tag),savePlayerData(uuid, perWorld)(atomic),hasPlayerData(world, uuid),getSeenPlayers(world),dropWorldPlayerData(world),copyWorldPlayerData(from, to), plusisPlayerDataApiAvailable(). MyWorlds uses it for per-world inventories. - The bridge is plain reflection into the server. Paperweight, the dev bundle, reobfuscation and the
v1_19_R3pin are gone from the build. - Inventory helpers convert items with Item-NBT-API (now a hard
depend, so the helpers always work when the fork API is present):setInventoryDatareturnsbooleanand writes nothing for a player without a stored profile or when the server refuses the write.getInventoryDataandgetHeldItemSlotreturn empty results instead of throwing for such players. AddedisPlayerInventoryApiAvailable(). - Added
flushPlayerData()(durable WAL flush, needs the matching PurpurPlayerDataApi.flush(); false on older forks) and per-playerlockPlayerData/unlockPlayerData.setInventoryDatanow holds that lock so an offline edit and a MyWorlds save cannot interleave their read-modify-writes. - Removed the unused
hasPlayerData(UUID)single-arg overload; usehasPlayerData(world, uuid). - Added a
RegisterPlaceholdersconfig toggle (default true) to disable the built-in MiniPlaceholders (servers_name,player_display_name); the placeholder API for other plugins is unaffected.
1.7.5
- Added
/ahand/auctionstubs explaining that TrueOG has no auction house, only the physical player market in the warzone. - Added
/infostub that forwards to/helpwith the same arguments. /wildand/rtpnow print identical messages apart from the command name.
1.7.4
- Added offline player data API backed by Purpur internals via paperweight:
getInventoryData(UUID),setInventoryData(UUID, ItemStack[]), andgetHeldItemSlot(UUID). - Removed FastOfflinePlayer and its PostgreSQL / jasync dependency, along with the
postgres*config keys. - Gradle now outputs a single reobfuscated
Utilities-OG-<version>.jarinbuild/libs; intermediate jars moved tobuild/intermediates.
1.7.3
- NoFlippy now covers fence gates as well as trapdoors under the
can-flippyflag.
1.7.2
- Refactored NoFlippy-OG to enforce its rules more strongly.
- Absorbed RandomDrops-OG into Utilities-OG.
1.7.1
- Merged
MissingCommands-OGinto Utilities-OG.
1.7
- Added
MessageFormatas a selector for MiniMessageStandardTagsfamilies (color,decorations,rainbow,gradient,reset), and after Adventure 4.18 is shipped on TrueOG Network, also StandardTags.shadowColor(). - Added optional
MessageFormatparameter totrueogMessage,trueogRawMessage,trueogColorize, andtrueogExpand. Existing single-argument calls keep legacy behavior (every formatting tag active unless stripped). MessageFormatincludes callablesnone()andfull()which can be respectively paired withwithColor/withoutColor,withDecorations/withoutDecorations,withRainbow/withoutRainbow,withGradient/withoutGradient,withReset/withoutReset.stripFormattingis now more comprehensive, using MiniMessage instead of Regex.- Added
stripFormatting(Component)overload that flattens a Component tree to plain text. - Non enabled tags are now rendered as literal text instead of being consumed without being passed on by Adventure.
- Refactoring for efficiency and maintainability.
1.6.7
- MiniPlaceholder output now bleeds formatting into surrounding text like legacy color codes, unless explicitly reset or stripped.
1.6.6
- Disabled entity cramming now that true-og/ChunkCap-OG and true-og/MobLimiter-OG establish a ceiling.
- Split string-based player messaging into miniplaceholder expanding and non-expanding APIs.
- Add
trueogRawMessage(Player, String)andtrueogRawMessage(UUID, String)for sending unexpanded or pre-expanded text with TrueOG formatting.
1.6.5
- Remove all PlaceholderAPI references and support MiniPlaceholders only.
- Always register built-in MiniPlaceholders without a config toggle.
- Ensure trueogMessage and other player-facing message helpers send on the caller's current thread.
- Add trueogMessage(Player, Component) for direct Adventure component sends.
- Remove the public async task API from the documented plugin surface.
1.6.4:
- Track live config file on git using SubstAgent.
- Rename NoAdvancementsInCreativeListener to AdvancementsOnlyInSurvivalListener.
1.6.3:
- Initial implementation of FastOfflinePlayer: serialize(), deserialize(), getName(), getUniqueID().
- Populate initial FastOfflinePlayer database with jasync Postgres.
- Unit testing for complete FastOfflinePlayer functions.
1.6.2:
- Fix console logging API.
1.6.1
- Log API MiniPlaceholder creation to the console.
- trueogColorize API.
1.6:
- Add support for declaring MiniPlaceholders with arguments.
- stripFormatting API.
1.5.2:
- Fix declaring MiniPlaceholders from external plugins.
1.5.1:
- Improve API documentation.
- Fix trueogMessage().
1.5:
- Create audience, global, and relative MiniPlaceholders in one new, simple API.
- Expand and format MiniPlaceholders within MiniPlaceholders.
- First 1.19 Stable Release.
1.4.7:
- Expand global and relational placeholders.
1.4.6:
- logToConsole API.
1.4.5:
- LuckPerms colors for <player_display_name>.
1.4.4:
- Added UUID processing for API use outside of a bukkit context.
1.4.3:
- Revised APIs for better usability.
- Updated gradle / dependencies.
1.4.2:
- Implemented trueOGUnregisterMiniPlaceholder API.
- Implemented isMiniPlaceholderRegistered API.
- Tested/Fixed other APIs.
1.4.1:
- Implemented AUDIENCE type MiniPlaceholder registration API.
- Implemented MiniPlaceholder unregistration API.
- Implemented trueogColorize API.
- Refactored existing APIs.
1.4:
- Added TrueOG Message API (supports modern + legacy formatting in the same message, &* for rainbow, and MiniPlaceholder expansion).
- Added TrueOG MiniPlaceholders support (currently supports expansion. Creation coming later.)
- Added MiniPlaceholder <player_display_name> (LuckPerms colors coming later.)
- Added mock Bamboo Planks.
- Mock Bamboo Wood is now crafted from 2x2 mock Bamboo Planks.
- Added permissions for every command.
- Major Refactoring.
- Improved error handling.
- Improved documentation.
- Improved config file.
1.3.3:
- Update gradle build.
1.3.2:
- Refactor phantom toggle logic.
- Enable phantom spawning by default.
- Fix Jitpack build.
1.3.1:
- Make bamboo wood named bamboo wood.
1.3:
- Added new /ping command. Supports ping lookup for self and others.
- Added /bing command to replicate the functionality of the old /ping command.
- Renamed /buy to /ranks for CraftingStore compatibility.
- Copied sub-commands as root commands.
- New per-command permissions (described in README.md).
- Added ranks menu and ping API.
1.2:
- Add "bamboo" wood recipe.
1.1:
- Added about message.
- Fixed NullPointerException.
- Expanded documentation.
- Improved chat formatting.
- Block per-player commands from console.
- Merged in and deprecated Buy-OG.