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

  • Method Details

    • registerReloadListener

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

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

      void sendPacketToPlayer(AbstractPacket packet, net.minecraft.server.level.ServerPlayer player)
    • sendPacketToPlayers

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

      float getPartialTick()
    • 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()