Class GameRuleBuilder<T>
java.lang.Object
net.fabricmc.fabric.api.gamerule.v1.GameRuleBuilder<T>
- Direct Known Subclasses:
GameRuleBuilder.BooleanRuleBuilder, GameRuleBuilder.EnumRuleBuilder, GameRuleBuilder.NumberRuleBuilder
A utility class containing classes and methods for building
GameRules.
A game rule is a persisted, per server data value which may control gameplay aspects.
To register a game rule, you can use buildAndRegister(Identifier).
For example, to register a game rule that is an integer where the default value is 1 and the acceptable values are between 0 and 10, one would use the following:
public static final GameRule<Integer> EXAMPLE_INT_RULE = GameRuleBuilder.forInteger(1).range(0, 10).buildAndRegister(Identifier.fromNamespaceAndPath("modid", "custom_int_gamerule"));
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final classstatic final classGameRuleBuilder.EnumRuleBuilder<E extends Enum<E>>static final classstatic classGameRuleBuilder.NumberRuleBuilder<T extends Number> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected net.minecraft.world.level.gamerules.GameRules.VisitorCaller<T> protected @Nullable com.mojang.brigadier.arguments.ArgumentType<T> protected net.minecraft.world.level.gamerules.GameRuleCategoryprotected com.mojang.serialization.Codec<T> protected ToIntFunction<T> protected final Tprotected @Nullable net.fabricmc.fabric.impl.gamerule.rpc.FabricGameRuleTypeprotected net.minecraft.world.flag.FeatureFlagSetprotected net.minecraft.world.level.gamerules.GameRuleType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionargumentType(com.mojang.brigadier.arguments.ArgumentType<T> argumentType) Specifies the ArgumentType for the builder.net.minecraft.world.level.gamerules.GameRule<T> build()net.minecraft.world.level.gamerules.GameRule<T> buildAndRegister(net.minecraft.resources.Identifier id) Builds and registers a GameRule.category(net.minecraft.world.level.gamerules.GameRuleCategory category) commandResultSupplier(ToIntFunction<T> commandResultSupplier) forBoolean(boolean defaultValue) forDouble(double defaultValue) static <E extends Enum<E>>
GameRuleBuilder.EnumRuleBuilder<E> forEnum(E defaultValue) forInteger(int defaultValue) requiredFeatures(net.minecraft.world.flag.FeatureFlagSet requiredFeatures)
-
Field Details
-
defaultValue
-
category
protected net.minecraft.world.level.gamerules.GameRuleCategory category -
type
protected net.minecraft.world.level.gamerules.GameRuleType type -
fabricType
protected @Nullable net.fabricmc.fabric.impl.gamerule.rpc.FabricGameRuleType fabricType -
argumentType
-
acceptor
-
codec
-
commandResultSupplier
-
requiredFeatures
protected net.minecraft.world.flag.FeatureFlagSet requiredFeatures
-
-
Constructor Details
-
GameRuleBuilder
-
-
Method Details
-
forBoolean
-
forInteger
-
forDouble
-
forEnum
-
category
-
codec
-
argumentType
Specifies the ArgumentType for the builder. Please note that this is specified by default and is usually not necessary.- Parameters:
argumentType- the ArgumentType- Returns:
- the builder, for chaining
-
commandResultSupplier
-
requiredFeatures
public GameRuleBuilder<T> requiredFeatures(net.minecraft.world.flag.FeatureFlagSet requiredFeatures) -
build
-
buildAndRegister
public net.minecraft.world.level.gamerules.GameRule<T> buildAndRegister(net.minecraft.resources.Identifier id) Builds and registers a GameRule.- Parameters:
id- the id- Returns:
- the built GameRule
-