return;
}
}
+
+ // Don't disable this part when modding is disabled, it's used in builtin
m_client->getScript()->on_formspec_input(m_formname, fields);
}
m_eye_position_vertex.set(eye_position_array, services);
float minimap_yaw_array[3];
- v3f minimap_yaw = m_client->getMapper()->getYawVec();
+ v3f minimap_yaw = m_client->getMinimap()->getYawVec();
#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
minimap_yaw_array[0] = minimap_yaw.X;
minimap_yaw_array[1] = minimap_yaw.Y;
Sky *sky; // Free using ->Drop()
Inventory *local_inventory;
Hud *hud;
- Mapper *mapper;
+ Minimap *mapper;
GameRunData runData;
VolatileRunFlags flags;
updateProfilerGraphs(&graph);
// Update if minimap has been disabled by the server
- flags.show_minimap &= !client->isMinimapDisabledByServer();
+ flags.show_minimap &= client->shouldShowMinimap();
}
}
return false;
}
- mapper = client->getMapper();
+ mapper = client->getMinimap();
mapper->setMinimapMode(MINIMAP_MODE_OFF);
return true;
for ( ; event.type != CE_NONE; event = client->getClientEvent()) {
- if (event.type == CE_PLAYER_DAMAGE &&
- client->getHP() != 0) {
- client->getScript()->on_damage_taken(event.player_damage.amount);
+ if (event.type == CE_PLAYER_DAMAGE && client->getHP() != 0) {
+ if (client->moddingEnabled()) {
+ client->getScript()->on_damage_taken(event.player_damage.amount);
+ }
*damage_flash += 95.0 + 3.2 * event.player_damage.amount;
*damage_flash = MYMIN(*damage_flash, 127.0);
cam->camera_yaw = event.player_force_move.yaw;
cam->camera_pitch = event.player_force_move.pitch;
} else if (event.type == CE_DEATHSCREEN) {
+ // This should be enabled for death formspec in builtin
client->getScript()->on_death();
/* Handle visualization */
const PointedThing &pointed, const v3s16 &nodepos,
const ToolCapabilities &playeritem_toolcap, f32 dtime)
{
+
+ LocalPlayer *player = client->getEnv().getLocalPlayer();
+ ClientMap &map = client->getEnv().getClientMap();
+ MapNode n = client->getEnv().getClientMap().getNodeNoEx(nodepos);
+
if (!runData->digging) {
infostream << "Started digging" << std::endl;
+ if (client->moddingEnabled() && client->getScript()->on_punchnode(nodepos, n))
+ return;
client->interact(0, pointed);
runData->digging = true;
runData->ldown_for_dig = true;
}
- LocalPlayer *player = client->getEnv().getLocalPlayer();
- ClientMap &map = client->getEnv().getClientMap();
- MapNode n = client->getEnv().getClientMap().getNodeNoEx(nodepos);
-
// NOTE: Similar piece of code exists on the server side for
// cheat detection.
// Get digging parameters
} else {
infostream << "Digging completed" << std::endl;
client->setCrack(-1, v3s16(0, 0, 0));
-
+
runData->dig_time = 0;
runData->digging = false;
bool is_valid_position;
MapNode wasnode = map.getNodeNoEx(nodepos, &is_valid_position);
if (is_valid_position) {
- bool block = client->getScript()->on_dignode(nodepos, wasnode);
- if (block) {
- return;
+ if (client->moddingEnabled()) {
+ if (client->getScript()->on_dignode(nodepos, wasnode)) {
+ return;
+ }
}
client->removeNode(nodepos);
}