mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/4jcraft.git
synced 2026-06-11 13:22:33 +00:00
TU19: merge Minecraft.World/AI
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
#include "../../Platform/stdafx.h"
|
||||
#include "../../Headers/net.minecraft.world.entity.ai.control.h"
|
||||
#include "../../Headers/net.minecraft.world.entity.h"
|
||||
#include "../../Headers/net.minecraft.world.entity.ai.attributes.h"
|
||||
#include "../../Headers/net.minecraft.world.entity.ai.control.h"
|
||||
#include "../../Headers/net.minecraft.world.entity.monster.h"
|
||||
#include "../../Headers/net.minecraft.world.phys.h"
|
||||
#include "MoveControl.h"
|
||||
|
||||
@@ -13,20 +15,21 @@ MoveControl::MoveControl(Mob* mob) {
|
||||
wantedY = mob->y;
|
||||
wantedZ = mob->z;
|
||||
|
||||
speed = 0.0f;
|
||||
speedModifier = 0.0;
|
||||
|
||||
_hasWanted = false;
|
||||
}
|
||||
|
||||
bool MoveControl::hasWanted() { return _hasWanted; }
|
||||
|
||||
float MoveControl::getSpeed() { return speed; }
|
||||
double MoveControl::getSpeedModifier() { return speedModifier; }
|
||||
|
||||
void MoveControl::setWantedPosition(double x, double y, double z, float speed) {
|
||||
void MoveControl::setWantedPosition(double x, double y, double z,
|
||||
double speedModifier) {
|
||||
wantedX = x;
|
||||
wantedY = y;
|
||||
wantedZ = z;
|
||||
this->speed = speed;
|
||||
this->speedModifier = speedModifier;
|
||||
_hasWanted = true;
|
||||
}
|
||||
|
||||
@@ -46,7 +49,10 @@ void MoveControl::tick() {
|
||||
float yRotD = (float)(atan2(zd, xd) * 180 / PI) - 90;
|
||||
|
||||
mob->yRot = rotlerp(mob->yRot, yRotD, MAX_TURN);
|
||||
mob->setSpeed(speed * mob->getWalkingSpeedModifier());
|
||||
mob->setSpeed(
|
||||
(float)(speedModifier *
|
||||
mob->getAttribute(SharedMonsterAttributes::MOVEMENT_SPEED)
|
||||
->getValue()));
|
||||
|
||||
if (yd > 0 && xd * xd + zd * zd < 1) mob->getJumpControl()->jump();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user