Posted May 20, 20187 yr So, I've been working on a mod for a fair bit, and I finally got around to working on capabilities, which are linked to the player. However, whenever I try to actually register one using CapabilityManager.INSTANCE.register(IClass.class, new Storage(), Class.class); It states that the register function is deprecated. Heading over to the actual CapabilityManager file I find this: @Deprecated public <T> void register(Class<T> type, Capability.IStorage<T> storage, final Class<? extends T> implementation) { Preconditions.checkArgument(implementation != null, "Attempted to register a capability with no default implementation"); register(type, storage, () -> { try { return implementation.newInstance(); } catch (InstantiationException | IllegalAccessException e) { throw new RuntimeException(e); } }); } The file is stating that the register is deprecated, and will be fully removed for 1.13. Is there some alternative to what I am doing? If so, how does one go about doing it?
May 20, 20187 yr Use the non-deprecated overload that takes a Callable argument. Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.