Skip to content

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.

SymbolStatusSinceTarget removalRemoved inReplacement
com.ultikits.ultitools.abstracts.AbstractCommandExecutorREMOVED6.2.06.3.06.3.0This class is maintained for backward compatibility. Use BaseCommandExecutor instead, which provides better architecture with Chain of Responsibility pattern.
com.ultikits.ultitools.abstracts.AbstractCommendExecutorREMOVED6.2.16.3.06.3.0Use AbstractCommandExecutor instead.
com.ultikits.ultitools.abstracts.AbstractDataEntityREMOVED6.2.06.3.06.3.0This 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.OkCancelPageREMOVED6.2.06.3.06.3.0Use BaseConfirmationPage instead, which provides better template method pattern, builder support, and code organization.
com.ultikits.ultitools.abstracts.guis.PagingPageREMOVED6.2.06.3.06.3.0Use BasePaginationPage instead, which provides better template method pattern and code organization.
com.ultikits.ultitools.abstracts.UltiToolsPlugin#getVersionWrapper(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils instead.
com.ultikits.ultitools.abstracts.UltiToolsPlugin#UltiToolsPlugin(...)REMOVED6.0.86.3.06.3.0Use the seven-argument constructor and pass {@code resourceFolderPath} explicitly. This overload hard-codes it to {@code <dataFolder>/pluginConfig/<pluginName>}.
com.ultikits.ultitools.annotations.command.OptionalParamREMOVED6.0.76.3.06.3.0Never 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(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils instead.
com.ultikits.ultitools.interfaces.DataStore#getOperator(...)ANNOUNCED6.3.06.4.0Carries 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(...)ANNOUNCED6.3.06.4.0Enforces 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.DefaultVersionWrapperREMOVED6.2.06.3.06.3.0Use XVersionUtils directly instead.
com.ultikits.ultitools.interfaces.impl.PlayerTempListenerREMOVED6.1.06.3.06.3.0Use TempListener#common(Class) and filter by player instead.
com.ultikits.ultitools.interfaces.impl.SimpleTempListener#SimpleTempListener(...)ANNOUNCED6.3.06.3.0Use 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(...)ANNOUNCED6.3.06.3.0Use 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(...)ANNOUNCED6.3.06.3.0Use 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(...)ANNOUNCED6.3.06.3.0Use 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(...)REMOVED6.1.06.3.06.3.0Use common(Class) instead. You can use DefaultTempListenerBuilder#filter(Function) to filter player events.
com.ultikits.ultitools.interfaces.TempListener$PlayerTempListenerBuilderREMOVED6.1.06.3.06.3.0Use common(Class) instead, narrowing with DefaultTempListenerBuilder#filter(Function).
com.ultikits.ultitools.interfaces.TransactionManager#getConnection(...)ANNOUNCED6.3.06.4.0JDBC-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(...)ANNOUNCED6.3.06.4.0JDBC-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(...)ANNOUNCED6.3.06.4.0JDBC-specific; program against JdbcTransactionManager#setReadOnly(boolean) instead. This default throws UnsupportedOperationException for any backend that only implements the base interface.
com.ultikits.ultitools.interfaces.VersionWrapperREMOVED6.2.06.3.06.3.0Use 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(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getBed(Colors) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getBlockFace(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getBlockFace(Block) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getColoredPlaneGlass(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getColoredPlaneGlass(Colors) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getEmailMaterial(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getEmailMaterial(boolean) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getEndEye(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getEndEye() instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getGrassBlock(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getGrassBlock() instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getHead(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getHead(OfflinePlayer) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getItemDurability(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getItemDurability(ItemStack) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getItemInHand(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getItemInHand(Player, boolean) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getSign(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getSign() instead.
com.ultikits.ultitools.interfaces.VersionWrapper#getSound(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#getSound(Sounds) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#registerNewObjective(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#registerNewObjective(Scoreboard, String, String, String) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#sendActionBar(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#sendActionBar(Player, String) instead.
com.ultikits.ultitools.interfaces.VersionWrapper#sendPlayerList(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils#sendPlayerList(Player, String, String) instead.
com.ultikits.ultitools.manager.CommandManager#register(...)REMOVED6.0.56.3.06.3.0Use register(UltiToolsPlugin, Class, String, String, String...) instead.
com.ultikits.ultitools.manager.CommandManager#register(...)REMOVED6.0.56.3.06.3.0Use register(UltiToolsPlugin, Class) instead.
com.ultikits.ultitools.manager.CommandManager#registerAll(...)REMOVED6.2.56.3.06.3.0This 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(...)REMOVED6.0.56.3.06.3.0Use register(UltiToolsPlugin, Class) instead; this overload takes an already-constructed instance and therefore performs no dependency injection.
com.ultikits.ultitools.manager.ListenerManager#registerAll(...)REMOVED6.3.06.3.06.3.0This 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(...)ANNOUNCED6.3.06.4.0use 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(...)REMOVED6.3.06.3.06.3.0This 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(...)REMOVED6.3.06.3.06.3.0This 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(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils instead.
com.ultikits.ultitools.UltiTools#versionWrapper(...)REMOVED6.2.06.3.06.3.0Use XVersionUtils instead.
com.ultikits.ultitools.utils.AnnotationUtils#findAnnotation(...)ANNOUNCED6.3.06.4.0This 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(...)DEPRECATED6.3.0Since 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(...)DEPRECATED6.3.0Since 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(...)DEPRECATED6.3.0Since 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(...)DEPRECATED6.3.0Since 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.

Contributors

The avatar of contributor named as Ling Bao Ling Bao

Changelog

Released under the MIT License.