Ticket.java
net.minecraft.server.level.Ticket
信息
- 全限定名:net.minecraft.server.level.Ticket
- 类型:public class
- 包:net.minecraft.server.level
- 源码路径:src/main/java/net/minecraft/server/level/Ticket.java
- 起始行号:L10
- 职责:
TODO
字段/常量
-
CODEC- 类型:
MapCodec<Ticket> - 修饰符:
public static final - 源码定位:
L11 - 说明:
TODO
- 类型:
-
type- 类型:
TicketType - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
ticketLevel- 类型:
int - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
ticksLeft- 类型:
long - 修饰符:
private - 源码定位:
L21 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public Ticket(TicketType type, int ticketLevel) @ L23
- 构造器名:Ticket
- 源码定位:L23
- 修饰符:public
参数:
- type: TicketType
- ticketLevel: int
说明:
TODO
private Ticket(TicketType type, int ticketLevel, long ticksLeft) @ L27
- 构造器名:Ticket
- 源码定位:L27
- 修饰符:private
参数:
- type: TicketType
- ticketLevel: int
- ticksLeft: long
说明:
TODO
方法
下面的方法块按源码顺序生成。
public String toString() @ L33
- 方法名:toString
- 源码定位:L33
- 返回类型:String
- 修饰符:public
参数:
- 无
说明:
TODO
public TicketType getType() @ L48
- 方法名:getType
- 源码定位:L48
- 返回类型:TicketType
- 修饰符:public
参数:
- 无
说明:
TODO
public int getTicketLevel() @ L52
- 方法名:getTicketLevel
- 源码定位:L52
- 返回类型:int
- 修饰符:public
参数:
- 无
说明:
TODO
public void resetTicksLeft() @ L56
- 方法名:resetTicksLeft
- 源码定位:L56
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void decreaseTicksLeft() @ L60
- 方法名:decreaseTicksLeft
- 源码定位:L60
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public boolean isTimedOut() @ L66
- 方法名:isTimedOut
- 源码定位:L66
- 返回类型:boolean
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class Ticket {
public static final MapCodec<Ticket> CODEC = RecordCodecBuilder.mapCodec(
i -> i.group(
BuiltInRegistries.TICKET_TYPE.byNameCodec().fieldOf("type").forGetter(Ticket::getType),
ExtraCodecs.NON_NEGATIVE_INT.fieldOf("level").forGetter(Ticket::getTicketLevel),
Codec.LONG.optionalFieldOf("ticks_left", 0L).forGetter(t -> t.ticksLeft)
)
.apply(i, Ticket::new)
);
private final TicketType type;
private final int ticketLevel;
private long ticksLeft;
public Ticket(TicketType type, int ticketLevel) {
this(type, ticketLevel, type.timeout());
}
private Ticket(TicketType type, int ticketLevel, long ticksLeft) {
this.type = type;
this.ticketLevel = ticketLevel;
this.ticksLeft = ticksLeft;
}
@Override
public String toString() {
return this.type.hasTimeout()
? "Ticket["
+ Util.getRegisteredName(BuiltInRegistries.TICKET_TYPE, this.type)
+ " "
+ this.ticketLevel
+ "] with "
+ this.ticksLeft
+ " ticks left ( out of"
+ this.type.timeout()
+ ")"
: "Ticket[" + Util.getRegisteredName(BuiltInRegistries.TICKET_TYPE, this.type) + " " + this.ticketLevel + "] with no timeout";
}
public TicketType getType() {
return this.type;
}
public int getTicketLevel() {
return this.ticketLevel;
}
public void resetTicksLeft() {
this.ticksLeft = this.type.timeout();
}
public void decreaseTicksLeft() {
if (this.type.hasTimeout()) {
this.ticksLeft--;
}
}
public boolean isTimedOut() {
return this.type.hasTimeout() && this.ticksLeft < 0L;
}
}引用的其他类
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Util.getRegisteredName()
- 引用位置: