TU19: merge Minecraft.Client/Level

This commit is contained in:
Tropical
2026-03-21 20:29:13 -05:00
parent 1c12bedc86
commit b319cb3cea
6 changed files with 417 additions and 175 deletions

View File

@@ -18,9 +18,10 @@ private:
ResetInfo(int x, int y, int z, int tile, int data);
};
std::vector<ResetInfo> updatesToReset; // 4J - was linked list but vector
// seems more appropriate
bool m_bEnableResetChanges; // 4J Added
std::vector<ResetInfo>
updatesToReset; // 4J - was linked list but std::vector seems more
// appropriate
bool m_bEnableResetChanges; // 4J Added
public:
void unshareChunkAt(int x, int z); // 4J - added
void shareChunkAt(int x, int z); // 4J - added
@@ -34,10 +35,11 @@ private:
int compressCheckX; // 4J - added
int compressCheckZ; // 4J - added
std::vector<ClientConnection*>
connections; // 4J Stu - Made this a vector as we can have more than
// one local connection
connections; // 4J Stu - Made this a std::vector as we can have more
// than one local connection
MultiPlayerChunkCache* chunkCache;
Minecraft* minecraft;
Scoreboard* scoreboard;
public:
MultiPlayerLevel(ClientConnection* connection, LevelSettings* levelSettings,
@@ -79,15 +81,16 @@ public:
std::shared_ptr<Entity> removeEntity(int id);
virtual void removeEntities(
std::vector<std::shared_ptr<Entity> >* list); // 4J Added override
virtual bool setDataNoUpdate(int x, int y, int z, int data);
virtual bool setTileAndDataNoUpdate(int x, int y, int z, int tile,
int data);
virtual bool setTileNoUpdate(int x, int y, int z, int tile);
virtual bool setData(int x, int y, int z, int data, int updateFlags,
bool forceUpdate = false);
virtual bool setTileAndData(int x, int y, int z, int tile, int data,
int updateFlags);
bool doSetTileAndData(int x, int y, int z, int tile, int data);
virtual void disconnect(bool sendDisconnect = true);
void animateTick(int xt, int yt, int zt);
protected:
virtual Tickable* makeSoundUpdater(std::shared_ptr<Minecart> minecart);
virtual void tickWeather();
static const int ANIMATE_TICK_MAX_PARTICLES = 500;
@@ -104,8 +107,14 @@ public:
virtual void playLocalSound(double x, double y, double z, int iSound,
float volume, float pitch,
bool distanceDelay = false,
float fClipSoundDist = 16.0f);
virtual void createFireworks(double x, double y, double z, double xd,
double yd, double zd, CompoundTag* infoTag);
virtual void setScoreboard(Scoreboard* scoreboard);
virtual void setDayTime(int64_t newTime);
// 4J Stu - Added so we can have multiple local connections
void addClientConnection(ClientConnection* c) { connections.push_back(c); }
void removeClientConnection(ClientConnection* c, bool sendDisconnect);