mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Coord docs & fix serious parallax issue
This commit is contained in:
parent
0595008fce
commit
b27b26837f
@ -25,6 +25,8 @@ import com.volmit.iris.engine.object.tile.TileData;
|
|||||||
import com.volmit.iris.engine.parallel.MultiBurst;
|
import com.volmit.iris.engine.parallel.MultiBurst;
|
||||||
import com.volmit.iris.util.collection.KList;
|
import com.volmit.iris.util.collection.KList;
|
||||||
import com.volmit.iris.util.collection.KMap;
|
import com.volmit.iris.util.collection.KMap;
|
||||||
|
import com.volmit.iris.util.documentation.ChunkCoordinates;
|
||||||
|
import com.volmit.iris.util.documentation.RegionCoordinates;
|
||||||
import com.volmit.iris.util.format.C;
|
import com.volmit.iris.util.format.C;
|
||||||
import com.volmit.iris.util.scheduling.J;
|
import com.volmit.iris.util.scheduling.J;
|
||||||
import org.bukkit.block.TileState;
|
import org.bukkit.block.TileState;
|
||||||
@ -85,16 +87,19 @@ public class ParallaxWorld implements ParallaxAccess {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RegionCoordinates
|
||||||
public boolean isLoaded(int x, int z) {
|
public boolean isLoaded(int x, int z) {
|
||||||
return loadedRegions.containsKey(key(x, z));
|
return loadedRegions.containsKey(key(x, z));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RegionCoordinates
|
||||||
public void save(int x, int z) {
|
public void save(int x, int z) {
|
||||||
if (isLoaded(x, z)) {
|
if (isLoaded(x, z)) {
|
||||||
save(getR(x, z));
|
save(getR(x, z));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RegionCoordinates
|
||||||
public int unload(int x, int z) {
|
public int unload(int x, int z) {
|
||||||
long key = key(x, z);
|
long key = key(x, z);
|
||||||
int v = 0;
|
int v = 0;
|
||||||
@ -114,6 +119,7 @@ public class ParallaxWorld implements ParallaxAccess {
|
|||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RegionCoordinates
|
||||||
public ParallaxRegion load(int x, int z) {
|
public ParallaxRegion load(int x, int z) {
|
||||||
if (isLoaded(x, z)) {
|
if (isLoaded(x, z)) {
|
||||||
return loadedRegions.get(key(x, z));
|
return loadedRegions.get(key(x, z));
|
||||||
@ -125,6 +131,7 @@ public class ParallaxWorld implements ParallaxAccess {
|
|||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RegionCoordinates
|
||||||
public ParallaxRegion getR(int x, int z) {
|
public ParallaxRegion getR(int x, int z) {
|
||||||
long key = key(x, z);
|
long key = key(x, z);
|
||||||
|
|
||||||
@ -137,70 +144,84 @@ public class ParallaxWorld implements ParallaxAccess {
|
|||||||
return region;
|
return region;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RegionCoordinates
|
||||||
public ParallaxRegion getRW(int x, int z) {
|
public ParallaxRegion getRW(int x, int z) {
|
||||||
save.addIfMissing(key(x, z));
|
save.addIfMissing(key(x, z));
|
||||||
return getR(x, z);
|
return getR(x, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RegionCoordinates
|
||||||
private long key(int x, int z) {
|
private long key(int x, int z) {
|
||||||
return (((long) x) << 32) | (((long) z) & 0xffffffffL);
|
return (((long) x) << 32) | (((long) z) & 0xffffffffL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<BlockData> getBlocksR(int x, int z) {
|
public Hunk<BlockData> getBlocksR(int x, int z) {
|
||||||
return getR(x >> 5, z >> 5).getBlockSlice().getR(x & 31, z & 31);
|
return getR(x >> 5, z >> 5).getBlockSlice().getR(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<BlockData> getBlocksRW(int x, int z) {
|
public Hunk<BlockData> getBlocksRW(int x, int z) {
|
||||||
return getRW(x >> 5, z >> 5).getBlockSlice().getRW(x & 31, z & 31);
|
return getRW(x >> 5, z >> 5).getBlockSlice().getRW(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<TileData<? extends TileState>> getTilesR(int x, int z) {
|
public Hunk<TileData<? extends TileState>> getTilesR(int x, int z) {
|
||||||
return getR(x >> 5, z >> 5).getTileSlice().getR(x & 31, z & 31);
|
return getR(x >> 5, z >> 5).getTileSlice().getR(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<TileData<? extends TileState>> getTilesRW(int x, int z) {
|
public Hunk<TileData<? extends TileState>> getTilesRW(int x, int z) {
|
||||||
return getRW(x >> 5, z >> 5).getTileSlice().getRW(x & 31, z & 31);
|
return getRW(x >> 5, z >> 5).getTileSlice().getRW(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<String> getObjectsR(int x, int z) {
|
public Hunk<String> getObjectsR(int x, int z) {
|
||||||
return getR(x >> 5, z >> 5).getObjectSlice().getR(x & 31, z & 31);
|
return getR(x >> 5, z >> 5).getObjectSlice().getR(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<String> getObjectsRW(int x, int z) {
|
public Hunk<String> getObjectsRW(int x, int z) {
|
||||||
return getRW(x >> 5, z >> 5).getObjectSlice().getRW(x & 31, z & 31);
|
return getRW(x >> 5, z >> 5).getObjectSlice().getRW(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<String> getEntitiesRW(int x, int z) {
|
public Hunk<String> getEntitiesRW(int x, int z) {
|
||||||
return getRW(x >> 5, z >> 5).getEntitySlice().getRW(x & 31, z & 31);
|
return getRW(x >> 5, z >> 5).getEntitySlice().getRW(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<String> getEntitiesR(int x, int z) {
|
public Hunk<String> getEntitiesR(int x, int z) {
|
||||||
return getRW(x >> 5, z >> 5).getEntitySlice().getR(x & 31, z & 31);
|
return getRW(x >> 5, z >> 5).getEntitySlice().getR(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<Boolean> getUpdatesR(int x, int z) {
|
public Hunk<Boolean> getUpdatesR(int x, int z) {
|
||||||
return getR(x >> 5, z >> 5).getUpdateSlice().getR(x & 31, z & 31);
|
return getR(x >> 5, z >> 5).getUpdateSlice().getR(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public Hunk<Boolean> getUpdatesRW(int x, int z) {
|
public Hunk<Boolean> getUpdatesRW(int x, int z) {
|
||||||
return getRW(x >> 5, z >> 5).getUpdateSlice().getRW(x & 31, z & 31);
|
return getRW(x >> 5, z >> 5).getUpdateSlice().getRW(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public ParallaxChunkMeta getMetaR(int x, int z) {
|
public ParallaxChunkMeta getMetaR(int x, int z) {
|
||||||
return getR(x >> 5, z >> 5).getMetaR(x & 31, z & 31);
|
return getR(x >> 5, z >> 5).getMetaR(x & 31, z & 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ChunkCoordinates
|
||||||
@Override
|
@Override
|
||||||
public ParallaxChunkMeta getMetaRW(int x, int z) {
|
public ParallaxChunkMeta getMetaRW(int x, int z) {
|
||||||
return getRW(x >> 5, z >> 5).getMetaRW(x & 31, z & 31);
|
return getRW(x >> 5, z >> 5).getMetaRW(x & 31, z & 31);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user