Update FAPI / Loader, migrate to new API where possible

Signed-off-by: Max <maxh2709@gmail.com>
This commit is contained in:
Max
2022-01-29 21:06:14 +01:00
parent 8b282f5c5a
commit c38df29d67
5 changed files with 22 additions and 22 deletions

View File

@@ -19,7 +19,7 @@
package dev.architectury.hooks.tags.fabric;
import net.fabricmc.fabric.api.tag.TagRegistry;
import net.fabricmc.fabric.api.tag.TagFactory;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.Tag;
import net.minecraft.tags.TagCollection;
@@ -28,6 +28,6 @@ import java.util.function.Supplier;
public class TagHooksImpl {
public static <T> Tag.Named<T> optional(ResourceLocation id, Supplier<TagCollection<T>> collection) {
return TagRegistry.create(id, collection);
return TagFactory.of(collection).create(id);
}
}

View File

@@ -26,13 +26,13 @@ import dev.architectury.networking.transformers.PacketTransformer;
import dev.architectury.utils.Env;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
import net.fabricmc.fabric.api.network.PacketContext;
import net.fabricmc.fabric.api.network.ServerSidePacketRegistry;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.protocol.Packet;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.thread.BlockableEventLoop;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player;
@@ -57,8 +57,8 @@ public class NetworkManagerImpl {
private static void registerC2SReceiver(ResourceLocation id, List<PacketTransformer> packetTransformers, NetworkReceiver receiver) {
C2S_RECEIVER.put(id, receiver);
PacketTransformer transformer = PacketTransformer.concat(packetTransformers);
ServerSidePacketRegistry.INSTANCE.register(id, (packetContext, buf) -> {
NetworkManager.PacketContext context = to(packetContext);
ServerPlayNetworking.registerGlobalReceiver(id, (server, player, handler, buf, sender) -> {
var context = context(player, server, false);
transformer.inbound(NetworkManager.Side.C2S, id, buf, context, (side, id1, buf1) -> {
NetworkReceiver networkReceiver = side == NetworkManager.Side.C2S ? C2S_RECEIVER.get(id1) : S2C_RECEIVER.get(id1);
if (networkReceiver == null) {
@@ -74,8 +74,8 @@ public class NetworkManagerImpl {
private static void registerS2CReceiver(ResourceLocation id, List<PacketTransformer> packetTransformers, NetworkReceiver receiver) {
S2C_RECEIVER.put(id, receiver);
PacketTransformer transformer = PacketTransformer.concat(packetTransformers);
ClientSidePacketRegistry.INSTANCE.register(id, (packetContext, buf) -> {
NetworkManager.PacketContext context = to(packetContext);
ClientPlayNetworking.registerGlobalReceiver(id, (client, handler, buf, sender) -> {
var context = context(client.player, client, true);
transformer.inbound(NetworkManager.Side.S2C, id, buf, context, (side, id1, buf1) -> {
NetworkReceiver networkReceiver = side == NetworkManager.Side.C2S ? C2S_RECEIVER.get(id1) : S2C_RECEIVER.get(id1);
if (networkReceiver == null) {
@@ -87,21 +87,21 @@ public class NetworkManagerImpl {
S2C_TRANSFORMERS.put(id, transformer);
}
private static NetworkManager.PacketContext to(PacketContext context) {
private static NetworkManager.PacketContext context(Player player, BlockableEventLoop<?> taskQueue, boolean client) {
return new NetworkManager.PacketContext() {
@Override
public Player getPlayer() {
return context.getPlayer();
return player;
}
@Override
public void queue(Runnable runnable) {
context.getTaskQueue().execute(runnable);
taskQueue.execute(runnable);
}
@Override
public Env getEnvironment() {
return Env.fromPlatform(context.getPacketEnvironment());
return client ? Env.CLIENT : Env.SERVER;
}
};
}
@@ -129,11 +129,11 @@ public class NetworkManagerImpl {
@Environment(EnvType.CLIENT)
public static boolean canServerReceive(ResourceLocation id) {
return ClientSidePacketRegistry.INSTANCE.canServerReceive(id);
return ClientPlayNetworking.canSend(id);
}
public static boolean canPlayerReceive(ServerPlayer player, ResourceLocation id) {
return ServerSidePacketRegistry.INSTANCE.canPlayerReceive(player, id);
return ServerPlayNetworking.canSend(player, id);
}
public static Packet<?> createAddEntityPacket(Entity entity) {
@@ -142,10 +142,10 @@ public class NetworkManagerImpl {
@Environment(EnvType.CLIENT)
private static Packet<?> toC2SPacket(ResourceLocation id, FriendlyByteBuf buf) {
return ClientSidePacketRegistry.INSTANCE.toPacket(id, buf);
return ClientPlayNetworking.createC2SPacket(id, buf);
}
private static Packet<?> toS2CPacket(ResourceLocation id, FriendlyByteBuf buf) {
return ServerSidePacketRegistry.INSTANCE.toPacket(id, buf);
return ServerPlayNetworking.createS2CPacket(id, buf);
}
}

View File

@@ -19,13 +19,13 @@
package dev.architectury.registry.client.rendering.fabric;
import net.fabricmc.fabric.api.client.rendereregistry.v1.BlockEntityRendererRegistry;
import net.fabricmc.fabric.api.client.rendering.v1.BlockEntityRendererRegistry;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
public class BlockEntityRendererRegistryImpl {
public static <T extends BlockEntity> void register(BlockEntityType<T> type, BlockEntityRendererProvider<? super T> provider) {
BlockEntityRendererRegistry.INSTANCE.register(type, provider);
BlockEntityRendererRegistry.register(type, provider);
}
}

View File

@@ -13,8 +13,8 @@ archives_base_name_snapshot=architectury-snapshot
base_version=3.4
maven_group=dev.architectury
fabric_loader_version=0.12.8
fabric_api_version=0.44.0+1.18
fabric_loader_version=0.12.12
fabric_api_version=0.46.2+1.18
mod_menu_version=3.0.0
forge_version=38.0.17

View File

@@ -19,7 +19,7 @@
package dev.architectury.test;
import dev.architectury.registry.level.entity.EntityRendererRegistry;
import dev.architectury.registry.client.level.entity.EntityRendererRegistry;
import dev.architectury.test.debug.ConsoleMessageSink;
import dev.architectury.test.debug.MessageSink;
import dev.architectury.test.debug.client.ClientOverlayMessageSink;