Coord annotations

This commit is contained in:
Daniel Mills 2021-07-30 09:37:21 -04:00
parent cff402affb
commit 04fc1e25e4
4 changed files with 30 additions and 0 deletions

View File

@ -25,6 +25,7 @@ import com.volmit.iris.engine.hunk.Hunk;
import com.volmit.iris.engine.object.*; import com.volmit.iris.engine.object.*;
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.BlockCoordinates;
import com.volmit.iris.util.documentation.ChunkCoordinates; import com.volmit.iris.util.documentation.ChunkCoordinates;
import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.C;
import com.volmit.iris.util.format.Form; import com.volmit.iris.util.format.Form;
@ -147,11 +148,13 @@ public class IrisEngine extends BlockPopulator implements Engine {
getFramework().recycle(); getFramework().recycle();
} }
@BlockCoordinates
@Override @Override
public double modifyX(double x) { public double modifyX(double x) {
return x / getDimension().getTerrainZoom(); return x / getDimension().getTerrainZoom();
} }
@BlockCoordinates
@Override @Override
public double modifyZ(double z) { public double modifyZ(double z) {
return z / getDimension().getTerrainZoom(); return z / getDimension().getTerrainZoom();
@ -215,6 +218,7 @@ public class IrisEngine extends BlockPopulator implements Engine {
close(); close();
} }
@ChunkCoordinates
@Override @Override
public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk c) { public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk c) {
getWorldManager().spawnInitialEntities(c); getWorldManager().spawnInitialEntities(c);

View File

@ -34,6 +34,8 @@ import com.volmit.iris.engine.parallel.MultiBurst;
import com.volmit.iris.util.atomics.AtomicRollingSequence; import com.volmit.iris.util.atomics.AtomicRollingSequence;
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.BlockCoordinates;
import com.volmit.iris.util.documentation.ChunkCoordinates;
import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.C;
import com.volmit.iris.util.format.Form; import com.volmit.iris.util.format.Form;
import com.volmit.iris.util.scheduling.PrecisionStopwatch; import com.volmit.iris.util.scheduling.PrecisionStopwatch;
@ -212,6 +214,7 @@ public class IrisEngineCompound implements EngineCompound {
return new File(world.worldFolder(), "iris/engine-metadata.json"); return new File(world.worldFolder(), "iris/engine-metadata.json");
} }
@ChunkCoordinates
@Override @Override
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<BlockData> postblocks, Hunk<Biome> biomes, boolean multicore) { public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<BlockData> postblocks, Hunk<Biome> biomes, boolean multicore) {
recycle(); recycle();
@ -259,6 +262,7 @@ public class IrisEngineCompound implements EngineCompound {
engineMetadata.save(getEngineMetadataFile()); engineMetadata.save(getEngineMetadataFile());
} }
@BlockCoordinates
@Override @Override
public IrisDataManager getData(int height) { public IrisDataManager getData(int height) {
return getEngineForHeight(height).getData(); return getEngineForHeight(height).getData();

View File

@ -25,6 +25,7 @@ import com.volmit.iris.engine.framework.Engine;
import com.volmit.iris.engine.framework.EngineAssignedWorldManager; import com.volmit.iris.engine.framework.EngineAssignedWorldManager;
import com.volmit.iris.engine.object.*; import com.volmit.iris.engine.object.*;
import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.documentation.ChunkCoordinates;
import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.scheduling.J; import com.volmit.iris.util.scheduling.J;
import org.bukkit.Chunk; import org.bukkit.Chunk;
@ -52,6 +53,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager {
getEngine().getParallax().saveAll(); getEngine().getParallax().saveAll();
} }
@ChunkCoordinates
@Override @Override
public void spawnInitialEntities(Chunk c) { public void spawnInitialEntities(Chunk c) {
RNG rng = new RNG(Cache.key(c)); RNG rng = new RNG(Cache.key(c));
@ -148,6 +150,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager {
return false; return false;
} }
@ChunkCoordinates
private void trySpawn(KList<IrisEntityInitialSpawn> s, Chunk c, RNG rng) { private void trySpawn(KList<IrisEntityInitialSpawn> s, Chunk c, RNG rng) {
for (IrisEntityInitialSpawn i : s) { for (IrisEntityInitialSpawn i : s) {
i.spawn(getEngine(), c, rng); i.spawn(getEngine(), c, rng);

View File

@ -31,6 +31,8 @@ import com.volmit.iris.engine.object.common.IrisWorld;
import com.volmit.iris.engine.parallax.ParallaxAccess; import com.volmit.iris.engine.parallax.ParallaxAccess;
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.documentation.BlockCoordinates;
import com.volmit.iris.util.documentation.ChunkCoordinates;
import com.volmit.iris.util.math.BlockPosition; import com.volmit.iris.util.math.BlockPosition;
import com.volmit.iris.util.math.M; import com.volmit.iris.util.math.M;
import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.math.RNG;
@ -77,10 +79,13 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
int getMinHeight(); int getMinHeight();
@BlockCoordinates
double modifyX(double x); double modifyX(double x);
@BlockCoordinates
double modifyZ(double z); double modifyZ(double z);
@ChunkCoordinates
void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes, boolean multicore); void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes, boolean multicore);
EngineMetrics getMetrics(); EngineMetrics getMetrics();
@ -117,6 +122,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
return getTarget().getParallaxWorld(); return getTarget().getParallaxWorld();
} }
@BlockCoordinates
default Color draw(double x, double z) { default Color draw(double x, double z) {
IrisRegion region = getRegion((int) x, (int) z); IrisRegion region = getRegion((int) x, (int) z);
IrisBiome biome = getSurfaceBiome((int) x, (int) z); IrisBiome biome = getSurfaceBiome((int) x, (int) z);
@ -131,6 +137,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
return IrisColor.blend(rc, bc, bc, Color.getHSBColor(0, 0, (float) heightFactor)); return IrisColor.blend(rc, bc, bc, Color.getHSBColor(0, 0, (float) heightFactor));
} }
@BlockCoordinates
@Override @Override
default IrisRegion getRegion(int x, int z) { default IrisRegion getRegion(int x, int z) {
return getFramework().getComplex().getRegionStream().get(x, z); return getFramework().getComplex().getRegionStream().get(x, z);
@ -141,21 +148,25 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
return getParallax(); return getParallax();
} }
@BlockCoordinates
@Override @Override
default IrisBiome getCaveBiome(int x, int z) { default IrisBiome getCaveBiome(int x, int z) {
return getFramework().getComplex().getCaveBiomeStream().get(x, z); return getFramework().getComplex().getCaveBiomeStream().get(x, z);
} }
@BlockCoordinates
@Override @Override
default IrisBiome getSurfaceBiome(int x, int z) { default IrisBiome getSurfaceBiome(int x, int z) {
return getFramework().getComplex().getTrueBiomeStream().get(x, z); return getFramework().getComplex().getTrueBiomeStream().get(x, z);
} }
@BlockCoordinates
@Override @Override
default int getHeight(int x, int z) { default int getHeight(int x, int z) {
return getFramework().getEngineParallax().getHighest(x, z, true); return getFramework().getEngineParallax().getHighest(x, z, true);
} }
@BlockCoordinates
@Override @Override
default void catchBlockUpdates(int x, int y, int z, BlockData data) { default void catchBlockUpdates(int x, int y, int z, BlockData data) {
if (data == null) { if (data == null) {
@ -168,10 +179,12 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
} }
} }
@ChunkCoordinates
default void placeTiles(Chunk c) { default void placeTiles(Chunk c) {
} }
@ChunkCoordinates
@Override @Override
default void updateChunk(Chunk c) { default void updateChunk(Chunk c) {
PrecisionStopwatch p = PrecisionStopwatch.start(); PrecisionStopwatch p = PrecisionStopwatch.start();
@ -195,6 +208,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
getMetrics().getUpdates().put(p.getMilliseconds()); getMetrics().getUpdates().put(p.getMilliseconds());
} }
@BlockCoordinates
default void updateLighting(int x, int y, int z, Chunk c) { default void updateLighting(int x, int y, int z, Chunk c) {
Block block = c.getBlock(x, y, z); Block block = c.getBlock(x, y, z);
BlockData data = block.getBlockData(); BlockData data = block.getBlockData();
@ -210,6 +224,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
} }
} }
@BlockCoordinates
@Override @Override
default void update(int x, int y, int z, Chunk c, RNG rf) { default void update(int x, int y, int z, Chunk c, RNG rf) {
Block block = c.getBlock(x, y, z); Block block = c.getBlock(x, y, z);
@ -285,6 +300,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
list.addAll(r.getLootTables(getFramework().getComplex())); list.addAll(r.getLootTables(getFramework().getComplex()));
} }
@BlockCoordinates
@Override @Override
default KList<IrisLootTable> getLootTables(RNG rng, Block b) { default KList<IrisLootTable> getLootTables(RNG rng, Block b) {
int rx = b.getX(); int rx = b.getX();
@ -362,14 +378,17 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
burst().lazy(() -> getParallax().cleanup()); burst().lazy(() -> getParallax().cleanup());
} }
@BlockCoordinates
default IrisBiome getBiome(Location l) { default IrisBiome getBiome(Location l) {
return getBiome(l.getBlockX(), l.getBlockY(), l.getBlockZ()); return getBiome(l.getBlockX(), l.getBlockY(), l.getBlockZ());
} }
@BlockCoordinates
default IrisRegion getRegion(Location l) { default IrisRegion getRegion(Location l) {
return getRegion(l.getBlockX(), l.getBlockZ()); return getRegion(l.getBlockX(), l.getBlockZ());
} }
@BlockCoordinates
default boolean contains(Location l) { default boolean contains(Location l) {
return l.getBlockY() >= getMinHeight() && l.getBlockY() <= getMaxHeight(); return l.getBlockY() >= getMinHeight() && l.getBlockY() <= getMaxHeight();
} }