Skip to content

Commit 7a432aa

Browse files
committed
More data types stuff
1 parent b6a0f4a commit 7a432aa

File tree

4 files changed

+17
-27
lines changed

4 files changed

+17
-27
lines changed

src/main/java/dev/latvian/mods/klib/KLibMod.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package dev.latvian.mods.klib;
22

3+
import dev.latvian.mods.klib.data.DataTypes;
34
import net.minecraft.resources.ResourceLocation;
45
import net.neoforged.api.distmarker.Dist;
56
import net.neoforged.bus.api.SubscribeEvent;
@@ -19,6 +20,7 @@ public static ResourceLocation id(String path) {
1920

2021
@SubscribeEvent
2122
public static void setup(FMLLoadCompleteEvent event) {
23+
DataTypes.register();
2224
event.enqueueWork(KLibMod::test);
2325
}
2426

src/main/java/dev/latvian/mods/klib/data/DataType.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package dev.latvian.mods.klib.data;
22

33
import com.mojang.brigadier.arguments.ArgumentType;
4-
import com.mojang.brigadier.context.CommandContext;
54
import com.mojang.serialization.Codec;
65
import dev.latvian.mods.klib.codec.KLibCodecs;
76
import dev.latvian.mods.klib.codec.KLibStreamCodecs;
@@ -24,23 +23,15 @@ public final class DataType<T> {
2423
public static <T> void register(
2524
ResourceLocation id,
2625
DataType<T> type,
27-
@Nullable BiFunction<RegisteredDataType<T>, CommandBuildContext, ArgumentType<T>> argumentType,
28-
@Nullable BiFunction<CommandContext<?>, String, T> argumentGetter
26+
@Nullable BiFunction<RegisteredDataType<T>, CommandBuildContext, ArgumentType<T>> argumentType
2927
) {
30-
var reg = new RegisteredDataType<>(id, type, argumentType, argumentGetter);
28+
var reg = new RegisteredDataType<>(id, type, argumentType);
3129
RegisteredDataType.BY_ID.put(id, reg);
3230
RegisteredDataType.BY_TYPE.put(type, reg);
3331
}
3432

3533
public static <T> void register(ResourceLocation id, DataType<T> type) {
36-
register(id, type, null, null);
37-
}
38-
39-
static {
40-
DataTypes.register();
41-
}
42-
43-
public static void bootstrap() {
34+
register(id, type, null);
4435
}
4536

4637
private static final Function<Collection<?>, Number> COLLECTION_SIZE_CONVERTER = Collection::size;

src/main/java/dev/latvian/mods/klib/data/DataTypes.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import net.minecraft.network.chat.Component;
2828
import net.minecraft.network.chat.ComponentSerialization;
2929
import net.minecraft.network.codec.ByteBufCodecs;
30-
import net.minecraft.resources.ResourceLocation;
3130
import net.minecraft.sounds.SoundSource;
3231
import net.minecraft.world.InteractionHand;
3332
import net.minecraft.world.item.ItemStack;
@@ -65,18 +64,18 @@ public interface DataTypes {
6564
DataType<BlockPos> BLOCK_POS = DataType.of(BlockPos.CODEC, BlockPos.STREAM_CODEC, BlockPos.class, v -> Vec3.atLowerCornerOf(v).length());
6665

6766
static void register() {
68-
DataType.register(ID.java("bool"), BOOL, (self, ctx) -> BoolArgumentType.bool(), BoolArgumentType::getBool);
69-
DataType.register(ID.java("int"), INT, (self, ctx) -> IntegerArgumentType.integer(), IntegerArgumentType::getInteger);
70-
DataType.register(ID.java("var_int"), VAR_INT, (self, ctx) -> IntegerArgumentType.integer(), IntegerArgumentType::getInteger);
71-
DataType.register(ID.java("long"), LONG, (self, ctx) -> LongArgumentType.longArg(), LongArgumentType::getLong);
72-
DataType.register(ID.java("var_long"), VAR_LONG, (self, ctx) -> LongArgumentType.longArg(), LongArgumentType::getLong);
73-
DataType.register(ID.java("float"), FLOAT, (self, ctx) -> FloatArgumentType.floatArg(), FloatArgumentType::getFloat);
74-
DataType.register(ID.java("double"), DOUBLE, (self, ctx) -> DoubleArgumentType.doubleArg(), DoubleArgumentType::getDouble);
75-
DataType.register(ID.java("string"), STRING, (self, ctx) -> StringArgumentType.string(), StringArgumentType::getString);
76-
DataType.register(ID.java("uuid"), UUID, (self, ctx) -> UuidArgument.uuid(), (ctx, name) -> ctx.getArgument(name, UUID.class));
67+
DataType.register(ID.java("bool"), BOOL, (self, ctx) -> BoolArgumentType.bool());
68+
DataType.register(ID.java("int"), INT, (self, ctx) -> IntegerArgumentType.integer());
69+
DataType.register(ID.java("var_int"), VAR_INT, (self, ctx) -> IntegerArgumentType.integer());
70+
DataType.register(ID.java("long"), LONG, (self, ctx) -> LongArgumentType.longArg());
71+
DataType.register(ID.java("var_long"), VAR_LONG, (self, ctx) -> LongArgumentType.longArg());
72+
DataType.register(ID.java("float"), FLOAT, (self, ctx) -> FloatArgumentType.floatArg());
73+
DataType.register(ID.java("double"), DOUBLE, (self, ctx) -> DoubleArgumentType.doubleArg());
74+
DataType.register(ID.java("string"), STRING, (self, ctx) -> StringArgumentType.string());
75+
DataType.register(ID.java("uuid"), UUID, (self, ctx) -> UuidArgument.uuid());
7776

78-
DataType.register(ID.mc("id"), ID.DATA_TYPE, (self, ctx) -> ResourceLocationArgument.id(), (ctx, name) -> ctx.getArgument(name, ResourceLocation.class));
79-
DataType.register(ID.mc("text_component"), TEXT_COMPONENT, (self, ctx) -> ComponentArgument.textComponent(ctx), (ctx, name) -> ctx.getArgument(name, Component.class));
77+
DataType.register(ID.mc("id"), ID.DATA_TYPE, (self, ctx) -> ResourceLocationArgument.id());
78+
DataType.register(ID.mc("text_component"), TEXT_COMPONENT, (self, ctx) -> ComponentArgument.textComponent(ctx));
8079
DataType.register(ID.mc("mirror"), MIRROR);
8180
DataType.register(ID.mc("rotation"), BLOCK_ROTATION);
8281
DataType.register(ID.mc("liquid_settings"), LIQUID_SETTINGS);

src/main/java/dev/latvian/mods/klib/data/RegisteredDataType.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package dev.latvian.mods.klib.data;
22

33
import com.mojang.brigadier.arguments.ArgumentType;
4-
import com.mojang.brigadier.context.CommandContext;
54
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
65
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap;
76
import net.minecraft.commands.CommandBuildContext;
@@ -14,8 +13,7 @@
1413
public record RegisteredDataType<T>(
1514
ResourceLocation id,
1615
DataType<T> type,
17-
@Nullable BiFunction<RegisteredDataType<T>, CommandBuildContext, ArgumentType<T>> argumentType,
18-
@Nullable BiFunction<CommandContext<?>, String, T> argumentGetter
16+
@Nullable BiFunction<RegisteredDataType<T>, CommandBuildContext, ArgumentType<T>> argumentType
1917
) {
2018
public static final Map<ResourceLocation, RegisteredDataType<?>> BY_ID = new Object2ObjectOpenHashMap<>();
2119
public static final Map<DataType<?>, RegisteredDataType<?>> BY_TYPE = new Reference2ObjectOpenHashMap<>();

0 commit comments

Comments
 (0)