|
1 | 1 | #include "Minecraft.Client/platform/NX/Platform.h" |
2 | 2 | #include "Minecraft.World/entity/Entity.h" |
| 3 | +#include "Minecraft.World/entity/player/Player.h" |
3 | 4 | #include "Minecraft.World/level/Level.h" |
4 | 5 | #include "Minecraft.World/level/LevelListener.h" |
5 | 6 | #include "Minecraft.World/level/LevelType.h" |
|
15 | 16 | #include "Minecraft.World/level/storage/LevelData.h" |
16 | 17 | #include "Minecraft.World/level/storage/LevelStorage.h" |
17 | 18 | #include "Minecraft.Core/System.h" |
| 19 | +#include <memory> |
18 | 20 |
|
19 | 21 | Level::Level(std::shared_ptr<LevelStorage> levelStorage, LevelData* levelData, Dimension* dimension, |
20 | 22 | bool isLocal) { |
@@ -189,22 +191,20 @@ void Level::levelEvent(int eventType, const BlockPos& pos, int data) { |
189 | 191 | levelEvent(nullptr, eventType, pos, data); |
190 | 192 | } |
191 | 193 |
|
192 | | -// NON_MATCHING |
193 | 194 | void Level::levelEvent(std::shared_ptr<Player> player, int eventType, const BlockPos& pos, int data) { |
194 | | - for (auto it = mLevelListeners.begin(); it != mLevelListeners.end(); ++it) { |
195 | | - (*it)->levelEvent(player, eventType, pos, data); |
| 195 | + for (LevelListener* listener : this->mLevelListeners) { |
| 196 | + listener->levelEvent(player, eventType, pos, data); |
196 | 197 | } |
197 | 198 | } |
198 | 199 |
|
199 | 200 | void Level::setBlockAndUpdate(const BlockPos& pos, const BlockState* state) { |
200 | 201 | setBlock(pos, state, 3, false); |
201 | 202 | } |
202 | 203 |
|
203 | | -// NON_MATCHING |
204 | 204 | void Level::sendBlockUpdated(const BlockPos& pos, const BlockState* state, const BlockState* state2, int id, |
205 | 205 | bool unk) { |
206 | | - for (auto it = mLevelListeners.begin(); it != mLevelListeners.end(); it++) { |
207 | | - (*it)->blockChanged(this, pos, state, state2, id, unk); |
| 206 | + for (LevelListener* listener : this->mLevelListeners) { |
| 207 | + listener->blockChanged(this, pos, state, state2, id, unk); |
208 | 208 | } |
209 | 209 | } |
210 | 210 |
|
@@ -241,7 +241,6 @@ void Level::lightColumnChanged(int x, int z, int y0, int y1) { |
241 | 241 | PIXEndNamedEvent(); |
242 | 242 | } |
243 | 243 |
|
244 | | -// NON_MATCHING: This should call a thunk |
245 | 244 | void Level::neighborChanged(const BlockPos& pos, Block* block, const BlockPos& neighborPos) { |
246 | 245 | if (!mIsLocal) { |
247 | 246 | getBlockState(pos)->neighborChanged(this, pos, block, neighborPos); |
@@ -427,36 +426,34 @@ bool Level::addGlobalEntity(std::shared_ptr<Entity> entity) { |
427 | 426 | return true; |
428 | 427 | } |
429 | 428 |
|
430 | | -// NON_MATCHING |
431 | 429 | void Level::entityAdded(std::shared_ptr<Entity> entity) { |
432 | | - for (auto it = mLevelListeners.begin(); it != mLevelListeners.end(); ++it) { |
433 | | - (*it)->entityAdded(entity); |
| 430 | + for (LevelListener* listener : this->mLevelListeners) { |
| 431 | + listener->entityAdded(entity); |
434 | 432 | } |
435 | 433 | } |
436 | 434 |
|
437 | | -// NON_MATCHING |
438 | 435 | void Level::entityRemoved(std::shared_ptr<Entity> entity) { |
439 | | - for (auto it = mLevelListeners.begin(); it != mLevelListeners.end(); ++it) { |
440 | | - (*it)->entityRemoved(entity); |
| 436 | + for (LevelListener* listener : this->mLevelListeners) { |
| 437 | + listener->entityRemoved(entity); |
441 | 438 | } |
442 | 439 | } |
443 | 440 |
|
444 | | -// NON_MATCHING |
445 | 441 | void Level::playerRemoved(std::shared_ptr<Entity> entity) { |
446 | | - for (auto it = mLevelListeners.begin(); it != mLevelListeners.end(); ++it) { |
447 | | - (*it)->playerRemoved(entity); |
| 442 | + for (LevelListener* listener : this->mLevelListeners) { |
| 443 | + listener->playerRemoved(entity); |
448 | 444 | } |
449 | 445 | } |
450 | 446 |
|
451 | 447 | void Level::addListener(LevelListener* listener) { |
452 | 448 | mLevelListeners.push_back(listener); |
453 | 449 | } |
454 | 450 |
|
455 | | -// NON_MATCHING |
456 | 451 | void Level::removeListener(LevelListener* listener) { |
457 | | - auto it = mLevelListeners.begin(); |
458 | | - if (it != mLevelListeners.end()) { |
459 | | - mLevelListeners.erase(it, mLevelListeners.end()); |
| 452 | + for (auto it = this->mLevelListeners.begin(); it != this->mLevelListeners.end(); it++) { |
| 453 | + if (listener == *it) { |
| 454 | + this->mLevelListeners.erase(it); |
| 455 | + return; |
| 456 | + } |
460 | 457 | } |
461 | 458 | } |
462 | 459 |
|
|
0 commit comments