SwizzleArgument.java
net.minecraft.commands.arguments.coordinates.SwizzleArgument
信息
- 全限定名:net.minecraft.commands.arguments.coordinates.SwizzleArgument
- 类型:public class
- 包:net.minecraft.commands.arguments.coordinates
- 源码路径:src/main/java/net/minecraft/commands/arguments/coordinates/SwizzleArgument.java
- 起始行号:L15
- 实现:ArgumentType<EnumSet<Direction.Axis>>
- 职责:
TODO
字段/常量
-
EXAMPLES- 类型:
Collection<String> - 修饰符:
private static final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
ERROR_INVALID- 类型:
SimpleCommandExceptionType - 修饰符:
private static final - 源码定位:
L17 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public static SwizzleArgument swizzle() @ L19
- 方法名:swizzle
- 源码定位:L19
- 返回类型:SwizzleArgument
- 修饰符:public static
参数:
- 无
说明:
TODO
public static EnumSet<Direction.Axis> getSwizzle(CommandContext<CommandSourceStack> context, String name) @ L23
- 方法名:getSwizzle
- 源码定位:L23
- 返回类型:EnumSet<Direction.Axis>
- 修饰符:public static
参数:
- context: CommandContext
- name: String
说明:
TODO
public EnumSet<Direction.Axis> parse(StringReader reader) @ L27
- 方法名:parse
- 源码定位:L27
- 返回类型:EnumSet<Direction.Axis>
- 修饰符:public
参数:
- reader: StringReader
说明:
TODO
public Collection<String> getExamples() @ L49
- 方法名:getExamples
- 源码定位:L49
- 返回类型:Collection
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class SwizzleArgument implements ArgumentType<EnumSet<Direction.Axis>> {
private static final Collection<String> EXAMPLES = Arrays.asList("xyz", "x");
private static final SimpleCommandExceptionType ERROR_INVALID = new SimpleCommandExceptionType(Component.translatable("arguments.swizzle.invalid"));
public static SwizzleArgument swizzle() {
return new SwizzleArgument();
}
public static EnumSet<Direction.Axis> getSwizzle(CommandContext<CommandSourceStack> context, String name) {
return context.getArgument(name, EnumSet.class);
}
public EnumSet<Direction.Axis> parse(StringReader reader) throws CommandSyntaxException {
EnumSet<Direction.Axis> result = EnumSet.noneOf(Direction.Axis.class);
while (reader.canRead() && reader.peek() != ' ') {
char c = reader.read();
Direction.Axis axis = switch (c) {
case 'x' -> Direction.Axis.X;
case 'y' -> Direction.Axis.Y;
case 'z' -> Direction.Axis.Z;
default -> throw ERROR_INVALID.createWithContext(reader);
};
if (result.contains(axis)) {
throw ERROR_INVALID.createWithContext(reader);
}
result.add(axis);
}
return result;
}
@Override
public Collection<String> getExamples() {
return EXAMPLES;
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现/返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Component.translatable()
- 引用位置: