package net.minecraft.commands.synchronization; import com.google.gson.JsonObject; import com.mojang.brigadier.arguments.ArgumentType; import java.util.function.Function; import java.util.function.Supplier; import net.minecraft.commands.CommandBuildContext; import net.minecraft.network.FriendlyByteBuf; public class SingletonArgumentInfo> implements ArgumentTypeInfo.Template> { private final SingletonArgumentInfo.Template template; private SingletonArgumentInfo(Function p_235434_) { this.template = new SingletonArgumentInfo.Template(p_235434_); } public static > SingletonArgumentInfo contextFree(Supplier p_235452_) { return new SingletonArgumentInfo<>(p_235455_ -> p_235452_.get()); } public static > SingletonArgumentInfo contextAware(Function p_235450_) { return new SingletonArgumentInfo<>(p_235450_); } public void serializeToNetwork(SingletonArgumentInfo.Template p_235447_, FriendlyByteBuf p_235448_) { } public void serializeToJson(SingletonArgumentInfo.Template p_235444_, JsonObject p_235445_) { } public SingletonArgumentInfo.Template deserializeFromNetwork(FriendlyByteBuf p_235457_) { return this.template; } public SingletonArgumentInfo.Template unpack(A p_235459_) { return this.template; } public final class Template implements ArgumentTypeInfo.Template { private final Function constructor; public Template(final Function p_235466_) { this.constructor = p_235466_; } @Override public A instantiate(CommandBuildContext p_235469_) { return this.constructor.apply(p_235469_); } @Override public ArgumentTypeInfo type() { return SingletonArgumentInfo.this; } } }