mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-25 10:13:40 +00:00
48 lines
1.7 KiB
C++
48 lines
1.7 KiB
C++
#include <memory>
|
|
|
|
#include "minecraft/world/level/Level.h"
|
|
#include "UseTileTask.h"
|
|
#include "Minecraft.Client/Common/src/Tutorial/Tasks/TutorialTask.h"
|
|
|
|
class Tutorial;
|
|
class TutorialConstraint;
|
|
|
|
UseTileTask::UseTileTask(const int tileId, int x, int y, int z,
|
|
Tutorial* tutorial, int descriptionId,
|
|
bool enablePreCompletion,
|
|
std::vector<TutorialConstraint*>* inConstraints,
|
|
bool bShowMinimumTime, bool bAllowFade,
|
|
bool bTaskReminders)
|
|
: TutorialTask(tutorial, descriptionId, enablePreCompletion, inConstraints,
|
|
bShowMinimumTime, bAllowFade, bTaskReminders),
|
|
x(x),
|
|
y(y),
|
|
z(z),
|
|
tileId(tileId) {
|
|
useLocation = true;
|
|
}
|
|
|
|
UseTileTask::UseTileTask(const int tileId, Tutorial* tutorial,
|
|
int descriptionId, bool enablePreCompletion,
|
|
std::vector<TutorialConstraint*>* inConstraints,
|
|
bool bShowMinimumTime, bool bAllowFade,
|
|
bool bTaskReminders)
|
|
: TutorialTask(tutorial, descriptionId, enablePreCompletion, inConstraints,
|
|
bShowMinimumTime, bAllowFade, bTaskReminders),
|
|
tileId(tileId) {
|
|
useLocation = false;
|
|
}
|
|
|
|
bool UseTileTask::isCompleted() { return bIsCompleted; }
|
|
|
|
void UseTileTask::useItemOn(Level* level, std::shared_ptr<ItemInstance> item,
|
|
int x, int y, int z, bool bTestUseOnly) {
|
|
if (bTestUseOnly) return;
|
|
|
|
if (!enablePreCompletion && !bHasBeenActivated) return;
|
|
|
|
if (!useLocation || (x == this->x && y == this->y && z == this->z)) {
|
|
int t = level->getTile(x, y, z);
|
|
if (t == tileId) bIsCompleted = true;
|
|
}
|
|
} |