CraftPlanksTutorialStep.java
net.minecraft.client.tutorial.CraftPlanksTutorialStep
信息
- 全限定名:net.minecraft.client.tutorial.CraftPlanksTutorialStep
- 类型:public class
- 包:net.minecraft.client.tutorial
- 源码路径:src/main/java/net/minecraft/client/tutorial/CraftPlanksTutorialStep.java
- 起始行号:L19
- 实现:TutorialStepInstance
- 职责:
TODO
字段/常量
-
HINT_DELAY- 类型:
int - 修饰符:
private static final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
CRAFT_TITLE- 类型:
Component - 修饰符:
private static final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
CRAFT_DESCRIPTION- 类型:
Component - 修饰符:
private static final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
tutorial- 类型:
Tutorial - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
toast- 类型:
TutorialToast - 修饰符:
private - 源码定位:
L24 - 说明:
TODO
- 类型:
-
timeWaiting- 类型:
int - 修饰符:
private - 源码定位:
L25 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public CraftPlanksTutorialStep(Tutorial tutorial) @ L27
- 构造器名:CraftPlanksTutorialStep
- 源码定位:L27
- 修饰符:public
参数:
- tutorial: Tutorial
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void tick() @ L31
- 方法名:tick
- 源码定位:L31
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void clear() @ L60
- 方法名:clear
- 源码定位:L60
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void onGetItem(ItemStack itemStack) @ L68
- 方法名:onGetItem
- 源码定位:L68
- 返回类型:void
- 修饰符:public
参数:
- itemStack: ItemStack
说明:
TODO
public static boolean hasCraftedPlanksPreviously(LocalPlayer player, TagKey<Item> tag) @ L75
- 方法名:hasCraftedPlanksPreviously
- 源码定位:L75
- 返回类型:boolean
- 修饰符:public static
参数:
- player: LocalPlayer
- tag: TagKey
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class CraftPlanksTutorialStep implements TutorialStepInstance {
private static final int HINT_DELAY = 1200;
private static final Component CRAFT_TITLE = Component.translatable("tutorial.craft_planks.title");
private static final Component CRAFT_DESCRIPTION = Component.translatable("tutorial.craft_planks.description");
private final Tutorial tutorial;
private @Nullable TutorialToast toast;
private int timeWaiting;
public CraftPlanksTutorialStep(Tutorial tutorial) {
this.tutorial = tutorial;
}
@Override
public void tick() {
this.timeWaiting++;
if (!this.tutorial.isSurvival()) {
this.tutorial.setStep(TutorialSteps.NONE);
} else {
Minecraft minecraft = this.tutorial.getMinecraft();
if (this.timeWaiting == 1) {
LocalPlayer player = minecraft.player;
if (player != null) {
if (player.getInventory().contains(ItemTags.PLANKS)) {
this.tutorial.setStep(TutorialSteps.NONE);
return;
}
if (hasCraftedPlanksPreviously(player, ItemTags.PLANKS)) {
this.tutorial.setStep(TutorialSteps.NONE);
return;
}
}
}
if (this.timeWaiting >= 1200 && this.toast == null) {
this.toast = new TutorialToast(minecraft.font, TutorialToast.Icons.WOODEN_PLANKS, CRAFT_TITLE, CRAFT_DESCRIPTION, false);
minecraft.getToastManager().addToast(this.toast);
}
}
}
@Override
public void clear() {
if (this.toast != null) {
this.toast.hide();
this.toast = null;
}
}
@Override
public void onGetItem(ItemStack itemStack) {
if (itemStack.is(ItemTags.PLANKS)) {
this.tutorial.setStep(TutorialSteps.NONE);
}
}
public static boolean hasCraftedPlanksPreviously(LocalPlayer player, TagKey<Item> tag) {
for (Holder<Item> item : BuiltInRegistries.ITEM.getTagOrEmpty(tag)) {
if (player.getStats().getValue(Stats.ITEM_CRAFTED.get(item.value())) > 0) {
return true;
}
}
return false;
}
}引用的其他类
-
- 引用位置:
字段/构造调用 - 关联成员:
TutorialToast()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
Component.translatable()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: