1
0
Fork 0

class cleanup

This commit is contained in:
Sen 2025-09-07 10:20:32 +02:00
parent ca97bf2e18
commit 6c34d24b8c
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
27 changed files with 132 additions and 129 deletions

View file

@ -110,7 +110,6 @@ import common.tileentity.Device;
import common.tileentity.TileEntitySign;
import common.util.LocalPos;
import common.util.BoundingBox;
import common.util.ChunkPos;
import common.util.ExtMath;
import common.util.Facing;
import common.util.IntHashMap;
@ -134,6 +133,7 @@ import server.clipboard.RotationRegistry;
import server.clipboard.RotationValue;
import server.command.Executor;
import server.init.UniverseRegistry;
import server.util.ChunkPos;
import server.util.Form;
import server.vars.SVars;
import server.world.ChunkServer;

View file

@ -0,0 +1,34 @@
package server.util;
public class ChunkPos {
public final int x;
public final int z;
public ChunkPos(int x, int z) {
this.x = x;
this.z = z;
}
public int hashCode() {
int i = 1664525 * this.x + 1013904223;
int j = 1664525 * (this.z ^ -559038737) + 1013904223;
return i ^ j;
}
public boolean equals(Object obj) {
if(this == obj) {
return true;
}
else if(!(obj instanceof ChunkPos)) {
return false;
}
else {
ChunkPos pos = (ChunkPos)obj;
return this.x == pos.x && this.z == pos.z;
}
}
public String toString() {
return "[" + this.x + ", " + this.z + "]";
}
}

View file

@ -81,7 +81,7 @@ public abstract class SVars {
public static int spawnDungeonMobs = 4;
@Var(name = "chunksPerTick", min = 5, max = 1024)
public static int chunksPerTick = 10;
@Var(name = "updateDistance", min = 2, max = 64)
@Var(name = "updateDistance", min = 2, max = 32)
public static int updateDistance = 8;
@Var(name = "password", nonDefault = true)

View file

@ -11,9 +11,9 @@ import common.init.Blocks;
import common.rng.Random;
import common.rng.WeightedList;
import common.util.LocalPos;
import common.util.ChunkPos;
import common.util.ExtMath;
import common.world.World;
import server.util.ChunkPos;
import server.vars.SVars;
import server.worldgen.RngSpawn;

View file

@ -59,7 +59,6 @@ import common.tags.TagObject;
import common.tileentity.TileEntity;
import common.util.LocalPos;
import common.util.BoundingBox;
import common.util.ChunkPos;
import common.util.ExtMath;
import common.util.IntHashMap;
import common.util.LongHashMap;
@ -83,6 +82,7 @@ import server.init.TeleportRegistry;
import server.init.UniverseRegistry;
import server.network.Player;
import server.rng.PerlinGen;
import server.util.ChunkPos;
import server.vars.SVars;
import server.village.VillageCollection;
import server.worldgen.ChunkPrimer;
@ -142,6 +142,7 @@ public final class WorldServer extends AWorldServer {
private final Server server;
private final File chunkDir;
private final Random grng;
private final Set<ChunkPos> active = Sets.<ChunkPos>newHashSet();
private final Set<NextTickListEntry> ticks = Sets.<NextTickListEntry>newHashSet();
private final TreeSet<NextTickListEntry> ticksNext = new TreeSet();
private final List<NextTickListEntry> ticksNow = Lists.<NextTickListEntry>newArrayList();
@ -447,7 +448,18 @@ public final class WorldServer extends AWorldServer {
}
protected void updateBlocks() {
this.setActiveChunks(SVars.updateDistance);
this.active.clear();
int radius = SVars.updateDistance;
for(int n = 0; n < this.players.size(); ++n) {
EntityNPC player = (EntityNPC)this.players.get(n);
int x = ExtMath.floord(player.posX / 16.0D);
int z = ExtMath.floord(player.posZ / 16.0D);
for(int cx = -radius; cx <= radius; cx++) {
for(int cz = -radius; cz <= radius; cz++) {
this.active.add(new ChunkPos(cx + x, cz + z));
}
}
}
int dtics = 0;
int rtics = 0;
@ -2590,12 +2602,11 @@ public final class WorldServer extends AWorldServer {
}
private static SPacketMultiBlockChange getPacket(int amount, long[] list, ChunkServer chunk) {
ChunkPos pos = new ChunkPos(chunk.xPos, chunk.zPos);
SPacketMultiBlockChange.BlockUpdateData[] changes = new SPacketMultiBlockChange.BlockUpdateData[amount];
for(int z = 0; z < changes.length; z++) {
changes[z] = new SPacketMultiBlockChange.BlockUpdateData(list[z], chunk.getState(SPacketMultiBlockChange.getPos(pos, list[z])));
changes[z] = new SPacketMultiBlockChange.BlockUpdateData(list[z], chunk.getState(SPacketMultiBlockChange.getPos(chunk.xPos, chunk.zPos, list[z])));
}
return new SPacketMultiBlockChange(pos, changes);
return new SPacketMultiBlockChange(chunk.xPos, chunk.zPos, changes);
}
public boolean generateBigMushroom(LocalPos pos, State state, Random rand)

View file

@ -7,9 +7,9 @@ import common.collect.Maps;
import common.rng.Random;
import common.tags.TagObject;
import common.util.LocalPos;
import common.util.ChunkPos;
import common.util.LongHashMap;
import common.world.World;
import server.util.ChunkPos;
import server.world.WorldServer;
import server.world.WorldServer.WorldSavedData;
import server.worldgen.ChunkPrimer;

View file

@ -7,7 +7,8 @@ import common.collect.Lists;
import common.rng.Random;
import common.tags.TagObject;
import java.util.List;
import common.util.ChunkPos;
import server.util.ChunkPos;
import server.world.WorldServer;
public abstract class StructureStart