50 lines
1.5 KiB
Java
50 lines
1.5 KiB
Java
package net.minecraft.client.tutorial;
|
|
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.gui.components.toasts.TutorialToast;
|
|
import net.minecraft.network.chat.Component;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public class OpenInventoryTutorialStep implements TutorialStepInstance {
|
|
private static final int HINT_DELAY = 600;
|
|
private static final Component TITLE = Component.translatable("tutorial.open_inventory.title");
|
|
private static final Component DESCRIPTION = Component.translatable("tutorial.open_inventory.description", Tutorial.key("inventory"));
|
|
private final Tutorial tutorial;
|
|
@Nullable
|
|
private TutorialToast toast;
|
|
private int timeWaiting;
|
|
|
|
public OpenInventoryTutorialStep(Tutorial tutorial) {
|
|
this.tutorial = tutorial;
|
|
}
|
|
|
|
@Override
|
|
public void tick() {
|
|
this.timeWaiting++;
|
|
if (!this.tutorial.isSurvival()) {
|
|
this.tutorial.setStep(TutorialSteps.NONE);
|
|
} else {
|
|
if (this.timeWaiting >= 600 && this.toast == null) {
|
|
Minecraft minecraft = this.tutorial.getMinecraft();
|
|
this.toast = new TutorialToast(minecraft.font, TutorialToast.Icons.RECIPE_BOOK, TITLE, DESCRIPTION, false);
|
|
minecraft.getToastManager().addToast(this.toast);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void clear() {
|
|
if (this.toast != null) {
|
|
this.toast.hide();
|
|
this.toast = null;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onOpenInventory() {
|
|
this.tutorial.setStep(TutorialSteps.CRAFT_PLANKS);
|
|
}
|
|
}
|