Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
1package net.lerariemann.infinity.registry.var;
2
3//? fabric && >1.21.2
4import net.fabricmc.fabric.api.object.builder.v1.entity.FabricTrackedDataRegistry;
5import net.lerariemann.infinity.InfinityMod;
6import net.lerariemann.infinity.entity.custom.HumanoidColors;
7import net.lerariemann.infinity.util.VersionMethods;
8import net.minecraft.core.Registry;
9import net.minecraft.network.FriendlyByteBuf;
10//? if >1.21
11import net.minecraft.network.codec.StreamCodec;
12import net.minecraft.network.syncher.EntityDataSerializer;
13import net.minecraft.network.syncher.EntityDataSerializers;
14//? neoforge
15/*import net.neoforged.neoforge.registries.NeoForgeRegistries;*/
16
17public class ModEntityDataSerializers {
18
19 public static final EntityDataSerializer<HumanoidColors> HUMANOID_COLORS = new EntityDataSerializer<>() {
20 //? if >1.21 {
21 @Override
22 public StreamCodec<? super FriendlyByteBuf, HumanoidColors> codec() {
23 return HumanoidColors.STREAM_CODEC;
24 }
25 //?} else {
26 /*@Override
27 public void write(FriendlyByteBuf buffer, HumanoidColors value) {
28 HumanoidColors.toNetwork(buffer, value);
29 }
30
31 @Override
32 public HumanoidColors read(FriendlyByteBuf buffer) {
33 return HumanoidColors.fromNetwork(buffer);
34 }
35 *///?}
36
37 @Override
38 public HumanoidColors copy(HumanoidColors value) {
39 return new HumanoidColors(value.left_arm(), value.left_leg(), value.right_arm(), value.right_leg(), value.head(), value.hat(), value.body());
40 }
41 };
42
43 public static void registerSerializers() {
44 var id = VersionMethods.id(InfinityMod.MOD_ID, "colors");
45 //? fabric && >1.21.2 {
46 FabricTrackedDataRegistry.register(id, HUMANOID_COLORS);
47 //?} else if neoforge {
48 /*Registry.register(NeoForgeRegistries.ENTITY_DATA_SERIALIZERS, id, HUMANOID_COLORS);
49 *///?} else
50 /*EntityDataSerializers.registerSerializer(HUMANOID_COLORS);*/
51 }
52}