Deprecations
This page lists every member UltiTools-API has deprecated, generated from the framework's own deprecation registry. Each row names the version a member was announced deprecated in, the version it targets for removal, and — once that removal has shipped — the version it actually left the API in.
Slower-updating page
This table reflects the registry snapshot vendored at the time this page was last synced. For the authoritative, always-current state, consult the Javadoc.
| Symbol | Status | Since | Target removal | Removed in | Replacement |
|---|---|---|---|---|---|
com.ultikits.ultitools.abstracts.AbstractCommandExecutor | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | This class is maintained for backward compatibility. Use BaseCommandExecutor instead, which provides better architecture with Chain of Responsibility pattern. |
com.ultikits.ultitools.abstracts.AbstractCommendExecutor | REMOVED | 6.2.1 | 6.3.0 | 6.3.0 | Use AbstractCommandExecutor instead. |
com.ultikits.ultitools.abstracts.AbstractDataEntity | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | This class uses Object type for ID which is not type-safe. Use BaseDataEntity instead, which provides generic ID type and lifecycle hooks. |
com.ultikits.ultitools.abstracts.guis.OkCancelPage | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use BaseConfirmationPage instead, which provides better template method pattern, builder support, and code organization. |
com.ultikits.ultitools.abstracts.guis.PagingPage | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use BasePaginationPage instead, which provides better template method pattern and code organization. |
com.ultikits.ultitools.abstracts.UltiToolsPlugin#getVersionWrapper(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils instead. |
com.ultikits.ultitools.abstracts.UltiToolsPlugin#UltiToolsPlugin(...) | REMOVED | 6.0.8 | 6.3.0 | 6.3.0 | Use the seven-argument constructor and pass {@code resourceFolderPath} explicitly. This overload hard-codes it to {@code <dataFolder>/pluginConfig/<pluginName>}. |
com.ultikits.ultitools.annotations.command.OptionalParam | REMOVED | 6.0.7 | 6.3.0 | 6.3.0 | Never implemented — no code reads this annotation, so applying it has no effect on command parsing. There is no replacement: declare a separate {@code @CmdMapping} format for each accepted argument shape. |
com.ultikits.ultitools.context.UltiToolsBean#getVersionWrapper(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils instead. |
com.ultikits.ultitools.interfaces.DataStore#getOperator(...) | ANNOUNCED | 6.3.0 | 6.4.0 | — | Carries no ownership check of its own (D-14/D-18) -- a {@code DataStore} implementation that overrides this method directly must call checkOwnership(UltiToolsPlugin, Class) as its own first statement to get the refusal; the three backends shipped by this framework all do (02-12). Framework- internal callers ({@code UltiToolsPlugin.getDataOperator}) already check ownership themselves before calling this. Use getOperator(DataScope, Class). |
com.ultikits.ultitools.interfaces.DataStore#getOperator(...) | ANNOUNCED | 6.3.0 | 6.4.0 | — | Enforces D-18's ownership check via checkOwnership(java.io.File, Class) as its own first statement -- a {@code DataStore} implementation that overrides this method directly must call the same helper to get the refusal; the three backends shipped by this framework all do (02-12). Framework-internal callers ({@code UltiToolsAPI.getDataOperator}) already check ownership themselves before calling this. Use getOperator(DataScope, Class). |
com.ultikits.ultitools.interfaces.impl.DefaultVersionWrapper | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils directly instead. |
com.ultikits.ultitools.interfaces.impl.PlayerTempListener | REMOVED | 6.1.0 | 6.3.0 | 6.3.0 | Use TempListener#common(Class) and filter by player instead. |
com.ultikits.ultitools.interfaces.impl.SimpleTempListener#SimpleTempListener(...) | ANNOUNCED | 6.3.0 | 6.3.0 | — | Use the four-argument {@code (Class, EventPriority, TempEventHandler, Function)} constructor (Lombok-generated via {@code @AllArgsConstructor}, so it has no source declaration to link to) or TempListener#common(Class). Scheduled for removal in Phase 7 of the 6.3.0 milestone. |
com.ultikits.ultitools.interfaces.impl.SimpleTempListener#SimpleTempListener(...) | ANNOUNCED | 6.3.0 | 6.3.0 | — | Use the four-argument {@code (Class, EventPriority, TempEventHandler, Function)} constructor (Lombok-generated via {@code @AllArgsConstructor}, so it has no source declaration to link to) or TempListener#common(Class). Scheduled for removal in Phase 7 of the 6.3.0 milestone. |
com.ultikits.ultitools.interfaces.impl.SimpleTempListener#SimpleTempListener(...) | ANNOUNCED | 6.3.0 | 6.3.0 | — | Use the four-argument {@code (Class, EventPriority, TempEventHandler, Function)} constructor (Lombok-generated via {@code @AllArgsConstructor}, so it has no source declaration to link to) or TempListener#common(Class). Scheduled for removal in Phase 7 of the 6.3.0 milestone. |
com.ultikits.ultitools.interfaces.impl.SimpleTempListener#SimpleTempListener(...) | ANNOUNCED | 6.3.0 | 6.3.0 | — | Use the four-argument {@code (Class, EventPriority, TempEventHandler, Function)} constructor (Lombok-generated via {@code @AllArgsConstructor}, so it has no source declaration to link to) or TempListener#common(Class). Scheduled for removal in Phase 7 of the 6.3.0 milestone. |
com.ultikits.ultitools.interfaces.TempListener#player(...) | REMOVED | 6.1.0 | 6.3.0 | 6.3.0 | Use common(Class) instead. You can use DefaultTempListenerBuilder#filter(Function) to filter player events. |
com.ultikits.ultitools.interfaces.TempListener$PlayerTempListenerBuilder | REMOVED | 6.1.0 | 6.3.0 | 6.3.0 | Use common(Class) instead, narrowing with DefaultTempListenerBuilder#filter(Function). |
com.ultikits.ultitools.interfaces.TransactionManager#getConnection(...) | ANNOUNCED | 6.3.0 | 6.4.0 | — | JDBC-specific; not every {@code TransactionManager} backs a DataSource. Program against JdbcTransactionManager#getConnection() instead. This default throws UnsupportedOperationException for any backend that only implements the base interface. |
com.ultikits.ultitools.interfaces.TransactionManager#setIsolationLevel(...) | ANNOUNCED | 6.3.0 | 6.4.0 | — | JDBC-specific; program against JdbcTransactionManager#setIsolationLevel(int) instead. This default throws UnsupportedOperationException for any backend that only implements the base interface. |
com.ultikits.ultitools.interfaces.TransactionManager#setReadOnly(...) | ANNOUNCED | 6.3.0 | 6.4.0 | — | JDBC-specific; program against JdbcTransactionManager#setReadOnly(boolean) instead. This default throws UnsupportedOperationException for any backend that only implements the base interface. |
com.ultikits.ultitools.interfaces.VersionWrapper | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils static methods instead. This interface is kept for backward compatibility only. Will be removed in a future version. |
com.ultikits.ultitools.interfaces.VersionWrapper#getBed(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getBed(Colors) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getBlockFace(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getBlockFace(Block) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getColoredPlaneGlass(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getColoredPlaneGlass(Colors) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getEmailMaterial(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getEmailMaterial(boolean) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getEndEye(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getEndEye() instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getGrassBlock(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getGrassBlock() instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getHead(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getHead(OfflinePlayer) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getItemDurability(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getItemDurability(ItemStack) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getItemInHand(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getItemInHand(Player, boolean) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getSign(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getSign() instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#getSound(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#getSound(Sounds) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#registerNewObjective(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#registerNewObjective(Scoreboard, String, String, String) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#sendActionBar(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#sendActionBar(Player, String) instead. |
com.ultikits.ultitools.interfaces.VersionWrapper#sendPlayerList(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils#sendPlayerList(Player, String, String) instead. |
com.ultikits.ultitools.manager.CommandManager#register(...) | REMOVED | 6.0.5 | 6.3.0 | 6.3.0 | Use register(UltiToolsPlugin, Class, String, String, String...) instead. |
com.ultikits.ultitools.manager.CommandManager#register(...) | REMOVED | 6.0.5 | 6.3.0 | 6.3.0 | Use register(UltiToolsPlugin, Class) instead. |
com.ultikits.ultitools.manager.CommandManager#registerAll(...) | REMOVED | 6.2.5 | 6.3.0 | 6.3.0 | This overload casts every scanned class to AbstractCommandExecutor, which is itself scheduled for removal in 6.3.0. A command class written against the current BaseCommandExecutor does not extend that type, so the cast throws ClassCastException — and the surrounding catch lists only the four reflective checked exceptions, so it escapes. Use registerAll(UltiToolsPlugin), which resolves command classes as beans from the plugin's container and performs no cast. See issue #272. |
com.ultikits.ultitools.manager.ListenerManager#register(...) | REMOVED | 6.0.5 | 6.3.0 | 6.3.0 | Use register(UltiToolsPlugin, Class) instead; this overload takes an already-constructed instance and therefore performs no dependency injection. |
com.ultikits.ultitools.manager.ListenerManager#registerAll(...) | REMOVED | 6.3.0 | 6.3.0 | 6.3.0 | This overload reflectively scans and instantiates every {@code @EventListener} class in {@code packageName} without ever consulting EventListener#manualRegister() -- a listener its author deliberately withheld from auto-registration is registered anyway. After plan 04-08, PluginManager#registerBukkit no longer has an in-framework caller for this overload either; both registration entry points resolve listeners as beans from the module's own container instead. Use registerAll(UltiToolsPlugin), which does honour {@code manualRegister()}. See issue #337. |
com.ultikits.ultitools.manager.PluginDependencyResolver$PluginNode#getAllDependencies(...) | ANNOUNCED | 6.3.0 | 6.4.0 | — | use getAllDependencies(Set, Map), which resolves each entry through the plugin.yml-name alias map (D-12) before checking availability |
com.ultikits.ultitools.manager.PluginManager#initializePlugin(...) | REMOVED | 6.3.0 | 6.3.0 | 6.3.0 | This reflective, with-args construction path has failed on every release since 6.2.0 (Phase 1 D-15, measured): SecurityPolicy#isSafeParameterType matches collection arguments by exact runtime-class-name prefix ({@code java.util.List}, {@code java.util.ArrayList}, ...), and neither {@code Arrays.asList(...)}'s runtime type ({@code java.util.Arrays$ArrayList}) nor any {@code Collections.*} wrapper type matches any of those prefixes -- the list-typed arguments a caller actually supplies are rejected before construction ever runs. This path is scheduled for removal (issue #332) rather than repair; only the seven-argument register(Class, String, String, List, List, int, String) calls it with a non-empty argument array. |
com.ultikits.ultitools.manager.PluginManager#register(...) | REMOVED | 6.3.0 | 6.3.0 | 6.3.0 | This overload's reflective, with-args construction has failed on every release since 6.2.0 (Phase 1 D-15, measured): SecurityPolicy#isSafeParameterType rejects the runtime types {@code authors} and {@code loadAfter} actually are ({@code Arrays.asList(...)}'s {@code java.util.Arrays$ArrayList}, or any {@code Collections.*} wrapper) before the module's constructor ever runs. This overload existed to bypass {@code plugin.yml}-based metadata for connector callers; use register(UltiToolsPlugin) instead, which takes an already-constructed plugin instance and has no reflective construction path of its own. See issue #332. |
com.ultikits.ultitools.UltiTools#getVersionWrapper(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils instead. |
com.ultikits.ultitools.UltiTools#versionWrapper(...) | REMOVED | 6.2.0 | 6.3.0 | 6.3.0 | Use XVersionUtils instead. |
com.ultikits.ultitools.utils.AnnotationUtils#findAnnotation(...) | ANNOUNCED | 6.3.0 | 6.4.0 | — | This legacy lookup only walks one meta-annotation level and never merges {@code @AliasFor} overrides. Use MergedAnnotationResolver#find instead, which walks the whole annotation tree and applies any {@code @AliasFor} override found along the way. |
com.ultikits.ultitools.utils.SecurityPolicy#addDangerousClass(...) | DEPRECATED | 6.3.0 | — | — | Since 6.3.0 (GEN-07): this method no longer mutates {@code ClassloadFilterAudit.SYSTEM_DANGEROUS_CLASSES} or anything else. The signature is retained because it is {@code public static} on a published class. |
com.ultikits.ultitools.utils.SecurityPolicy#addTrustedPackage(...) | DEPRECATED | 6.3.0 | — | — | Since 6.3.0 (GEN-07): this method no longer mutates {@code ClassloadFilterAudit.TRUSTED_PACKAGE_PREFIXES} or anything else. The signature is retained because it is {@code public static} on a published class. |
com.ultikits.ultitools.utils.SecurityPolicy#isSafeClassName(...) | DEPRECATED | 6.3.0 | — | — | Since 6.3.0 (GEN-07) this method is an unconditional no-op -- the three name-based classload filter layers it enforced never protected anything (they evaluated already-trusted, already-loaded classes, not arbitrary untrusted input), and the trusted-package whitelist alone would have refused nearly every third-party module class. The signature is retained because it is {@code public static} on a published class and cannot be removed without breaking a downstream caller's compile. See the package-private {@code ClassloadFilterAudit} for what these removed layers would have refused, now recorded as telemetry. |
com.ultikits.ultitools.utils.SecurityPolicy#isSafeParameterType(...) | DEPRECATED | 6.3.0 | — | — | Since 6.3.0 (GEN-07), for the same reason as isSafeClassName(String) -- its only in-tree caller (the seven-argument {@code PluginManager.register}/with-args reflective-construction path) was deleted by GEN-04, which is what dissolved this method's former "shared-field, can't safely delete the whitelist" objection. |
Reading the table
Status is one of three values. DEPRECATED means the member carries @Deprecated but is not scheduled for removal — its signature stays for compatibility, and the replacement note explains why. ANNOUNCED means the member carries @Deprecated(forRemoval = true) and is still present; the Target removal column names the version it will disappear in. REMOVED means the member is gone from the current API; the Removed in column names the version that happened in, and the type or method itself no longer exists past that point.
Target removal and Removed in can differ from Since by more than one release — a member can be deprecated in one version and still be present several releases later, up until its target version actually ships the removal.