PermissionLevel.java

net.minecraft.server.permissions.PermissionLevel

信息

  • 全限定名:net.minecraft.server.permissions.PermissionLevel
  • 类型:public enum
  • 包:net.minecraft.server.permissions
  • 源码路径:src/main/java/net/minecraft/server/permissions/PermissionLevel.java
  • 起始行号:L8
  • 实现:StringRepresentable
  • 职责:

    TODO

字段/常量

  • ALL, MODERATORS, GAMEMASTERS, ADMINS, OWNERS

    • 类型: PermissionLevel
    • 修饰符: package-private
    • 源码定位: L9
    • 说明:

      TODO

  • CODEC

    • 类型: Codec<PermissionLevel>
    • 修饰符: public static final
    • 源码定位: L15
    • 说明:

      TODO

  • BY_ID

    • 类型: IntFunction<PermissionLevel>
    • 修饰符: private static final
    • 源码定位: L16
    • 说明:

      TODO

  • INT_CODEC

    • 类型: Codec<PermissionLevel>
    • 修饰符: public static final
    • 源码定位: L17
    • 说明:

      TODO

  • name

    • 类型: String
    • 修饰符: private final
    • 源码定位: L18
    • 说明:

      TODO

  • id

    • 类型: int
    • 修饰符: private final
    • 源码定位: L19
    • 说明:

      TODO

内部类/嵌套类型

构造器

private PermissionLevel(String name, int id) @ L21

  • 构造器名:PermissionLevel
  • 源码定位:L21
  • 修饰符:private

参数:

  • name: String
  • id: int

说明:

TODO

方法

下面的方法块按源码顺序生成。

public boolean isEqualOrHigherThan(PermissionLevel other) @ L26

  • 方法名:isEqualOrHigherThan
  • 源码定位:L26
  • 返回类型:boolean
  • 修饰符:public

参数:

  • other: PermissionLevel

说明:

TODO

public static PermissionLevel byId(int level) @ L30

  • 方法名:byId
  • 源码定位:L30
  • 返回类型:PermissionLevel
  • 修饰符:public static

参数:

  • level: int

说明:

TODO

public int id() @ L34

  • 方法名:id
  • 源码定位:L34
  • 返回类型:int
  • 修饰符:public

参数:

说明:

TODO

public String getSerializedName() @ L38

  • 方法名:getSerializedName
  • 源码定位:L38
  • 返回类型:String
  • 修饰符:public

参数:

说明:

TODO

代码

public enum PermissionLevel implements StringRepresentable {
    ALL("all", 0),
    MODERATORS("moderators", 1),
    GAMEMASTERS("gamemasters", 2),
    ADMINS("admins", 3),
    OWNERS("owners", 4);
 
    public static final Codec<PermissionLevel> CODEC = StringRepresentable.fromEnum(PermissionLevel::values);
    private static final IntFunction<PermissionLevel> BY_ID = ByIdMap.continuous(level -> level.id, values(), ByIdMap.OutOfBoundsStrategy.CLAMP);
    public static final Codec<PermissionLevel> INT_CODEC = Codec.INT.xmap(BY_ID::apply, level -> level.id);
    private final String name;
    private final int id;
 
    private PermissionLevel(String name, int id) {
        this.name = name;
        this.id = id;
    }
 
    public boolean isEqualOrHigherThan(PermissionLevel other) {
        return this.id >= other.id;
    }
 
    public static PermissionLevel byId(int level) {
        return BY_ID.apply(level);
    }
 
    public int id() {
        return this.id;
    }
 
    @Override
    public String getSerializedName() {
        return this.name;
    }
}

引用的其他类

  • ByIdMap

    • 引用位置: 方法调用
    • 关联成员: ByIdMap.continuous()
  • StringRepresentable

    • 引用位置: 实现/方法调用
    • 关联成员: StringRepresentable.fromEnum()