public interface FabricNetwork<N,DIR>
extends mods.thecomputerizer.theimpossiblelibrary.api.network.NetworkAPI<N,DIR>
| Modifier and Type | Field and Description |
|---|---|
static java.lang.Object |
CLIENT_LOGIN |
static java.lang.Object |
CLIENT_PLAY |
static java.lang.String |
IMPL_CLIENT |
static java.lang.Class<?> |
IMPL_CLIENT_CLASS |
static java.lang.String |
IMPL_SERVER |
static java.lang.Class<?> |
IMPL_SERVER_CLASS |
static boolean |
NAMED_ENV |
static java.lang.String |
PLAY_CLIENT |
static java.lang.Class<?> |
PLAY_CLIENT_CLASS |
static java.lang.Class<?> |
PLAY_CLIENT_HANDLER_CLASS |
static java.lang.String |
PLAY_SERVER |
static java.lang.Class<?> |
PLAY_SERVER_CLASS |
static java.lang.Class<?> |
PLAY_SERVER_HANDLER_CLASS |
static java.util.Map<net.minecraft.resources.ResourceLocation,java.lang.Object> |
PROXY_MAP |
static java.lang.Object |
SERVER_LOGIN |
static java.lang.Object |
SERVER_PLAY |
static net.minecraft.nbt.NbtAccounter |
UNLIMITED_ACCOUNTER |
static mods.thecomputerizer.theimpossiblelibrary.api.wrappers.MutableWrapped<java.lang.Class<?>> |
WRAPPED_WRAPPER_CLASS |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
atLeastV20_4() |
static boolean |
atLeastV20_6() |
default @Nullable java.lang.Object |
createHandlerProxy(DIR dir,
boolean newType) |
default @Nullable java.lang.Object |
createHandlerProxy(java.lang.Object dir,
boolean newType,
boolean client,
@Nullable java.lang.Class<?> c) |
default java.lang.reflect.InvocationHandler |
createInvoker(java.lang.Object dir,
boolean client,
java.lang.Class<?> c) |
default java.lang.reflect.InvocationHandler |
createInvokerCustomPayload(java.lang.Object dir,
boolean client,
java.lang.Class<?> c)
Network registration stuff is a bit different in 1.20.6+ and needs a different InvocationHandler
|
default net.minecraft.network.FriendlyByteBuf |
encodeMessage(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?> message) |
static java.lang.String |
fabricPkg(java.lang.String pkg) |
default DIR |
getCheckedDir(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR> info)
Unwraps MessageDirectionInfo with checks to ensure it is able to get unwrapped on the current side
|
static @Nullable java.lang.Class<?> |
getClassIfClient(java.lang.String className) |
default DIR |
getDirFromName(java.lang.String name) |
default DIR |
getDirToClient() |
default DIR |
getDirToClientLogin() |
default DIR |
getDirToServer() |
default DIR |
getDirToServerLogin() |
static @Nullable java.lang.Class<?> |
getHandlerClassIfClient(java.lang.String baseClass,
java.lang.String oldHandler,
java.lang.String newHandler) |
default java.lang.String |
getNameFromDir(DIR dir) |
default N |
getNetwork() |
default DIR |
getOppositeDir(DIR dir) |
default net.minecraft.resources.ResourceLocation |
getRegistryName(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?> message) |
default net.minecraft.resources.ResourceLocation |
getRegistryNameFromDir(java.lang.Object dir) |
static @Nullable java.lang.Object |
getStaticField(@Nullable java.lang.Class<?> c,
java.lang.String fieldName) |
default <CTX> mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,CTX> |
getWrapper(java.lang.Object dir) |
static java.lang.Class<?> |
getWrapperClass() |
static java.lang.Class<?> |
initWrapperClass(mods.thecomputerizer.theimpossiblelibrary.api.core.CoreAPI core) |
default boolean |
isDirLogin(DIR dir) |
default boolean |
isDirToClient(DIR dir) |
default mods.thecomputerizer.theimpossiblelibrary.api.resource.ResourceLocationAPI<?> |
readResourceLocation(io.netty.buffer.ByteBuf buf) |
default mods.thecomputerizer.theimpossiblelibrary.api.tag.CompoundTagAPI<?> |
readTag(io.netty.buffer.ByteBuf buf) |
default <P,CTX,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<P,CTX>> |
receiveAndRespond(M wrapper,
CTX ctx,
P player) |
default <P,CTX,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<P,CTX>> |
receiveAndRespond(java.lang.Object dir,
java.lang.Object buf,
CTX ctx,
P player) |
default <P,CTX,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<P,CTX>> |
receiveAndRespondGeneric(@Nullable java.lang.Object wrapper,
@Nullable java.lang.Object ctx,
@Nullable java.lang.Object player)
Pass in basic objects, do some generic casting, and pass to the normal receiveAndRespond method unless
the wrapper ends up as null
|
default void |
registerLateMessages(java.util.Collection<mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR>> infos) |
default void |
registerMessage(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR> dirInfo,
boolean warnDuplicate) |
default void |
registerMessage(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR> dirInfo,
int id) |
default void |
registerMessageCustomPayload(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR> directionInfo,
java.util.function.Function<DIR,java.lang.Object> codecBuilder)
Network registration stuff is a bit different in 1.20.6+ and needs to be handled separately
|
default boolean |
registerWithProxy(boolean client,
java.lang.Object registerAs,
java.lang.Object proxy) |
default <P,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?>> |
sendToPlayer(M message,
P player) |
default <P,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?>> |
sendToPlayer(M message,
P player,
boolean newType) |
default <M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?>> |
sendToServer(M message) |
default <M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?>> |
sendToServer(M message,
boolean newType) |
static @Nullable java.lang.Class<?> |
tryGetClass(java.lang.String className)
The class might not exist
|
static @Nullable java.lang.Class<?> |
tryGetHandlerClass(java.lang.String baseClass,
java.lang.String oldHandler,
java.lang.String newHandler) |
static net.minecraft.nbt.NbtAccounter |
unlimitedAccounter() |
default <CTX> mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,CTX> |
wrapMessage(DIR dir,
mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageAPI<CTX> message) |
default <CTX> mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,CTX> |
wrapMessages(DIR dir,
java.util.Collection<mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageAPI<CTX>> messages) |
default <CTX> mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,CTX> |
wrapMessages(DIR dir,
mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageAPI<CTX>... messages) |
default void |
writeTag(io.netty.buffer.ByteBuf buf,
mods.thecomputerizer.theimpossiblelibrary.api.tag.CompoundTagAPI<?> tag) |
static final java.lang.String IMPL_CLIENT
static final java.lang.Class<?> IMPL_CLIENT_CLASS
static final java.lang.String IMPL_SERVER
static final java.lang.Class<?> IMPL_SERVER_CLASS
static final java.lang.Object CLIENT_LOGIN
static final java.lang.Object CLIENT_PLAY
static final boolean NAMED_ENV
static final java.lang.String PLAY_CLIENT
static final java.lang.Class<?> PLAY_CLIENT_CLASS
static final java.lang.Class<?> PLAY_CLIENT_HANDLER_CLASS
static final java.util.Map<net.minecraft.resources.ResourceLocation,java.lang.Object> PROXY_MAP
static final java.lang.String PLAY_SERVER
static final java.lang.Class<?> PLAY_SERVER_CLASS
static final java.lang.Class<?> PLAY_SERVER_HANDLER_CLASS
static final java.lang.Object SERVER_LOGIN
static final java.lang.Object SERVER_PLAY
static final net.minecraft.nbt.NbtAccounter UNLIMITED_ACCOUNTER
static final mods.thecomputerizer.theimpossiblelibrary.api.wrappers.MutableWrapped<java.lang.Class<?>> WRAPPED_WRAPPER_CLASS
static boolean atLeastV20_4()
static boolean atLeastV20_6()
static java.lang.String fabricPkg(java.lang.String pkg)
@Nullable static @Nullable java.lang.Class<?> getClassIfClient(java.lang.String className)
@Nullable
static @Nullable java.lang.Class<?> getHandlerClassIfClient(java.lang.String baseClass,
java.lang.String oldHandler,
java.lang.String newHandler)
@Nullable
static @Nullable java.lang.Object getStaticField(@Nullable
@Nullable java.lang.Class<?> c,
java.lang.String fieldName)
static java.lang.Class<?> getWrapperClass()
static java.lang.Class<?> initWrapperClass(mods.thecomputerizer.theimpossiblelibrary.api.core.CoreAPI core)
@Nullable static @Nullable java.lang.Class<?> tryGetClass(java.lang.String className)
@Nullable
static @Nullable java.lang.Class<?> tryGetHandlerClass(java.lang.String baseClass,
java.lang.String oldHandler,
java.lang.String newHandler)
static net.minecraft.nbt.NbtAccounter unlimitedAccounter()
@Nullable default @Nullable java.lang.Object createHandlerProxy(DIR dir, boolean newType)
@Nullable
default @Nullable java.lang.Object createHandlerProxy(java.lang.Object dir,
boolean newType,
boolean client,
@Nullable
@Nullable java.lang.Class<?> c)
default java.lang.reflect.InvocationHandler createInvoker(java.lang.Object dir,
boolean client,
java.lang.Class<?> c)
default java.lang.reflect.InvocationHandler createInvokerCustomPayload(java.lang.Object dir,
boolean client,
java.lang.Class<?> c)
default net.minecraft.network.FriendlyByteBuf encodeMessage(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?> message)
@Nullable default DIR getCheckedDir(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR> info)
default DIR getDirFromName(java.lang.String name)
@Nullable default DIR getDirToClient()
@Nullable default DIR getDirToClientLogin()
default DIR getDirToServer()
default DIR getDirToServerLogin()
default java.lang.String getNameFromDir(DIR dir)
@Nullable default N getNetwork()
default net.minecraft.resources.ResourceLocation getRegistryName(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?> message)
default net.minecraft.resources.ResourceLocation getRegistryNameFromDir(java.lang.Object dir)
default <CTX> mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,CTX> getWrapper(java.lang.Object dir)
default boolean isDirToClient(DIR dir)
default boolean isDirLogin(DIR dir)
default mods.thecomputerizer.theimpossiblelibrary.api.resource.ResourceLocationAPI<?> readResourceLocation(io.netty.buffer.ByteBuf buf)
default mods.thecomputerizer.theimpossiblelibrary.api.tag.CompoundTagAPI<?> readTag(io.netty.buffer.ByteBuf buf)
default <P,CTX,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<P,CTX>> void receiveAndRespond(java.lang.Object dir,
java.lang.Object buf,
CTX ctx,
@Nullable
P player)
default <P,CTX,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<P,CTX>> void receiveAndRespond(M wrapper,
CTX ctx,
@Nullable
P player)
default <P,CTX,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<P,CTX>> void receiveAndRespondGeneric(@Nullable
@Nullable java.lang.Object wrapper,
@Nullable
@Nullable java.lang.Object ctx,
@Nullable
@Nullable java.lang.Object player)
default void registerLateMessages(java.util.Collection<mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR>> infos)
default void registerMessage(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR> dirInfo, int id)
default void registerMessage(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR> dirInfo, boolean warnDuplicate)
default void registerMessageCustomPayload(mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageDirectionInfo<DIR> directionInfo, java.util.function.Function<DIR,java.lang.Object> codecBuilder)
default boolean registerWithProxy(boolean client,
java.lang.Object registerAs,
java.lang.Object proxy)
default <P,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?>> void sendToPlayer(M message,
P player)
default <P,M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?>> void sendToPlayer(M message,
P player,
boolean newType)
default <M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?>> void sendToServer(M message)
default <M extends mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,?>> void sendToServer(M message,
boolean newType)
default <CTX> mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,CTX> wrapMessage(DIR dir, mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageAPI<CTX> message)
default <CTX> mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,CTX> wrapMessages(DIR dir, mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageAPI<CTX>... messages)
default <CTX> mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageWrapperAPI<?,CTX> wrapMessages(DIR dir, java.util.Collection<mods.thecomputerizer.theimpossiblelibrary.api.network.message.MessageAPI<CTX>> messages)