#pragma once #include "..\Minecraft.World\HashExtension.h" #include "..\Minecraft.World\JavaIntHash.h" class Entity; class ServerPlayer; class TrackedEntity; class MinecraftServer; class Packet; using namespace std; class EntityTracker { private: ServerLevel *level; unordered_set > entities; unordered_map , IntKeyHash2, IntKeyEq> entityMap; // was IntHashMap int maxRange; public: EntityTracker(ServerLevel *level); void addEntity(shared_ptr e); void addEntity(shared_ptr e, int range, int updateInterval); void addEntity(shared_ptr e, int range, int updateInterval, bool trackDeltas); void removeEntity(shared_ptr e); void removePlayer(shared_ptr e); // 4J added void tick(); void broadcast(shared_ptr e, shared_ptr packet); void broadcastAndSend(shared_ptr e, shared_ptr packet); void clear(shared_ptr serverPlayer); void updateMaxRange(); // AP added for Vita // 4J-JEV: Added, needed access to tracked entity of a riders mount. shared_ptr getTracker(shared_ptr entity); };