mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 10:43:14 +00:00
Fix parallax sizes & imports
This commit is contained in:
parent
1173c3d053
commit
536ed2b967
@ -39,17 +39,16 @@ import com.volmit.iris.util.C;
|
|||||||
import com.volmit.iris.util.Form;
|
import com.volmit.iris.util.Form;
|
||||||
import com.volmit.iris.util.GroupedExecutor;
|
import com.volmit.iris.util.GroupedExecutor;
|
||||||
import com.volmit.iris.util.IO;
|
import com.volmit.iris.util.IO;
|
||||||
import com.volmit.iris.util.IrisLock;
|
|
||||||
import com.volmit.iris.util.J;
|
import com.volmit.iris.util.J;
|
||||||
import com.volmit.iris.util.KList;
|
import com.volmit.iris.util.KList;
|
||||||
import com.volmit.iris.util.M;
|
import com.volmit.iris.util.M;
|
||||||
import com.volmit.iris.util.MetricsLite;
|
import com.volmit.iris.util.MetricsLite;
|
||||||
import com.volmit.iris.util.VolmitPlugin;
|
|
||||||
import com.volmit.iris.util.NastyRunnable;
|
import com.volmit.iris.util.NastyRunnable;
|
||||||
import com.volmit.iris.util.Permission;
|
import com.volmit.iris.util.Permission;
|
||||||
import com.volmit.iris.util.Queue;
|
import com.volmit.iris.util.Queue;
|
||||||
import com.volmit.iris.util.RNG;
|
import com.volmit.iris.util.RNG;
|
||||||
import com.volmit.iris.util.ShurikenQueue;
|
import com.volmit.iris.util.ShurikenQueue;
|
||||||
|
import com.volmit.iris.util.VolmitPlugin;
|
||||||
|
|
||||||
import io.papermc.lib.PaperLib;
|
import io.papermc.lib.PaperLib;
|
||||||
|
|
||||||
@ -68,7 +67,6 @@ public class Iris extends VolmitPlugin
|
|||||||
public static MultiverseCoreLink linkMultiverseCore;
|
public static MultiverseCoreLink linkMultiverseCore;
|
||||||
public static MythicMobsLink linkMythicMobs;
|
public static MythicMobsLink linkMythicMobs;
|
||||||
public static CitizensLink linkCitizens;
|
public static CitizensLink linkCitizens;
|
||||||
private static IrisLock lock = new IrisLock("Iris");
|
|
||||||
private static final Queue<Runnable> syncJobs = new ShurikenQueue<>();
|
private static final Queue<Runnable> syncJobs = new ShurikenQueue<>();
|
||||||
public static boolean customModels = doesSupportCustomModels();
|
public static boolean customModels = doesSupportCustomModels();
|
||||||
public static boolean awareEntities = doesSupportAwareness();
|
public static boolean awareEntities = doesSupportAwareness();
|
||||||
@ -187,7 +185,6 @@ public class Iris extends VolmitPlugin
|
|||||||
{
|
{
|
||||||
instance = this;
|
instance = this;
|
||||||
compat = IrisCompat.configured(getDataFile("compat.json"));
|
compat = IrisCompat.configured(getDataFile("compat.json"));
|
||||||
lock = new IrisLock("Iris");
|
|
||||||
proj = new ProjectManager();
|
proj = new ProjectManager();
|
||||||
hotloader = new IrisHotloadManager();
|
hotloader = new IrisHotloadManager();
|
||||||
convert = new ConversionManager();
|
convert = new ConversionManager();
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
package com.volmit.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.util.Desc;
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
import com.volmit.iris.util.MinNumber;
|
||||||
import com.volmit.iris.util.*;
|
import com.volmit.iris.util.RegistryListDimension;
|
||||||
|
import com.volmit.iris.util.Required;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import org.bukkit.block.data.BlockData;
|
|
||||||
|
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.volmit.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.gen.ContextualTerrainProvider;
|
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
import com.volmit.iris.noise.CNG;
|
import com.volmit.iris.noise.CNG;
|
||||||
import com.volmit.iris.util.ArrayType;
|
import com.volmit.iris.util.ArrayType;
|
||||||
@ -13,8 +12,8 @@ import com.volmit.iris.util.MinNumber;
|
|||||||
import com.volmit.iris.util.RNG;
|
import com.volmit.iris.util.RNG;
|
||||||
import com.volmit.iris.util.RegistryListObject;
|
import com.volmit.iris.util.RegistryListObject;
|
||||||
import com.volmit.iris.util.Required;
|
import com.volmit.iris.util.Required;
|
||||||
|
|
||||||
import com.volmit.iris.v2.scaffold.data.DataProvider;
|
import com.volmit.iris.v2.scaffold.data.DataProvider;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -2,11 +2,13 @@ package com.volmit.iris.object;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.volmit.iris.util.M;
|
|
||||||
import org.bukkit.Axis;
|
import org.bukkit.Axis;
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.block.data.*;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
import org.bukkit.block.data.Directional;
|
||||||
|
import org.bukkit.block.data.MultipleFacing;
|
||||||
|
import org.bukkit.block.data.Orientable;
|
||||||
|
import org.bukkit.block.data.Rotatable;
|
||||||
import org.bukkit.util.BlockVector;
|
import org.bukkit.util.BlockVector;
|
||||||
|
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
|
@ -10,7 +10,6 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Sound;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandMap;
|
import org.bukkit.command.CommandMap;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -18,16 +17,15 @@ import org.bukkit.command.PluginCommand;
|
|||||||
import org.bukkit.command.SimpleCommandMap;
|
import org.bukkit.command.SimpleCommandMap;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.permissions.PermissionDefault;
|
import org.bukkit.permissions.PermissionDefault;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import com.volmit.iris.Iris;
|
||||||
|
|
||||||
public abstract class VolmitPlugin extends JavaPlugin implements Listener
|
public abstract class VolmitPlugin extends JavaPlugin implements Listener
|
||||||
{
|
{
|
||||||
public static boolean bad = false;
|
public static boolean bad = false;
|
||||||
|
@ -1,24 +1,12 @@
|
|||||||
package com.volmit.iris.v2;
|
package com.volmit.iris.v2;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Random;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import com.volmit.iris.util.KList;
|
|
||||||
import com.volmit.iris.v2.scaffold.engine.EngineCompositeGenerator;
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.WorldCreator;
|
import org.bukkit.WorldCreator;
|
||||||
import org.bukkit.block.Biome;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.generator.BlockPopulator;
|
|
||||||
import org.bukkit.generator.ChunkGenerator;
|
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.v2.scaffold.engine.EngineCompositeGenerator;
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
|
||||||
import com.volmit.iris.util.Form;
|
|
||||||
import com.volmit.iris.util.PrecisionStopwatch;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
public class TestGen
|
public class TestGen
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,10 @@ import com.volmit.iris.util.V;
|
|||||||
|
|
||||||
public interface Multicache
|
public interface Multicache
|
||||||
{
|
{
|
||||||
public <V> Cache<V> getCache(int id);
|
@SuppressWarnings("hiding")
|
||||||
|
public <V> Cache<V> getCache(int id);
|
||||||
|
|
||||||
public <V> Cache<V> createCache();
|
@SuppressWarnings("hiding")
|
||||||
|
public <V> Cache<V> createCache();
|
||||||
}
|
}
|
||||||
|
|
@ -1,15 +1,14 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
|
||||||
import com.volmit.iris.v2.scaffold.hunk.io.BlockDataHunkIOAdapter;
|
|
||||||
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
|
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
|
||||||
import com.volmit.iris.object.IrisDimension;
|
|
||||||
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
|
import com.volmit.iris.object.IrisDimension;
|
||||||
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
|
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
|
||||||
|
|
||||||
public interface Engine
|
public interface Engine
|
||||||
{
|
{
|
||||||
public void setParallelism(int parallelism);
|
public void setParallelism(int parallelism);
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
import com.volmit.iris.util.RollingSequence;
|
|
||||||
import com.volmit.iris.v2.generator.IrisComplex;
|
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
|
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
|
||||||
import com.volmit.iris.object.IrisDimension;
|
|
||||||
|
|
||||||
public interface EngineActuator<O> extends EngineComponent
|
public interface EngineActuator<O> extends EngineComponent
|
||||||
{
|
{
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
import com.volmit.iris.util.PrecisionStopwatch;
|
|
||||||
import com.volmit.iris.util.RollingSequence;
|
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
import org.bukkit.block.data.BlockData;
|
|
||||||
|
|
||||||
public abstract class EngineAssignedActuator<T> extends EngineAssignedComponent implements EngineActuator<T>
|
public abstract class EngineAssignedActuator<T> extends EngineAssignedComponent implements EngineActuator<T>
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
import com.volmit.iris.util.PrecisionStopwatch;
|
|
||||||
import com.volmit.iris.util.RollingSequence;
|
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
public abstract class EngineAssignedModifier<T> extends EngineAssignedComponent implements EngineModifier<T>
|
public abstract class EngineAssignedModifier<T> extends EngineAssignedComponent implements EngineModifier<T>
|
||||||
{
|
{
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
import com.mysql.jdbc.profiler.ProfilerEvent;
|
import java.io.File;
|
||||||
import com.volmit.iris.Iris;
|
import java.util.List;
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
import java.util.Random;
|
||||||
import com.volmit.iris.object.IrisDimension;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import com.volmit.iris.util.Form;
|
|
||||||
import com.volmit.iris.util.M;
|
|
||||||
import com.volmit.iris.util.PrecisionStopwatch;
|
|
||||||
import com.volmit.iris.v2.generator.IrisEngineCompound;
|
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
@ -18,10 +14,13 @@ import org.bukkit.generator.ChunkGenerator;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.io.File;
|
import com.volmit.iris.Iris;
|
||||||
import java.util.List;
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
import java.util.Random;
|
import com.volmit.iris.object.IrisDimension;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import com.volmit.iris.util.Form;
|
||||||
|
import com.volmit.iris.util.M;
|
||||||
|
import com.volmit.iris.v2.generator.IrisEngineCompound;
|
||||||
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
|
|
||||||
public class EngineCompositeGenerator extends ChunkGenerator implements Hotloadable {
|
public class EngineCompositeGenerator extends ChunkGenerator implements Hotloadable {
|
||||||
private EngineCompound compound;
|
private EngineCompound compound;
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
import com.volmit.iris.v2.scaffold.engine.Engine;
|
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
|
||||||
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
|
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
|
||||||
|
|
||||||
public interface EngineCompound extends Listener
|
public interface EngineCompound extends Listener
|
||||||
{
|
{
|
||||||
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes);
|
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes);
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
|
import org.bukkit.block.Biome;
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
import com.volmit.iris.v2.generator.IrisComplex;
|
import com.volmit.iris.v2.generator.IrisComplex;
|
||||||
import com.volmit.iris.v2.generator.IrisEngine;
|
|
||||||
import com.volmit.iris.v2.scaffold.data.DataProvider;
|
import com.volmit.iris.v2.scaffold.data.DataProvider;
|
||||||
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
|
|
||||||
import com.volmit.iris.v2.scaffold.parallax.ParallaxWorld;
|
|
||||||
import org.bukkit.block.Biome;
|
|
||||||
import org.bukkit.block.data.BlockData;
|
|
||||||
|
|
||||||
public interface EngineFramework extends DataProvider
|
public interface EngineFramework extends DataProvider
|
||||||
{
|
{
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
|
||||||
import com.volmit.iris.object.IrisDimension;
|
|
||||||
import com.volmit.iris.util.RollingSequence;
|
|
||||||
import com.volmit.iris.v2.generator.IrisComplex;
|
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
|
|
||||||
|
|
||||||
public interface EngineModifier<T> extends EngineComponent {
|
public interface EngineModifier<T> extends EngineComponent {
|
||||||
public void modify(Hunk<T> t);
|
public void modify(Hunk<T> t);
|
||||||
|
@ -1,22 +1,31 @@
|
|||||||
package com.volmit.iris.v2.scaffold.engine;
|
package com.volmit.iris.v2.scaffold.engine;
|
||||||
|
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
|
import org.bukkit.util.BlockVector;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.gen.ContextualTerrainProvider;
|
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
import com.volmit.iris.object.*;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import com.volmit.iris.util.*;
|
import com.volmit.iris.object.IrisDepositGenerator;
|
||||||
|
import com.volmit.iris.object.IrisObject;
|
||||||
|
import com.volmit.iris.object.IrisObjectPlacement;
|
||||||
|
import com.volmit.iris.object.IrisRegion;
|
||||||
|
import com.volmit.iris.object.IrisTextPlacement;
|
||||||
|
import com.volmit.iris.util.B;
|
||||||
|
import com.volmit.iris.util.Form;
|
||||||
|
import com.volmit.iris.util.IObjectPlacer;
|
||||||
|
import com.volmit.iris.util.KList;
|
||||||
|
import com.volmit.iris.util.KSet;
|
||||||
|
import com.volmit.iris.util.RNG;
|
||||||
import com.volmit.iris.v2.generator.IrisComplex;
|
import com.volmit.iris.v2.generator.IrisComplex;
|
||||||
import com.volmit.iris.v2.generator.IrisEngine;
|
|
||||||
import com.volmit.iris.v2.scaffold.cache.Cache;
|
import com.volmit.iris.v2.scaffold.cache.Cache;
|
||||||
import com.volmit.iris.v2.scaffold.data.DataProvider;
|
import com.volmit.iris.v2.scaffold.data.DataProvider;
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
|
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
|
||||||
import com.volmit.iris.v2.scaffold.parallel.BurstExecutor;
|
import com.volmit.iris.v2.scaffold.parallel.BurstExecutor;
|
||||||
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
|
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
|
||||||
import org.bukkit.block.data.BlockData;
|
|
||||||
import org.bukkit.util.BlockVector;
|
|
||||||
|
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
|
||||||
|
|
||||||
public interface EngineParallax extends DataProvider, IObjectPlacer
|
public interface EngineParallax extends DataProvider, IObjectPlacer
|
||||||
{
|
{
|
||||||
@ -157,7 +166,6 @@ public interface EngineParallax extends DataProvider, IObjectPlacer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IrisLock t = new IrisLock("t");
|
|
||||||
Iris.verbose("Checking sizes for " + Form.f(objects.size()) + " referenced objects.");
|
Iris.verbose("Checking sizes for " + Form.f(objects.size()) + " referenced objects.");
|
||||||
BurstExecutor e = MultiBurst.burst.burst(objects.size());
|
BurstExecutor e = MultiBurst.burst.burst(objects.size());
|
||||||
for(String i : objects)
|
for(String i : objects)
|
||||||
|
@ -1,12 +1,18 @@
|
|||||||
package com.volmit.iris.v2.scaffold.hunk.io;
|
package com.volmit.iris.v2.scaffold.hunk.io;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.concurrent.atomic.AtomicIntegerArray;
|
|
||||||
|
|
||||||
import com.volmit.iris.util.*;
|
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
|
import com.volmit.iris.util.ByteArrayTag;
|
||||||
|
import com.volmit.iris.util.CompoundTag;
|
||||||
|
import com.volmit.iris.util.Function2;
|
||||||
|
import com.volmit.iris.util.Function3;
|
||||||
|
import com.volmit.iris.util.KList;
|
||||||
|
import com.volmit.iris.util.KMap;
|
||||||
|
import com.volmit.iris.util.M;
|
||||||
|
import com.volmit.iris.util.Tag;
|
||||||
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
import com.volmit.iris.v2.scaffold.hunk.Hunk;
|
||||||
|
|
||||||
public class HunkRegionSlice<T>
|
public class HunkRegionSlice<T>
|
||||||
@ -18,9 +24,9 @@ public class HunkRegionSlice<T>
|
|||||||
private final HunkIOAdapter<T> adapter;
|
private final HunkIOAdapter<T> adapter;
|
||||||
private final CompoundTag compound;
|
private final CompoundTag compound;
|
||||||
private final String key;
|
private final String key;
|
||||||
private final KMap<Short, Hunk<T>> loadedChunks;
|
private final KMap<Long, Hunk<T>> loadedChunks;
|
||||||
private final KMap<Short, Long> lastUse;
|
private final KMap<Long, Long> lastUse;
|
||||||
private final KList<Short> save;
|
private final KList<Long> save;
|
||||||
private final int height;
|
private final int height;
|
||||||
|
|
||||||
public HunkRegionSlice(int height, Function3<Integer, Integer, Integer, Hunk<T>> factory, HunkIOAdapter<T> adapter, CompoundTag compound, String key)
|
public HunkRegionSlice(int height, Function3<Integer, Integer, Integer, Hunk<T>> factory, HunkIOAdapter<T> adapter, CompoundTag compound, String key)
|
||||||
@ -42,11 +48,12 @@ public class HunkRegionSlice<T>
|
|||||||
Iris.warn("Incorrect chunk use counts in " + key);
|
Iris.warn("Incorrect chunk use counts in " + key);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(Short i : lastUse.k())
|
for(Long i : lastUse.k())
|
||||||
{
|
{
|
||||||
if(M.ms() - lastUse.get(i) > t)
|
if(M.ms() - lastUse.get(i) > t)
|
||||||
{
|
{
|
||||||
unload((byte) (i & 0xFF), (byte) ((i >> 8) & 0xFF));
|
System.out.println("Trying to unload " + i);
|
||||||
|
unload((int)(i >> 32), (int) i.longValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -67,9 +74,9 @@ public class HunkRegionSlice<T>
|
|||||||
|
|
||||||
public void save()
|
public void save()
|
||||||
{
|
{
|
||||||
for(short i : save)
|
for(Long i : save)
|
||||||
{
|
{
|
||||||
save((byte) (i & 0xFF), (byte) ((i >> 8) & 0xFF));
|
save((int)(i >> 32), (int) i.longValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
save.clear();
|
save.clear();
|
||||||
@ -105,9 +112,9 @@ public class HunkRegionSlice<T>
|
|||||||
|
|
||||||
public synchronized void unloadAll()
|
public synchronized void unloadAll()
|
||||||
{
|
{
|
||||||
for(Short i : loadedChunks.k())
|
for(Long i : loadedChunks.k())
|
||||||
{
|
{
|
||||||
unload((byte) (i & 0xFF), (byte) ((i >> 8) & 0xFF));
|
unload((int)(i >> 32), (int) i.longValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
save.clear();
|
save.clear();
|
||||||
@ -142,10 +149,11 @@ public class HunkRegionSlice<T>
|
|||||||
|
|
||||||
public synchronized void unload(int x, int z)
|
public synchronized void unload(int x, int z)
|
||||||
{
|
{
|
||||||
short key = ikey(x, z);
|
long key = ikey(x, z);
|
||||||
|
System.out.println(x + "," + z + " = " + key);
|
||||||
if(isLoaded(x, z))
|
if(isLoaded(x, z))
|
||||||
{
|
{
|
||||||
|
System.out.println("HOT IT");
|
||||||
if(save.contains(key))
|
if(save.contains(key))
|
||||||
{
|
{
|
||||||
save(x, z);
|
save(x, z);
|
||||||
@ -155,6 +163,11 @@ public class HunkRegionSlice<T>
|
|||||||
lastUse.remove(key);
|
lastUse.remove(key);
|
||||||
loadedChunks.remove(key);
|
loadedChunks.remove(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
System.out.println("IDK WHERE " + key + " IS");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized Hunk<T> load(int x, int z)
|
public synchronized Hunk<T> load(int x, int z)
|
||||||
@ -191,7 +204,7 @@ public class HunkRegionSlice<T>
|
|||||||
|
|
||||||
public Hunk<T> get(int x, int z)
|
public Hunk<T> get(int x, int z)
|
||||||
{
|
{
|
||||||
short key = ikey(x, z);
|
long key = ikey(x, z);
|
||||||
|
|
||||||
Hunk<T> c = loadedChunks.get(key);
|
Hunk<T> c = loadedChunks.get(key);
|
||||||
|
|
||||||
@ -200,7 +213,7 @@ public class HunkRegionSlice<T>
|
|||||||
c = load(x, z);
|
c = load(x, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
lastUse.put(ikey(x,z), M.ms());
|
lastUse.put(ikey(x, z), M.ms());
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
@ -216,9 +229,9 @@ public class HunkRegionSlice<T>
|
|||||||
return get(x, z);
|
return get(x, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
private short ikey(int x, int z)
|
private long ikey(int x, int z)
|
||||||
{
|
{
|
||||||
return ((short) (((x & 0xFF) << 8) | (z & 0xFF)));
|
return (((long) x) << 32) | (((long) z) & 0xffffffffL);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String key(int x, int z)
|
private String key(int x, int z)
|
||||||
@ -228,10 +241,11 @@ public class HunkRegionSlice<T>
|
|||||||
throw new IndexOutOfBoundsException("The chunk " + x + " " + z + " is out of bounds max is 31x31");
|
throw new IndexOutOfBoundsException("The chunk " + x + " " + z + " is out of bounds max is 31x31");
|
||||||
}
|
}
|
||||||
|
|
||||||
return key + "." + Integer.toString(((short) (((x & 0xFF) << 8) | (z & 0xFF))), 36);
|
return key + "." + Long.toString(ikey(x,z), 36);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLoadCount() {
|
public int getLoadCount()
|
||||||
|
{
|
||||||
return loadedChunks.size();
|
return loadedChunks.size();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -192,7 +192,7 @@ public class ParallaxWorld implements ParallaxAccess
|
|||||||
|
|
||||||
public void cleanup()
|
public void cleanup()
|
||||||
{
|
{
|
||||||
cleanup(30000, 10000);
|
cleanup(10000, 3000);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user