Files
Utilities-OG/CHANGELOG.md
T

8.2 KiB

1.8.1

  • Added /phtest, merged from PlaceholderTest-OG: it checks that the MiniPlaceholders other plugins register resolve. Gated by the utilities.phtest permission, toggled by PlaceholderTest, and the expected tags live under PlaceholderTestPlugins in config.yml.

1.8.0

  • Updated the player data bridge for TrueOG Purpur. savePlayerData now returns void, and getSeenPlayers uses Bukkit's offline player list.
  • Removed shared database APIs and the RocksDB dependency. MyWorlds now stores per-world profiles inside vanilla player profiles.
  • upgradePlayerData now uses Paper's public data converter.
  • Player data and inventory helpers now throw IllegalStateException on 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), plus isPlayerDataApiAvailable(). MyWorlds uses it for per-world inventories.
  • The bridge is plain reflection into the server. Paperweight, the dev bundle, reobfuscation and the v1_19_R3 pin 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): setInventoryData returns boolean and writes nothing for a player without a stored profile or when the server refuses the write. getInventoryData and getHeldItemSlot return empty results instead of throwing for such players. Added isPlayerInventoryApiAvailable().
  • Added flushPlayerData() (durable WAL flush, needs the matching Purpur PlayerDataApi.flush(); false on older forks) and per-player lockPlayerData/unlockPlayerData. setInventoryData now 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; use hasPlayerData(world, uuid).
  • Added a RegisterPlaceholders config 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 /ah and /auction stubs explaining that TrueOG has no auction house, only the physical player market in the warzone.
  • Added /info stub that forwards to /help with the same arguments.
  • /wild and /rtp now 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[]), and getHeldItemSlot(UUID).
  • Removed FastOfflinePlayer and its PostgreSQL / jasync dependency, along with the postgres* config keys.
  • Gradle now outputs a single reobfuscated Utilities-OG-<version>.jar in build/libs; intermediate jars moved to build/intermediates.

1.7.3

  • NoFlippy now covers fence gates as well as trapdoors under the can-flippy flag.

1.7.2

  • Refactored NoFlippy-OG to enforce its rules more strongly.
  • Absorbed RandomDrops-OG into Utilities-OG.

1.7.1

  • Merged MissingCommands-OG into Utilities-OG.

1.7

  • Added MessageFormat as a selector for MiniMessage StandardTags families (color, decorations, rainbow, gradient, reset), and after Adventure 4.18 is shipped on TrueOG Network, also StandardTags.shadowColor().
  • Added optional MessageFormat parameter to trueogMessage, trueogRawMessage, trueogColorize, and trueogExpand. Existing single-argument calls keep legacy behavior (every formatting tag active unless stripped).
  • MessageFormat includes callables none() and full() which can be respectively paired with withColor/withoutColor, withDecorations/withoutDecorations, withRainbow/withoutRainbow, withGradient/withoutGradient, withReset/withoutReset .
  • stripFormatting is 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) and trueogRawMessage(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.