mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/4jcraft.git
synced 2026-06-07 12:17:08 +00:00
exclude unused GameMode implementations, format Platform/Common/Tutorial
This commit is contained in:
@@ -9,128 +9,150 @@
|
||||
#include "../../Minecraft.Client/Network/ClientConnection.h"
|
||||
#include "../../Minecraft.World/Headers/net.minecraft.network.packet.h"
|
||||
|
||||
ChangeStateConstraint::ChangeStateConstraint( Tutorial *tutorial, eTutorial_State targetState, eTutorial_State sourceStates[], std::size_t sourceStatesCount,
|
||||
double x0, double y0, double z0, double x1, double y1, double z1, bool contains /*= true*/, bool changeGameMode /*= false*/, GameType *targetGameMode /*= 0*/ )
|
||||
: TutorialConstraint( -1 )
|
||||
{
|
||||
movementArea = AABB::newPermanent(x0, y0, z0, x1, y1, z1);
|
||||
ChangeStateConstraint::ChangeStateConstraint(
|
||||
Tutorial* tutorial, eTutorial_State targetState,
|
||||
eTutorial_State sourceStates[], std::size_t sourceStatesCount, double x0,
|
||||
double y0, double z0, double x1, double y1, double z1,
|
||||
bool contains /*= true*/, bool changeGameMode /*= false*/,
|
||||
GameType* targetGameMode /*= 0*/)
|
||||
: TutorialConstraint(-1) {
|
||||
movementArea = AABB::newPermanent(x0, y0, z0, x1, y1, z1);
|
||||
|
||||
this->contains = contains;
|
||||
this->contains = contains;
|
||||
|
||||
m_changeGameMode = changeGameMode;
|
||||
m_targetGameMode = targetGameMode;
|
||||
m_changedFromGameMode = 0;
|
||||
m_changeGameMode = changeGameMode;
|
||||
m_targetGameMode = targetGameMode;
|
||||
m_changedFromGameMode = 0;
|
||||
|
||||
m_tutorial = tutorial;
|
||||
m_targetState = targetState;
|
||||
m_sourceStatesCount = sourceStatesCount;
|
||||
|
||||
m_bHasChanged = false;
|
||||
m_changedFromState = e_Tutorial_State_None;
|
||||
m_tutorial = tutorial;
|
||||
m_targetState = targetState;
|
||||
m_sourceStatesCount = sourceStatesCount;
|
||||
|
||||
m_bComplete = false;
|
||||
m_bHasChanged = false;
|
||||
m_changedFromState = e_Tutorial_State_None;
|
||||
|
||||
m_sourceStates = new eTutorial_State [m_sourceStatesCount];
|
||||
for(unsigned int i=0;i<m_sourceStatesCount;i++)
|
||||
{
|
||||
m_sourceStates[i]=sourceStates[i];
|
||||
}
|
||||
m_bComplete = false;
|
||||
|
||||
m_sourceStates = new eTutorial_State[m_sourceStatesCount];
|
||||
for (unsigned int i = 0; i < m_sourceStatesCount; i++) {
|
||||
m_sourceStates[i] = sourceStates[i];
|
||||
}
|
||||
}
|
||||
|
||||
ChangeStateConstraint::~ChangeStateConstraint()
|
||||
{
|
||||
delete movementArea;
|
||||
if(m_sourceStatesCount>0) delete [] m_sourceStates;
|
||||
ChangeStateConstraint::~ChangeStateConstraint() {
|
||||
delete movementArea;
|
||||
if (m_sourceStatesCount > 0) delete[] m_sourceStates;
|
||||
}
|
||||
|
||||
void ChangeStateConstraint::tick(int iPad)
|
||||
{
|
||||
if(m_bComplete) return;
|
||||
void ChangeStateConstraint::tick(int iPad) {
|
||||
if (m_bComplete) return;
|
||||
|
||||
if(m_tutorial->isStateCompleted(m_targetState))
|
||||
{
|
||||
Minecraft *minecraft = Minecraft::GetInstance();
|
||||
if(m_changeGameMode)
|
||||
{
|
||||
unsigned int playerPrivs = minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
Player::setPlayerGamePrivilege(playerPrivs,Player::ePlayerGamePrivilege_CreativeMode,m_changedFromGameMode == GameType::CREATIVE);
|
||||
if (m_tutorial->isStateCompleted(m_targetState)) {
|
||||
Minecraft* minecraft = Minecraft::GetInstance();
|
||||
if (m_changeGameMode) {
|
||||
unsigned int playerPrivs =
|
||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
Player::setPlayerGamePrivilege(
|
||||
playerPrivs, Player::ePlayerGamePrivilege_CreativeMode,
|
||||
m_changedFromGameMode == GameType::CREATIVE);
|
||||
|
||||
unsigned int originalPrivileges = minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
if(originalPrivileges != playerPrivs)
|
||||
{
|
||||
// Send update settings packet to server
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
std::shared_ptr<MultiplayerLocalPlayer> player = minecraft->localplayers[iPad];
|
||||
if(player != NULL && player->connection && player->connection->getNetworkPlayer() != NULL)
|
||||
{
|
||||
player->connection->send( std::shared_ptr<PlayerInfoPacket>( new PlayerInfoPacket( player->connection->getNetworkPlayer()->GetSmallId(), -1, playerPrivs) ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
m_bComplete = true;
|
||||
return;
|
||||
}
|
||||
unsigned int originalPrivileges =
|
||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
if (originalPrivileges != playerPrivs) {
|
||||
// Send update settings packet to server
|
||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||
std::shared_ptr<MultiplayerLocalPlayer> player =
|
||||
minecraft->localplayers[iPad];
|
||||
if (player != NULL && player->connection &&
|
||||
player->connection->getNetworkPlayer() != NULL) {
|
||||
player->connection->send(
|
||||
std::shared_ptr<PlayerInfoPacket>(new PlayerInfoPacket(
|
||||
player->connection->getNetworkPlayer()
|
||||
->GetSmallId(),
|
||||
-1, playerPrivs)));
|
||||
}
|
||||
}
|
||||
}
|
||||
m_bComplete = true;
|
||||
return;
|
||||
}
|
||||
|
||||
bool inASourceState = false;
|
||||
Minecraft *minecraft = Minecraft::GetInstance();
|
||||
for(std::size_t i = 0; i < m_sourceStatesCount; ++i)
|
||||
{
|
||||
if(m_sourceStates[i] == m_tutorial->getCurrentState())
|
||||
{
|
||||
inASourceState = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( !m_bHasChanged && inASourceState && movementArea->contains( minecraft->localplayers[iPad]->getPos(1) ) == contains )
|
||||
{
|
||||
m_bHasChanged = true;
|
||||
m_changedFromState = m_tutorial->getCurrentState();
|
||||
m_tutorial->changeTutorialState(m_targetState);
|
||||
bool inASourceState = false;
|
||||
Minecraft* minecraft = Minecraft::GetInstance();
|
||||
for (std::size_t i = 0; i < m_sourceStatesCount; ++i) {
|
||||
if (m_sourceStates[i] == m_tutorial->getCurrentState()) {
|
||||
inASourceState = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!m_bHasChanged && inASourceState &&
|
||||
movementArea->contains(minecraft->localplayers[iPad]->getPos(1)) ==
|
||||
contains) {
|
||||
m_bHasChanged = true;
|
||||
m_changedFromState = m_tutorial->getCurrentState();
|
||||
m_tutorial->changeTutorialState(m_targetState);
|
||||
|
||||
if(m_changeGameMode)
|
||||
{
|
||||
if(minecraft->localgameModes[iPad] != NULL)
|
||||
{
|
||||
m_changedFromGameMode = minecraft->localplayers[iPad]->abilities.instabuild ? GameType::CREATIVE : GameType::SURVIVAL;
|
||||
if (m_changeGameMode) {
|
||||
if (minecraft->localgameModes[iPad] != NULL) {
|
||||
m_changedFromGameMode =
|
||||
minecraft->localplayers[iPad]->abilities.instabuild
|
||||
? GameType::CREATIVE
|
||||
: GameType::SURVIVAL;
|
||||
|
||||
unsigned int playerPrivs = minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
Player::setPlayerGamePrivilege(playerPrivs,Player::ePlayerGamePrivilege_CreativeMode,m_targetGameMode == GameType::CREATIVE);
|
||||
unsigned int playerPrivs =
|
||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
Player::setPlayerGamePrivilege(
|
||||
playerPrivs, Player::ePlayerGamePrivilege_CreativeMode,
|
||||
m_targetGameMode == GameType::CREATIVE);
|
||||
|
||||
unsigned int originalPrivileges = minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
if(originalPrivileges != playerPrivs)
|
||||
{
|
||||
// Send update settings packet to server
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
std::shared_ptr<MultiplayerLocalPlayer> player = minecraft->localplayers[iPad];
|
||||
if(player != NULL && player->connection && player->connection->getNetworkPlayer() != NULL)
|
||||
{
|
||||
player->connection->send( std::shared_ptr<PlayerInfoPacket>( new PlayerInfoPacket( player->connection->getNetworkPlayer()->GetSmallId(), -1, playerPrivs) ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( m_bHasChanged && movementArea->contains( minecraft->localplayers[iPad]->getPos(1) ) != contains )
|
||||
{
|
||||
m_bHasChanged = false;
|
||||
m_tutorial->changeTutorialState(m_changedFromState);
|
||||
unsigned int originalPrivileges =
|
||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
if (originalPrivileges != playerPrivs) {
|
||||
// Send update settings packet to server
|
||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||
std::shared_ptr<MultiplayerLocalPlayer> player =
|
||||
minecraft->localplayers[iPad];
|
||||
if (player != NULL && player->connection &&
|
||||
player->connection->getNetworkPlayer() != NULL) {
|
||||
player->connection->send(
|
||||
std::shared_ptr<PlayerInfoPacket>(
|
||||
new PlayerInfoPacket(
|
||||
player->connection->getNetworkPlayer()
|
||||
->GetSmallId(),
|
||||
-1, playerPrivs)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (m_bHasChanged &&
|
||||
movementArea->contains(
|
||||
minecraft->localplayers[iPad]->getPos(1)) != contains) {
|
||||
m_bHasChanged = false;
|
||||
m_tutorial->changeTutorialState(m_changedFromState);
|
||||
|
||||
if(m_changeGameMode)
|
||||
{
|
||||
unsigned int playerPrivs = minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
Player::setPlayerGamePrivilege(playerPrivs,Player::ePlayerGamePrivilege_CreativeMode,m_changedFromGameMode == GameType::CREATIVE);
|
||||
if (m_changeGameMode) {
|
||||
unsigned int playerPrivs =
|
||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
Player::setPlayerGamePrivilege(
|
||||
playerPrivs, Player::ePlayerGamePrivilege_CreativeMode,
|
||||
m_changedFromGameMode == GameType::CREATIVE);
|
||||
|
||||
unsigned int originalPrivileges = minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
if(originalPrivileges != playerPrivs)
|
||||
{
|
||||
// Send update settings packet to server
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
std::shared_ptr<MultiplayerLocalPlayer> player = minecraft->localplayers[iPad];
|
||||
if(player != NULL && player->connection && player->connection->getNetworkPlayer() != NULL)
|
||||
{
|
||||
player->connection->send( std::shared_ptr<PlayerInfoPacket>( new PlayerInfoPacket( player->connection->getNetworkPlayer()->GetSmallId(), -1, playerPrivs) ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
unsigned int originalPrivileges =
|
||||
minecraft->localplayers[iPad]->getAllPlayerGamePrivileges();
|
||||
if (originalPrivileges != playerPrivs) {
|
||||
// Send update settings packet to server
|
||||
Minecraft* pMinecraft = Minecraft::GetInstance();
|
||||
std::shared_ptr<MultiplayerLocalPlayer> player =
|
||||
minecraft->localplayers[iPad];
|
||||
if (player != NULL && player->connection &&
|
||||
player->connection->getNetworkPlayer() != NULL) {
|
||||
player->connection->send(
|
||||
std::shared_ptr<PlayerInfoPacket>(new PlayerInfoPacket(
|
||||
player->connection->getNetworkPlayer()
|
||||
->GetSmallId(),
|
||||
-1, playerPrivs)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user