From 44517e07490d702219d30f5e6438eecd99cd4421 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 20 Jan 2022 03:36:39 +0100 Subject: [PATCH] More Codecs --- .../java/ru/bclib/api/surface/rules/RandomIntProvider.java | 7 +++++++ src/main/java/ru/bclib/interfaces/NumericProvider.java | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/ru/bclib/api/surface/rules/RandomIntProvider.java b/src/main/java/ru/bclib/api/surface/rules/RandomIntProvider.java index 14c1dffb..12ace5a3 100644 --- a/src/main/java/ru/bclib/api/surface/rules/RandomIntProvider.java +++ b/src/main/java/ru/bclib/api/surface/rules/RandomIntProvider.java @@ -1,12 +1,19 @@ package ru.bclib.api.surface.rules; +import com.mojang.serialization.Codec; import ru.bclib.interfaces.NumericProvider; import ru.bclib.mixin.common.SurfaceRulesContextAccessor; import ru.bclib.util.MHelper; public record RandomIntProvider(int range) implements NumericProvider { + public static final Codec CODEC = Codec.INT.fieldOf("nethrangeer_noise").xmap(RandomIntProvider::new, obj -> obj.range).codec(); @Override public int getNumber(SurfaceRulesContextAccessor context) { return MHelper.RANDOM.nextInt(range); } + + @Override + public Codec pcodec() { + return CODEC; + } } diff --git a/src/main/java/ru/bclib/interfaces/NumericProvider.java b/src/main/java/ru/bclib/interfaces/NumericProvider.java index 6d647f81..06befdd1 100644 --- a/src/main/java/ru/bclib/interfaces/NumericProvider.java +++ b/src/main/java/ru/bclib/interfaces/NumericProvider.java @@ -1,7 +1,14 @@ package ru.bclib.interfaces; +import com.mojang.serialization.Codec; +import net.minecraft.core.Registry; +import net.minecraft.world.level.levelgen.SurfaceRules; import ru.bclib.mixin.common.SurfaceRulesContextAccessor; +import java.util.function.Function; + public interface NumericProvider { int getNumber(SurfaceRulesContextAccessor context); + + Codec pcodec(); }