Interface PlatformAbstractions

All Known Subinterfaces:
ClientPlatformAbstractions

public interface PlatformAbstractions
Abstracts away the platform-specific APIs found in Minecraft. Both Fabric and NeoForge have their own implementations of this interface, with their respective ways of doing things.

I'm doing this instead of using Architectury API, because a) I don't want this mod to have many dependencies, and b) Architectury API doesn't implement everything I need anyway

Warning: an instance of this may not exist during mod initialization if your mod loads before Cutscene API.

  • Method Details

    • registerReloadListener

      void registerReloadListener(net.minecraft.server.packs.resources.PreparableReloadListener listener, net.minecraft.resources.ResourceLocation id)
    • registerClientboundPacket

      <T extends AbstractClientboundPacket> void registerClientboundPacket(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, AbstractPacket.PacketReader<T> reader)
    • sendPacketToPlayer

      void sendPacketToPlayer(AbstractClientboundPacket packet, net.minecraft.server.level.ServerPlayer player)
    • registerServerboundPacket

      <T extends AbstractServerboundPacket> void registerServerboundPacket(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, AbstractPacket.PacketReader<T> reader)
    • sendPacketFromPlayer

      void sendPacketFromPlayer(AbstractServerboundPacket packet)
    • sendPacketToPlayers

      default void sendPacketToPlayers(AbstractClientboundPacket packet, Collection<net.minecraft.server.level.ServerPlayer> players)
    • getServer

      net.minecraft.server.MinecraftServer getServer()
    • submitCameraAngleModifier

      void submitCameraAngleModifier(Consumer<CameraAngleSetter> modifier)
    • submitOnLogout

      void submitOnLogout(Runnable runnable)
    • submitOnClientTick

      void submitOnClientTick(Runnable runnable)
    • submitOnRegisterCommand

      void submitOnRegisterCommand(Consumer<com.mojang.brigadier.CommandDispatcher<net.minecraft.commands.CommandSourceStack>> command)
    • getWaypointEntityType

      net.minecraft.world.entity.EntityType<WaypointEntity> getWaypointEntityType()