diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index fc250ef7d..ddca3e369 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -29,10 +29,10 @@ import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.EngineCompositeGenerator; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomeCustom; import com.volmit.iris.engine.object.compat.IrisCompat; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KSet; @@ -182,7 +182,7 @@ public class Iris extends VolmitPlugin implements Listener { if (dims.exists()) { for (File j : dims.listFiles()) { if (j.getName().endsWith(".json")) { - LoaderDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); + IrisDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); Iris.verbose(" Checking Dimension " + dim.getLoadFile().getPath()); if (dim.installDataPack(() -> data, dpacks)) { reboot = true; @@ -305,7 +305,7 @@ public class Iris extends VolmitPlugin implements Listener { if (dims.exists()) { for (File j : dims.listFiles()) { if (j.getName().endsWith(".json")) { - LoaderDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); + IrisDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); if (!verifyDataPackInstalled(dim)) { bad = true; @@ -335,12 +335,12 @@ public class Iris extends VolmitPlugin implements Listener { } } - public boolean verifyDataPackInstalled(LoaderDimension dimension) { + public boolean verifyDataPackInstalled(IrisDimension dimension) { IrisData idm = new IrisData(getDataFolder("packs", dimension.getLoadKey())); KSet keys = new KSet<>(); boolean warn = false; - for (LoaderBiome i : dimension.getAllBiomes(() -> idm)) { + for (IrisBiome i : dimension.getAllBiomes(() -> idm)) { if (i.isCustom()) { for (IrisBiomeCustom j : i.getCustomDerivitives()) { keys.add(dimension.getLoadKey() + ":" + j.getId()); diff --git a/src/main/java/com/volmit/iris/core/ConversionManager.java b/src/main/java/com/volmit/iris/core/ConversionManager.java index 0dd55da34..70a785a2f 100644 --- a/src/main/java/com/volmit/iris/core/ConversionManager.java +++ b/src/main/java/com/volmit/iris/core/ConversionManager.java @@ -20,18 +20,18 @@ package com.volmit.iris.core; import com.google.gson.Gson; import com.volmit.iris.Iris; -import com.volmit.iris.engine.data.mca.NBTWorld; -import com.volmit.iris.engine.data.nbt.io.NBTUtil; -import com.volmit.iris.engine.data.nbt.io.NamedTag; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; -import com.volmit.iris.engine.data.nbt.tag.IntTag; -import com.volmit.iris.engine.data.nbt.tag.ListTag; +import com.volmit.iris.util.nbt.mca.NBTWorld; +import com.volmit.iris.util.nbt.io.NBTUtil; +import com.volmit.iris.util.nbt.io.NamedTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.IntTag; +import com.volmit.iris.util.nbt.tag.ListTag; import com.volmit.iris.engine.object.basic.IrisPosition; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPiece; import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPool; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPool; import com.volmit.iris.engine.object.objects.IrisDirection; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.format.Form; @@ -105,7 +105,7 @@ public class ConversionManager { } public void convertStructures(File in, File out, VolmitSender s) { - KMap pools = new KMap<>(); + KMap pools = new KMap<>(); KList roots = new KList<>(); AtomicInteger total = new AtomicInteger(0); AtomicInteger at = new AtomicInteger(0); @@ -123,7 +123,7 @@ public class ConversionManager { b = b.substring(0, b.length() - 1); } - pools.put(b, new LoaderJigsawPool()); + pools.put(b, new IrisJigsawPool()); } }); findAllNBT(in, (folder, file) -> { @@ -136,7 +136,7 @@ public class ConversionManager { if (b.endsWith("/")) { b = b.substring(0, b.length() - 1); } - LoaderJigsawPool jpool = pools.get(b); + IrisJigsawPool jpool = pools.get(b); File destObjects = new File(out.getAbsolutePath() + "/objects/" + in.toURI().relativize(folder.toURI()).getPath()); File destPieces = new File(out.getAbsolutePath() + "/jigsaw-pieces/" + in.toURI().relativize(folder.toURI()).getPath()); destObjects.mkdirs(); @@ -158,8 +158,8 @@ public class ConversionManager { CompoundTag cp = paletteList.get(i); palette.add(NBTWorld.getBlockData(cp)); } - LoaderJigsawPiece piece = new LoaderJigsawPiece(); - LoaderObject object = new LoaderObject(w, h, d); + IrisJigsawPiece piece = new IrisJigsawPiece(); + IrisObject object = new IrisObject(w, h, d); @SuppressWarnings("unchecked") ListTag blockList = (ListTag) compound.getListTag("blocks"); for (int i = 0; i < blockList.size(); i++) { CompoundTag cp = blockList.get(i); @@ -182,7 +182,7 @@ public class ConversionManager { String poolId = toPoolName(pool); String name = nbt.getString("name"); String target = nbt.getString("target"); - pools.computeIfAbsent(poolId, (k) -> new LoaderJigsawPool()); + pools.computeIfAbsent(poolId, (k) -> new IrisJigsawPool()); IrisJigsawPieceConnector connector = new IrisJigsawPieceConnector(); connector.setName(name); connector.setTargetName(target); diff --git a/src/main/java/com/volmit/iris/core/ProjectManager.java b/src/main/java/com/volmit/iris/core/ProjectManager.java index 4674f3dff..60aaca2a5 100644 --- a/src/main/java/com/volmit/iris/core/ProjectManager.java +++ b/src/main/java/com/volmit/iris/core/ProjectManager.java @@ -24,7 +24,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.project.IrisProject; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.exceptions.IrisException; import com.volmit.iris.util.format.Form; @@ -92,11 +92,11 @@ public class ProjectManager { }); } - public LoaderDimension installIntoWorld(VolmitSender sender, String type, File folder) { + public IrisDimension installIntoWorld(VolmitSender sender, String type, File folder) { sender.sendMessage("Looking for Package: " + type); File iris = new File(folder, "iris"); File irispack = new File(folder, "iris/pack"); - LoaderDimension dim = IrisData.loadAnyDimension(type); + IrisDimension dim = IrisData.loadAnyDimension(type); if (dim == null) { for (File i : Iris.proj.getWorkspaceFolder().listFiles()) { @@ -262,7 +262,7 @@ public class ProjectManager { } String key = dim.getName().split("\\Q.\\E")[0]; - LoaderDimension d = new Gson().fromJson(IO.readAll(dim), LoaderDimension.class); + IrisDimension d = new Gson().fromJson(IO.readAll(dim), IrisDimension.class); sender.sendMessage("Importing " + d.getName() + " (" + key + ")"); File packEntry = new File(packs, key); diff --git a/src/main/java/com/volmit/iris/core/TreeManager.java b/src/main/java/com/volmit/iris/core/TreeManager.java index 5f8570b52..5a92f10d1 100644 --- a/src/main/java/com/volmit/iris/core/TreeManager.java +++ b/src/main/java/com/volmit/iris/core/TreeManager.java @@ -23,11 +23,11 @@ import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisToolbelt; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.common.IObjectPlacer; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.engine.object.tile.TileData; import com.volmit.iris.engine.object.trees.IrisTreeModes; import com.volmit.iris.engine.object.trees.IrisTreeSize; @@ -119,7 +119,7 @@ public class TreeManager implements Listener { } saplingPlane.forEach(block -> block.setType(Material.AIR)); - LoaderObject object = worldAccess.getData().getObjectLoader().load(placement.getPlace().getRandom(RNG.r)); + IrisObject object = worldAccess.getData().getObjectLoader().load(placement.getPlace().getRandom(RNG.r)); List blockStateList = new KList<>(); KMap dataCache = new KMap<>(); // TODO: REAL CLASSES!!!! @@ -232,12 +232,12 @@ public class TreeManager implements Listener { boolean isUseAll = ((Engine) worldAccess.getEngineAccess(location.getBlockY())).getDimension().getTreeSettings().getMode().equals(IrisTreeModes.ALL); // Retrieve objectPlacements of type `species` from biome - LoaderBiome biome = worldAccess.getBiome(location.getBlockX(), location.getBlockY(), location.getBlockZ()); + IrisBiome biome = worldAccess.getBiome(location.getBlockX(), location.getBlockY(), location.getBlockZ()); placements.addAll(matchObjectPlacements(biome.getObjects(), size, type)); // Add more or find any in the region if (isUseAll || placements.isEmpty()) { - LoaderRegion region = worldAccess.getCompound().getEngineForHeight(location.getBlockY()).getRegion(location.getBlockX(), location.getBlockZ()); + IrisRegion region = worldAccess.getCompound().getEngineForHeight(location.getBlockY()).getRegion(location.getBlockX(), location.getBlockZ()); placements.addAll(matchObjectPlacements(region.getObjects(), size, type)); } diff --git a/src/main/java/com/volmit/iris/core/WandManager.java b/src/main/java/com/volmit/iris/core/WandManager.java index 688ab8bb4..627783f92 100644 --- a/src/main/java/com/volmit/iris/core/WandManager.java +++ b/src/main/java/com/volmit/iris/core/WandManager.java @@ -20,7 +20,7 @@ package com.volmit.iris.core; import com.volmit.iris.Iris; import com.volmit.iris.core.edit.DustRevealer; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.data.Cuboid; import com.volmit.iris.util.format.C; @@ -185,7 +185,7 @@ public class WandManager implements Listener { } } - public static void pasteSchematic(LoaderObject s, Location at) { + public static void pasteSchematic(IrisObject s, Location at) { s.place(at); } @@ -194,7 +194,7 @@ public class WandManager implements Listener { * @param wand The wand itemstack * @return The new object */ - public static LoaderObject createSchematic(ItemStack wand) { + public static IrisObject createSchematic(ItemStack wand) { if (!isWand(wand)) { return null; } @@ -202,7 +202,7 @@ public class WandManager implements Listener { try { Location[] f = getCuboid(wand); Cuboid c = new Cuboid(f[0], f[1]); - LoaderObject s = new LoaderObject(c.getSizeX(), c.getSizeY(), c.getSizeZ()); + IrisObject s = new IrisObject(c.getSizeX(), c.getSizeY(), c.getSizeZ()); for (Block b : c) { if (b.getType().equals(Material.AIR)) { continue; diff --git a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawEdit.java b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawEdit.java index ccfc6de29..cee87332c 100644 --- a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawEdit.java +++ b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawEdit.java @@ -22,7 +22,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.edit.JigsawEditor; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPiece; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -59,7 +59,7 @@ public class CommandIrisJigsawEdit extends MortarCommand { return true; } - LoaderJigsawPiece piece = IrisData.loadAnyJigsawPiece(args[0]); + IrisJigsawPiece piece = IrisData.loadAnyJigsawPiece(args[0]); if (piece != null) { File dest = piece.getLoadFile(); diff --git a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawNew.java b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawNew.java index b9f10d93d..19bdec8eb 100644 --- a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawNew.java +++ b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawNew.java @@ -22,7 +22,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.edit.JigsawEditor; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -59,7 +59,7 @@ public class CommandIrisJigsawNew extends MortarCommand { return true; } - LoaderObject object = IrisData.loadAnyObject(args[2]); + IrisObject object = IrisData.loadAnyObject(args[2]); if (object == null) { sender.sendMessage("Failed to find existing object: " + args[2]); diff --git a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawPlace.java b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawPlace.java index 0f65cfbf9..7e407056f 100644 --- a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawPlace.java +++ b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawPlace.java @@ -23,7 +23,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.jigsaw.PlannedStructure; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructure; import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.format.Form; @@ -71,7 +71,7 @@ public class CommandIrisJigsawPlace extends MortarCommand { return true; } - LoaderJigsawStructure str = IrisData.loadAnyJigsawStructure(args[0]); + IrisJigsawStructure str = IrisData.loadAnyJigsawStructure(args[0]); if (str != null) { PrecisionStopwatch p = PrecisionStopwatch.start(); diff --git a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectAnalyze.java b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectAnalyze.java index 5d2cb1dd0..9d56cd321 100644 --- a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectAnalyze.java +++ b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectAnalyze.java @@ -5,7 +5,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.ProjectManager; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -75,7 +75,7 @@ public class CommandIrisObjectAnalyze extends MortarCommand { Player p = sender.player(); J.a(() -> { - LoaderObject obj = IrisData.loadAnyObject(args[0]); + IrisObject obj = IrisData.loadAnyObject(args[0]); if (obj == null || obj.getLoadFile() == null) { sender.sendMessage("Can't find " + args[0] + " in the " + ProjectManager.WORKSPACE_NAME + " folder"); diff --git a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectPaste.java b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectPaste.java index b48f3e6a9..be5786e3a 100644 --- a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectPaste.java +++ b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectPaste.java @@ -24,7 +24,7 @@ import com.volmit.iris.core.ProjectManager; import com.volmit.iris.core.WandManager; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.engine.object.objects.IrisObjectPlacementScaleInterpolator; import com.volmit.iris.engine.object.objects.IrisObjectRotation; @@ -91,7 +91,7 @@ public class CommandIrisObjectPaste extends MortarCommand { } Player p = sender.player(); - LoaderObject obj = IrisData.loadAnyObject(args[0]); + IrisObject obj = IrisData.loadAnyObject(args[0]); if (obj == null || obj.getLoadFile() == null) { diff --git a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectSave.java b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectSave.java index 46c88404d..5b92fa0d9 100644 --- a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectSave.java +++ b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectSave.java @@ -21,7 +21,7 @@ package com.volmit.iris.core.command.object; import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.WandManager; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -75,7 +75,7 @@ public class CommandIrisObjectSave extends MortarCommand { Player p = sender.player(); ItemStack wand = p.getInventory().getItemInMainHand(); - LoaderObject o = WandManager.createSchematic(wand); + IrisObject o = WandManager.createSchematic(wand); File file = Iris.proj.getWorkspaceFile(args[0], "objects", args[1] + ".iob"); if (file.exists()) { diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioExplorerGenerator.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioExplorerGenerator.java index c591e37fa..da74f04d1 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioExplorerGenerator.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioExplorerGenerator.java @@ -23,7 +23,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.gui.NoiseExplorerGUI; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.noise.IrisGenerator; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.function.Function2; import com.volmit.iris.util.math.RNG; @@ -74,7 +74,7 @@ public class CommandIrisStudioExplorerGenerator extends MortarCommand { Supplier> l = () -> { long seed = 12345; - LoaderGenerator generator; + IrisGenerator generator; if (Iris.proj.isProjectOpen()) { generator = Iris.proj.getActiveProject().getActiveProvider().getData().getGeneratorLoader().load(args[0]); seed = Iris.proj.getActiveProject().getActiveProvider().getTarget().getWorld().seed(); diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioGoto.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioGoto.java index 2c54d0a23..898525556 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioGoto.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioGoto.java @@ -22,9 +22,9 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructure; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.Form; @@ -81,9 +81,9 @@ public class CommandIrisStudioGoto extends MortarCommand { } IrisAccess g = IrisWorlds.access(world); - LoaderBiome b = IrisData.loadAnyBiome(args[0]); - LoaderRegion r = IrisData.loadAnyRegion(args[0]); - LoaderJigsawStructure s = IrisData.loadAnyJigsawStructure(args[0]); + IrisBiome b = IrisData.loadAnyBiome(args[0]); + IrisRegion r = IrisData.loadAnyRegion(args[0]); + IrisJigsawStructure s = IrisData.loadAnyJigsawStructure(args[0]); if (b != null) { J.a(() -> { diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioLoot.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioLoot.java index adeb34011..fe7c4b989 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioLoot.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioLoot.java @@ -23,7 +23,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.IrisAccess; import com.volmit.iris.engine.object.meta.InventorySlotType; -import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.loot.IrisLootTable; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.plugin.MortarCommand; @@ -63,7 +63,7 @@ public class CommandIrisStudioLoot extends MortarCommand { return true; } - KList tables = prov.getCompound().getEngine(p.getLocation().getBlockY()).getLootTables(RNG.r, p.getLocation().getBlock()); + KList tables = prov.getCompound().getEngine(p.getLocation().getBlockY()).getLootTables(RNG.r, p.getLocation().getBlock()); Inventory inv = Bukkit.createInventory(null, 27 * 2); try { @@ -76,7 +76,7 @@ public class CommandIrisStudioLoot extends MortarCommand { p.openInventory(inv); - for (LoaderLootTable i : tables) { + for (IrisLootTable i : tables) { sender.sendMessage("- " + i.getName()); } diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioProfile.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioProfile.java index de4af4d34..36567e917 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioProfile.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioProfile.java @@ -23,13 +23,13 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.project.IrisProject; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.util.interpolation.InterpolationMethod; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; -import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.noise.IrisGenerator; import com.volmit.iris.engine.object.noise.IrisInterpolator; import com.volmit.iris.engine.object.noise.IrisNoiseGenerator; import com.volmit.iris.engine.object.noise.NoiseStyle; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -158,7 +158,7 @@ public class CommandIrisStudioProfile extends MortarCommand { for (String i : data.getGeneratorLoader().getPossibleKeys()) { KList vv = new KList<>(); - LoaderGenerator g = data.getGeneratorLoader().load(i); + IrisGenerator g = data.getGeneratorLoader().load(i); KList composites = g.getAllComposites(); double score = 0; int m = 0; @@ -188,7 +188,7 @@ public class CommandIrisStudioProfile extends MortarCommand { for (String i : data.getBiomeLoader().getPossibleKeys()) { KList vv = new KList<>(); - LoaderBiome b = data.getBiomeLoader().load(i); + IrisBiome b = data.getBiomeLoader().load(i); double score = 0; int m = 0; @@ -217,7 +217,7 @@ public class CommandIrisStudioProfile extends MortarCommand { v.add(""); for (String i : data.getRegionLoader().getPossibleKeys()) { - LoaderRegion b = data.getRegionLoader().load(i); + IrisRegion b = data.getRegionLoader().load(i); double score = 0; score += styleTimings.get(b.getLakeStyle().getStyle()); diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioSummon.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioSummon.java index 3f8c49d5c..fca53bec8 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioSummon.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioSummon.java @@ -23,7 +23,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.entity.LoaderEntity; +import com.volmit.iris.engine.object.entity.IrisEntity; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -65,7 +65,7 @@ public class CommandIrisStudioSummon extends MortarCommand { sender.sendMessage("- " + i); } } else { - LoaderEntity e = g.getData().getEntityLoader().load(args[0]); + IrisEntity e = g.getData().getEntityLoader().load(args[0]); if (e == null) { sender.sendMessage("Couldnt find entity " + args[0] + ". Use '/iris std summon' to see a list of iris entities."); diff --git a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBiome.java b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBiome.java index eadad0098..d26ad8eee 100644 --- a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBiome.java +++ b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBiome.java @@ -22,7 +22,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -54,7 +54,7 @@ public class CommandIrisWhatBiome extends MortarCommand { IrisAccess g = IrisWorlds.access(w); assert g != null; - LoaderBiome b = g.getBiome(p.getLocation().getBlockX(), p.getLocation().getBlockY(), p.getLocation().getBlockZ()); + IrisBiome b = g.getBiome(p.getLocation().getBlockX(), p.getLocation().getBlockY(), p.getLocation().getBlockZ()); sender.sendMessage("IBiome: " + b.getLoadKey() + " (" + b.getDerivative().name() + ")"); } catch (Throwable e) { diff --git a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBlock.java b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBlock.java index 71a9015df..041ca9dcf 100644 --- a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBlock.java +++ b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBlock.java @@ -19,7 +19,7 @@ package com.volmit.iris.core.command.what; import com.volmit.iris.Iris; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.format.C; import com.volmit.iris.util.plugin.MortarCommand; diff --git a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatObjects.java b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatObjects.java index 3826b27c6..b949de69e 100644 --- a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatObjects.java +++ b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatObjects.java @@ -21,8 +21,8 @@ package com.volmit.iris.core.command.what; import com.volmit.iris.Iris; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -139,8 +139,8 @@ public class CommandIrisWhatObjects extends MortarCommand { for (int k = 0; k < 16; k += 3) { assert g != null; - LoaderBiome bb = g.getBiome((i.getX() * 16) + j, (i.getZ() * 16) + k); - LoaderBiome bxf = g.getCaveBiome((i.getX() * 16) + j, (i.getZ() * 16) + k); + IrisBiome bb = g.getBiome((i.getX() * 16) + j, (i.getZ() * 16) + k); + IrisBiome bxf = g.getCaveBiome((i.getX() * 16) + j, (i.getZ() * 16) + k); biomes.addIfMissing(bb.getName() + " [" + Form.capitalize(bb.getInferredType().name().toLowerCase()) + "] " + " (" + bb.getLoadFile().getName() + ")"); caveBiomes.addIfMissing(bxf.getName() + " (" + bxf.getLoadFile().getName() + ")"); exportObjects(bb, pw, g, objects); @@ -199,7 +199,7 @@ public class CommandIrisWhatObjects extends MortarCommand { return true; } - private void exportObjects(LoaderBiome bb, PrintWriter pw, IrisAccess g, KMap>> objects) { + private void exportObjects(IrisBiome bb, PrintWriter pw, IrisAccess g, KMap>> objects) { String n1 = bb.getName() + " [" + Form.capitalize(bb.getInferredType().name().toLowerCase()) + "] " + " (" + bb.getLoadFile().getName() + ")"; int m = 0; KSet stop = new KSet<>(); @@ -216,7 +216,7 @@ public class CommandIrisWhatObjects extends MortarCommand { } File ff = g.getData().getObjectLoader().findFile(i); - BlockVector sz = LoaderObject.sampleSize(ff); + BlockVector sz = IrisObject.sampleSize(ff); nn3 = i + ": size=[" + sz.getBlockX() + "," + sz.getBlockY() + "," + sz.getBlockZ() + "] location=[" + ff.getPath() + "]"; stop.add(i); } catch (Throwable e) { diff --git a/src/main/java/com/volmit/iris/core/command/world/CommandIrisCreate.java b/src/main/java/com/volmit/iris/core/command/world/CommandIrisCreate.java index b777fee98..111241c2b 100644 --- a/src/main/java/com/volmit/iris/core/command/world/CommandIrisCreate.java +++ b/src/main/java/com/volmit/iris/core/command/world/CommandIrisCreate.java @@ -25,7 +25,7 @@ import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorldCreator; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.plugin.MortarCommand; @@ -139,7 +139,7 @@ public class CommandIrisCreate extends MortarCommand { Iris.linkMultiverseCore.assignWorldType(worldName, type); final AtomicReference world = new AtomicReference<>(); - LoaderDimension dim; + IrisDimension dim; File folder = new File(worldName); Runnable onDone = () -> { diff --git a/src/main/java/com/volmit/iris/core/command/world/CommandIrisVerify.java b/src/main/java/com/volmit/iris/core/command/world/CommandIrisVerify.java index 69bca7fe1..25efdcb68 100644 --- a/src/main/java/com/volmit/iris/core/command/world/CommandIrisVerify.java +++ b/src/main/java/com/volmit/iris/core/command/world/CommandIrisVerify.java @@ -20,9 +20,9 @@ package com.volmit.iris.core.command.world; import com.volmit.iris.Iris; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.data.mca.Chunk; -import com.volmit.iris.engine.data.mca.MCAFile; -import com.volmit.iris.engine.data.mca.MCAUtil; +import com.volmit.iris.util.nbt.mca.Chunk; +import com.volmit.iris.util.nbt.mca.MCAFile; +import com.volmit.iris.util.nbt.mca.MCAUtil; import com.volmit.iris.engine.framework.IrisAccess; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.parallel.MultiBurst; diff --git a/src/main/java/com/volmit/iris/core/edit/JigsawEditor.java b/src/main/java/com/volmit/iris/core/edit/JigsawEditor.java index 6d08327a5..bcd639bb4 100644 --- a/src/main/java/com/volmit/iris/core/edit/JigsawEditor.java +++ b/src/main/java/com/volmit/iris/core/edit/JigsawEditor.java @@ -21,10 +21,10 @@ package com.volmit.iris.core.edit; import com.google.gson.Gson; import com.volmit.iris.Iris; import com.volmit.iris.engine.object.basic.IrisPosition; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPiece; import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; import com.volmit.iris.engine.object.objects.IrisDirection; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.data.Cuboid; import com.volmit.iris.util.io.IO; @@ -50,9 +50,9 @@ import java.io.IOException; public class JigsawEditor implements Listener { public static final KMap editors = new KMap<>(); private final Player player; - private final LoaderObject object; + private final IrisObject object; private final File targetSaveLocation; - private final LoaderJigsawPiece piece; + private final IrisJigsawPiece piece; private final Location origin; private final Cuboid cuboid; private final int ticker; @@ -60,7 +60,7 @@ public class JigsawEditor implements Listener { private final KMap falling = new KMap<>(); private final ChronoLatch cl = new ChronoLatch(100); - public JigsawEditor(Player player, LoaderJigsawPiece piece, LoaderObject object, File saveLocation) { + public JigsawEditor(Player player, IrisJigsawPiece piece, IrisObject object, File saveLocation) { if (editors.containsKey(player)) { editors.get(player).close(); } @@ -71,7 +71,7 @@ public class JigsawEditor implements Listener { origin = player.getLocation().clone().add(0, 7, 0); target = origin; this.targetSaveLocation = saveLocation; - this.piece = piece == null ? new LoaderJigsawPiece() : piece; + this.piece = piece == null ? new IrisJigsawPiece() : piece; this.piece.setObject(object.getLoadKey()); cuboid = new Cuboid(origin.clone(), origin.clone().add(object.getW() - 1, object.getH() - 1, object.getD() - 1)); ticker = J.sr(this::onTick, 0); diff --git a/src/main/java/com/volmit/iris/core/gui/VisionGUI.java b/src/main/java/com/volmit/iris/core/gui/VisionGUI.java index 4a61721db..d2b82a74c 100644 --- a/src/main/java/com/volmit/iris/core/gui/VisionGUI.java +++ b/src/main/java/com/volmit/iris/core/gui/VisionGUI.java @@ -25,8 +25,8 @@ import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.IrisComplex; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -629,8 +629,8 @@ public class VisionGUI extends JPanel implements MouseWheelListener, KeyListener } private void renderHoverOverlay(Graphics2D g, boolean detailed) { - LoaderBiome biome = engine.getFramework().getComplex().getTrueBiomeStream().get(getWorldX(hx), getWorldZ(hz)); - LoaderRegion region = engine.getFramework().getComplex().getRegionStream().get(getWorldX(hx), getWorldZ(hz)); + IrisBiome biome = engine.getFramework().getComplex().getTrueBiomeStream().get(getWorldX(hx), getWorldZ(hz)); + IrisRegion region = engine.getFramework().getComplex().getRegionStream().get(getWorldX(hx), getWorldZ(hz)); KList l = new KList<>(); l.add("Biome: " + biome.getName()); l.add("Region: " + region.getName() + "(" + region.getLoadKey() + ")"); diff --git a/src/main/java/com/volmit/iris/core/link/MultiverseCoreLink.java b/src/main/java/com/volmit/iris/core/link/MultiverseCoreLink.java index 13f46b2d9..9571377d9 100644 --- a/src/main/java/com/volmit/iris/core/link/MultiverseCoreLink.java +++ b/src/main/java/com/volmit/iris/core/link/MultiverseCoreLink.java @@ -19,7 +19,7 @@ package com.volmit.iris.core.link; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.util.collection.KMap; import org.bukkit.Bukkit; import org.bukkit.World; @@ -37,7 +37,7 @@ public class MultiverseCoreLink { } - public boolean addWorld(String worldName, LoaderDimension dim, String seed) { + public boolean addWorld(String worldName, IrisDimension dim, String seed) { if (!supported()) { return false; } diff --git a/src/main/java/com/volmit/iris/core/link/OraxenLink.java b/src/main/java/com/volmit/iris/core/link/OraxenLink.java index ab3d9b4b7..2ee2e3d52 100644 --- a/src/main/java/com/volmit/iris/core/link/OraxenLink.java +++ b/src/main/java/com/volmit/iris/core/link/OraxenLink.java @@ -18,7 +18,7 @@ package com.volmit.iris.core.link; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import org.bukkit.Bukkit; import org.bukkit.block.data.BlockData; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/volmit/iris/core/pregenerator/methods/SyndicatePregenMethod.java b/src/main/java/com/volmit/iris/core/pregenerator/methods/SyndicatePregenMethod.java index c34322fa5..9401614e3 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/methods/SyndicatePregenMethod.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/methods/SyndicatePregenMethod.java @@ -25,7 +25,7 @@ import com.volmit.iris.core.pregenerator.PregenTask; import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.pregenerator.syndicate.SyndicateClient; import com.volmit.iris.core.pregenerator.syndicate.command.*; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.util.io.IO; import com.volmit.iris.util.scheduling.J; import lombok.Getter; @@ -42,13 +42,13 @@ public class SyndicatePregenMethod implements PregeneratorMethod { private String nickname; private final int port; private final String password; - private final LoaderDimension dimension; + private final IrisDimension dimension; private boolean ready = false; private final File worldFolder; private final UUID pack = UUID.randomUUID(); private final long seed; - public SyndicatePregenMethod(String nickname, File worldFolder, String address, int port, String password, LoaderDimension dimension, long seed) { + public SyndicatePregenMethod(String nickname, File worldFolder, String address, int port, String password, IrisDimension dimension, long seed) { this.seed = seed; this.worldFolder = worldFolder; this.address = address; diff --git a/src/main/java/com/volmit/iris/core/pregenerator/syndicate/command/SyndicateInstallPack.java b/src/main/java/com/volmit/iris/core/pregenerator/syndicate/command/SyndicateInstallPack.java index 2b4d3e923..e54cca38c 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/syndicate/command/SyndicateInstallPack.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/syndicate/command/SyndicateInstallPack.java @@ -18,7 +18,7 @@ package com.volmit.iris.core.pregenerator.syndicate.command; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -38,5 +38,5 @@ public class SyndicateInstallPack implements SyndicateCommand { private long seed = 1337; @Builder.Default - private LoaderDimension dimension = null; + private IrisDimension dimension = null; } diff --git a/src/main/java/com/volmit/iris/core/project/IrisProject.java b/src/main/java/com/volmit/iris/core/project/IrisProject.java index bf57c2f1c..575519761 100644 --- a/src/main/java/com/volmit/iris/core/project/IrisProject.java +++ b/src/main/java/com/volmit/iris/core/project/IrisProject.java @@ -29,17 +29,17 @@ import com.volmit.iris.core.report.ReportType; import com.volmit.iris.core.tools.IrisWorldCreator; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomeMutation; import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; -import com.volmit.iris.engine.object.block.LoaderBlockData; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; -import com.volmit.iris.engine.object.entity.LoaderEntity; -import com.volmit.iris.engine.object.loot.LoaderLootTable; -import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.block.IrisBlockData; +import com.volmit.iris.engine.object.dimensional.IrisDimension; +import com.volmit.iris.engine.object.entity.IrisEntity; +import com.volmit.iris.engine.object.loot.IrisLootTable; +import com.volmit.iris.engine.object.noise.IrisGenerator; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; -import com.volmit.iris.engine.object.regional.LoaderRegion; -import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.regional.IrisRegion; +import com.volmit.iris.engine.object.spawners.IrisSpawner; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -103,7 +103,7 @@ public class IrisProject { if (activeProvider != null && activeProvider.getCompound() != null) { for (int i = 0; i < getActiveProvider().getCompound().getSize(); i++) { Engine e = getActiveProvider().getCompound().getEngine(i); - LoaderDimension dim = e.getDimension(); + IrisDimension dim = e.getDimension(); reports.add(scanForErrors(dim)); } } @@ -120,7 +120,7 @@ public class IrisProject { return reports; } - private KList scanForErrors(LoaderDimension dim) { + private KList scanForErrors(IrisDimension dim) { KList reports = new KList<>(); if (dim.getFocus() != null && !dim.getFocus().isEmpty()) { @@ -132,14 +132,14 @@ public class IrisProject { .build()); } - for (LoaderRegion i : dim.getAllRegions(getActiveProvider())) { + for (IrisRegion i : dim.getAllRegions(getActiveProvider())) { scanForErrors(i); } return reports; } - private KList scanForErrors(LoaderRegion region) { + private KList scanForErrors(IrisRegion region) { KList reports = new KList<>(); if (region.getRarity() > 60) { @@ -151,14 +151,14 @@ public class IrisProject { .build()); } - for (LoaderBiome i : region.getAllBiomes(getActiveProvider())) { + for (IrisBiome i : region.getAllBiomes(getActiveProvider())) { reports.add(scanForErrors(i)); } return reports; } - private KList scanForErrors(LoaderBiome biome) { + private KList scanForErrors(IrisBiome biome) { KList reports = new KList<>(); for (IrisObjectPlacement i : biome.getObjects()) { @@ -176,17 +176,17 @@ public class IrisProject { return reports; } - private KList scanForErrors(LoaderBiome biome, IrisObjectPlacement i) { + private KList scanForErrors(IrisBiome biome, IrisObjectPlacement i) { return new KList<>(); } - private KList scanForErrors(LoaderBiome biome, IrisBiomePaletteLayer i) { + private KList scanForErrors(IrisBiome biome, IrisBiomePaletteLayer i) { return new KList<>(); } - private KList scanForErrorsSeaLayers(LoaderBiome biome, IrisBiomePaletteLayer i) { + private KList scanForErrorsSeaLayers(IrisBiome biome, IrisBiomePaletteLayer i) { return new KList<>(); } @@ -255,7 +255,7 @@ public class IrisProject { return; } - LoaderDimension d = IrisData.loadAnyDimension(getName()); + IrisDimension d = IrisData.loadAnyDimension(getName()); if (d == null) { sender.sendMessage("Can't find dimension: " + getName()); return; @@ -467,17 +467,17 @@ public class IrisProject { public File compilePackage(VolmitSender sender, boolean obfuscate, boolean minify) { String dimm = getName(); IrisData dm = new IrisData(path); - LoaderDimension dimension = dm.getDimensionLoader().load(dimm); + IrisDimension dimension = dm.getDimensionLoader().load(dimm); File folder = new File(Iris.instance.getDataFolder(), "exports/" + dimension.getLoadKey()); folder.mkdirs(); Iris.info("Packaging Dimension " + dimension.getName() + " " + (obfuscate ? "(Obfuscated)" : "")); - KSet regions = new KSet<>(); - KSet biomes = new KSet<>(); - KSet entities = new KSet<>(); - KSet spawners = new KSet<>(); - KSet generators = new KSet<>(); - KSet loot = new KSet<>(); - KSet blocks = new KSet<>(); + KSet regions = new KSet<>(); + KSet biomes = new KSet<>(); + KSet entities = new KSet<>(); + KSet spawners = new KSet<>(); + KSet generators = new KSet<>(); + KSet loot = new KSet<>(); + KSet blocks = new KSet<>(); for (String i : dm.getDimensionLoader().getPossibleKeys()) { blocks.add(dm.getBlockLoader().load(i)); @@ -528,7 +528,7 @@ public class IrisProject { StringBuilder c = new StringBuilder(); sender.sendMessage("Serializing Objects"); - for (LoaderBiome i : biomes) { + for (IrisBiome i : biomes) { for (IrisObjectPlacement j : i.getObjects()) { b.append(j.hashCode()); KList newNames = new KList<>(); @@ -622,7 +622,7 @@ public class IrisProject { IO.writeAll(new File(folder, "dimensions/" + dimension.getLoadKey() + ".json"), a); b.append(IO.hash(a)); - for (LoaderGenerator i : generators) { + for (IrisGenerator i : generators) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "generators/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); @@ -631,31 +631,31 @@ public class IrisProject { c.append(IO.hash(b.toString())); b = new StringBuilder(); - for (LoaderRegion i : regions) { + for (IrisRegion i : regions) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "regions/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); } - for (LoaderBlockData i : blocks) { + for (IrisBlockData i : blocks) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "blocks/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); } - for (LoaderBiome i : biomes) { + for (IrisBiome i : biomes) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "biomes/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); } - for (LoaderEntity i : entities) { + for (IrisEntity i : entities) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "entities/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); } - for (LoaderLootTable i : loot) { + for (IrisLootTable i : loot) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "loot/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); diff --git a/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java b/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java index 41a2fb1d1..71a251b3e 100644 --- a/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java +++ b/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java @@ -21,7 +21,7 @@ package com.volmit.iris.core.project; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.project.loader.ResourceLoader; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; diff --git a/src/main/java/com/volmit/iris/core/project/loader/IrisData.java b/src/main/java/com/volmit/iris/core/project/loader/IrisData.java index c5007bf49..ce9bc6743 100644 --- a/src/main/java/com/volmit/iris/core/project/loader/IrisData.java +++ b/src/main/java/com/volmit/iris/core/project/loader/IrisData.java @@ -20,20 +20,20 @@ package com.volmit.iris.core.project.loader; import com.volmit.iris.Iris; import com.volmit.iris.engine.framework.Engine; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.block.LoaderBlockData; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; -import com.volmit.iris.engine.object.entity.LoaderEntity; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPool; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; -import com.volmit.iris.engine.object.loot.LoaderLootTable; -import com.volmit.iris.engine.object.mods.LoaderMod; -import com.volmit.iris.engine.object.noise.LoaderExpression; -import com.volmit.iris.engine.object.noise.LoaderGenerator; -import com.volmit.iris.engine.object.objects.LoaderObject; -import com.volmit.iris.engine.object.regional.LoaderRegion; -import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.block.IrisBlockData; +import com.volmit.iris.engine.object.dimensional.IrisDimension; +import com.volmit.iris.engine.object.entity.IrisEntity; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPool; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructure; +import com.volmit.iris.engine.object.loot.IrisLootTable; +import com.volmit.iris.engine.object.mods.IrisMod; +import com.volmit.iris.engine.object.noise.IrisExpression; +import com.volmit.iris.engine.object.noise.IrisGenerator; +import com.volmit.iris.engine.object.objects.IrisObject; +import com.volmit.iris.engine.object.regional.IrisRegion; +import com.volmit.iris.engine.object.spawners.IrisSpawner; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.math.RNG; import lombok.Data; @@ -44,21 +44,21 @@ import java.util.function.Function; @Data public class IrisData { - private ResourceLoader biomeLoader; - private ResourceLoader lootLoader; - private ResourceLoader regionLoader; - private ResourceLoader dimensionLoader; - private ResourceLoader generatorLoader; - private ResourceLoader jigsawPieceLoader; - private ResourceLoader jigsawPoolLoader; - private ResourceLoader jigsawStructureLoader; - private ResourceLoader entityLoader; - private ResourceLoader spawnerLoader; - private ResourceLoader modLoader; - private ResourceLoader blockLoader; - private ResourceLoader expressionLoader; - private ResourceLoader objectLoader; - private KMap, ResourceLoader> loaders = new KMap<>(); + private ResourceLoader biomeLoader; + private ResourceLoader lootLoader; + private ResourceLoader regionLoader; + private ResourceLoader dimensionLoader; + private ResourceLoader generatorLoader; + private ResourceLoader jigsawPieceLoader; + private ResourceLoader jigsawPoolLoader; + private ResourceLoader jigsawStructureLoader; + private ResourceLoader entityLoader; + private ResourceLoader spawnerLoader; + private ResourceLoader modLoader; + private ResourceLoader blockLoader; + private ResourceLoader expressionLoader; + private ResourceLoader objectLoader; + private KMap, ResourceLoader> loaders = new KMap<>(); private boolean closed; private final File dataFolder; private Engine engine; @@ -90,11 +90,11 @@ public class IrisData { return new IrisData(dataFolder); } - private ResourceLoader registerLoader(Class registrant) { + private ResourceLoader registerLoader(Class registrant) { try { - LoaderRegistrant rr = registrant.getConstructor().newInstance(); + IrisRegistrant rr = registrant.getConstructor().newInstance(); ResourceLoader r = null; - if (registrant.equals(LoaderObject.class)) { + if (registrant.equals(IrisObject.class)) { r = (ResourceLoader) new ObjectResourceLoader(dataFolder, this, rr.getFolderName(), rr.getTypeName()); } else { r = new ResourceLoader(dataFolder, this, rr.getFolderName(), rr.getTypeName(), registrant); @@ -119,20 +119,20 @@ public class IrisData { loaders.clear(); File packs = dataFolder; packs.mkdirs(); - this.lootLoader = registerLoader(LoaderLootTable.class); - this.spawnerLoader = registerLoader(LoaderSpawner.class); - this.entityLoader = registerLoader(LoaderEntity.class); - this.regionLoader = registerLoader(LoaderRegion.class); - this.biomeLoader = registerLoader(LoaderBiome.class); - this.modLoader = registerLoader(LoaderMod.class); - this.dimensionLoader = registerLoader(LoaderDimension.class); - this.jigsawPoolLoader = registerLoader(LoaderJigsawPool.class); - this.jigsawStructureLoader = registerLoader(LoaderJigsawStructure.class); - this.jigsawPieceLoader = registerLoader(LoaderJigsawPiece.class); - this.generatorLoader = registerLoader(LoaderGenerator.class); - this.blockLoader = registerLoader(LoaderBlockData.class); - this.expressionLoader = registerLoader(LoaderExpression.class); - this.objectLoader = registerLoader(LoaderObject.class); + this.lootLoader = registerLoader(IrisLootTable.class); + this.spawnerLoader = registerLoader(IrisSpawner.class); + this.entityLoader = registerLoader(IrisEntity.class); + this.regionLoader = registerLoader(IrisRegion.class); + this.biomeLoader = registerLoader(IrisBiome.class); + this.modLoader = registerLoader(IrisMod.class); + this.dimensionLoader = registerLoader(IrisDimension.class); + this.jigsawPoolLoader = registerLoader(IrisJigsawPool.class); + this.jigsawStructureLoader = registerLoader(IrisJigsawStructure.class); + this.jigsawPieceLoader = registerLoader(IrisJigsawPiece.class); + this.generatorLoader = registerLoader(IrisGenerator.class); + this.blockLoader = registerLoader(IrisBlockData.class); + this.expressionLoader = registerLoader(IrisExpression.class); + this.objectLoader = registerLoader(IrisObject.class); } public void dump() { @@ -155,63 +155,63 @@ public class IrisData { } } - public static LoaderObject loadAnyObject(String key) { + public static IrisObject loadAnyObject(String key) { return loadAny(key, (dm) -> dm.getObjectLoader().load(key, false)); } - public static LoaderBiome loadAnyBiome(String key) { + public static IrisBiome loadAnyBiome(String key) { return loadAny(key, (dm) -> dm.getBiomeLoader().load(key, false)); } - public static LoaderExpression loadAnyExpression(String key) { + public static IrisExpression loadAnyExpression(String key) { return loadAny(key, (dm) -> dm.getExpressionLoader().load(key, false)); } - public static LoaderMod loadAnyMod(String key) { + public static IrisMod loadAnyMod(String key) { return loadAny(key, (dm) -> dm.getModLoader().load(key, false)); } - public static LoaderJigsawPiece loadAnyJigsawPiece(String key) { + public static IrisJigsawPiece loadAnyJigsawPiece(String key) { return loadAny(key, (dm) -> dm.getJigsawPieceLoader().load(key, false)); } - public static LoaderJigsawPool loadAnyJigsawPool(String key) { + public static IrisJigsawPool loadAnyJigsawPool(String key) { return loadAny(key, (dm) -> dm.getJigsawPoolLoader().load(key, false)); } - public static LoaderEntity loadAnyEntity(String key) { + public static IrisEntity loadAnyEntity(String key) { return loadAny(key, (dm) -> dm.getEntityLoader().load(key, false)); } - public static LoaderLootTable loadAnyLootTable(String key) { + public static IrisLootTable loadAnyLootTable(String key) { return loadAny(key, (dm) -> dm.getLootLoader().load(key, false)); } - public static LoaderBlockData loadAnyBlock(String key) { + public static IrisBlockData loadAnyBlock(String key) { return loadAny(key, (dm) -> dm.getBlockLoader().load(key, false)); } - public static LoaderSpawner loadAnySpaner(String key) { + public static IrisSpawner loadAnySpaner(String key) { return loadAny(key, (dm) -> dm.getSpawnerLoader().load(key, false)); } - public static LoaderRegion loadAnyRegion(String key) { + public static IrisRegion loadAnyRegion(String key) { return loadAny(key, (dm) -> dm.getRegionLoader().load(key, false)); } - public static LoaderDimension loadAnyDimension(String key) { + public static IrisDimension loadAnyDimension(String key) { return loadAny(key, (dm) -> dm.getDimensionLoader().load(key, false)); } - public static LoaderJigsawStructure loadAnyJigsawStructure(String key) { + public static IrisJigsawStructure loadAnyJigsawStructure(String key) { return loadAny(key, (dm) -> dm.getJigsawStructureLoader().load(key, false)); } - public static LoaderGenerator loadAnyGenerator(String key) { + public static IrisGenerator loadAnyGenerator(String key) { return loadAny(key, (dm) -> dm.getGeneratorLoader().load(key, false)); } - public static T loadAny(String key, Function v) { + public static T loadAny(String key, Function v) { try { for (File i : Objects.requireNonNull(Iris.instance.getDataFolder("packs").listFiles())) { if (i.isDirectory()) { diff --git a/src/main/java/com/volmit/iris/core/project/loader/LoaderRegistrant.java b/src/main/java/com/volmit/iris/core/project/loader/IrisRegistrant.java similarity index 97% rename from src/main/java/com/volmit/iris/core/project/loader/LoaderRegistrant.java rename to src/main/java/com/volmit/iris/core/project/loader/IrisRegistrant.java index 0e2f7ef00..54f92083c 100644 --- a/src/main/java/com/volmit/iris/core/project/loader/LoaderRegistrant.java +++ b/src/main/java/com/volmit/iris/core/project/loader/IrisRegistrant.java @@ -26,7 +26,7 @@ import java.awt.*; import java.io.File; @Data -public abstract class LoaderRegistrant { +public abstract class IrisRegistrant { private transient IrisData loader; private transient String loadKey; diff --git a/src/main/java/com/volmit/iris/core/project/loader/ObjectResourceLoader.java b/src/main/java/com/volmit/iris/core/project/loader/ObjectResourceLoader.java index 8698bbaa4..d564af534 100644 --- a/src/main/java/com/volmit/iris/core/project/loader/ObjectResourceLoader.java +++ b/src/main/java/com/volmit/iris/core/project/loader/ObjectResourceLoader.java @@ -19,7 +19,7 @@ package com.volmit.iris.core.project.loader; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KSet; @@ -33,14 +33,14 @@ import com.volmit.iris.util.scheduling.PrecisionStopwatch; import java.io.File; import java.util.concurrent.atomic.AtomicInteger; -public class ObjectResourceLoader extends ResourceLoader { +public class ObjectResourceLoader extends ResourceLoader { private final ChronoLatch useFlip = new ChronoLatch(2222); private final KMap useCache = new KMap<>(); private final ChronoLatch cl; private final AtomicInteger unload; public ObjectResourceLoader(File root, IrisData idm, String folderName, String resourceTypeName) { - super(root, idm, folderName, resourceTypeName, LoaderObject.class); + super(root, idm, folderName, resourceTypeName, IrisObject.class); cl = new ChronoLatch(30000); unload = new AtomicInteger(0); } @@ -56,7 +56,7 @@ public class ObjectResourceLoader extends ResourceLoader { public int getTotalStorage() { int m = 0; - for (LoaderObject i : loadCache.values()) { + for (IrisObject i : loadCache.values()) { m += i.getBlocks().size(); } @@ -115,11 +115,11 @@ public class ObjectResourceLoader extends ResourceLoader { } } - public LoaderObject loadFile(File j, String key, String name) { + public IrisObject loadFile(File j, String key, String name) { lock.lock(); try { PrecisionStopwatch p = PrecisionStopwatch.start(); - LoaderObject t = new LoaderObject(0, 0, 0); + IrisObject t = new IrisObject(0, 0, 0); t.read(j); loadCache.put(key, t); t.setLoadKey(name); @@ -194,15 +194,15 @@ public class ObjectResourceLoader extends ResourceLoader { return null; } - public LoaderObject load(String name) { + public IrisObject load(String name) { return load(name, true); } - public LoaderObject load(String name, boolean warn) { + public IrisObject load(String name, boolean warn) { String key = name + "-" + objectClass.getCanonicalName(); if (loadCache.containsKey(key)) { - LoaderObject t = loadCache.get(key); + IrisObject t = loadCache.get(key); useCache.put(key, M.ms()); return t; } diff --git a/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java b/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java index c1fd42104..5232fa9e6 100644 --- a/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java +++ b/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java @@ -43,7 +43,7 @@ import java.util.function.Predicate; import java.util.stream.Stream; @Data -public class ResourceLoader { +public class ResourceLoader { public static final AtomicDouble tlt = new AtomicDouble(0); protected File root; protected String folderName; diff --git a/src/main/java/com/volmit/iris/core/tools/IrisCreator.java b/src/main/java/com/volmit/iris/core/tools/IrisCreator.java index 4c0e4128b..0c73c841e 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisCreator.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisCreator.java @@ -22,7 +22,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.pregenerator.PregenTask; import com.volmit.iris.engine.framework.IrisAccess; import com.volmit.iris.engine.framework.headless.HeadlessWorld; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.util.exceptions.IrisException; import com.volmit.iris.util.exceptions.MissingDimensionException; import com.volmit.iris.util.format.C; @@ -93,7 +93,7 @@ public class IrisCreator { * @throws IrisException shit happens */ public IrisAccess create() throws IrisException { - LoaderDimension d = IrisToolbelt.getDimension(dimension()); + IrisDimension d = IrisToolbelt.getDimension(dimension()); IrisAccess access = null; Consumer prog = (pxx) -> { double px = pxx; diff --git a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java index a0c5c89cc..561e5e705 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java @@ -27,7 +27,7 @@ import com.volmit.iris.core.pregenerator.methods.HeadlessPregenMethod; import com.volmit.iris.core.pregenerator.methods.HybridPregenMethod; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.util.plugin.VolmitSender; import org.bukkit.Bukkit; import org.bukkit.World; @@ -50,7 +50,7 @@ public class IrisToolbelt { * @param dimension the dimension id such as overworld or flat * @return the IrisDimension or null */ - public static LoaderDimension getDimension(String dimension) { + public static IrisDimension getDimension(String dimension) { File pack = Iris.instance.getDataFolder("packs", dimension); if (!pack.exists()) { diff --git a/src/main/java/com/volmit/iris/core/tools/IrisWorldCreator.java b/src/main/java/com/volmit/iris/core/tools/IrisWorldCreator.java index 6130e691d..62cd09835 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisWorldCreator.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisWorldCreator.java @@ -20,7 +20,7 @@ package com.volmit.iris.core.tools; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.framework.EngineCompositeGenerator; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.object.common.IrisWorld; import org.bukkit.World; import org.bukkit.WorldCreator; @@ -93,7 +93,7 @@ public class IrisWorldCreator { } private World.Environment findEnvironment() { - LoaderDimension dim = IrisData.loadAnyDimension(dimensionName); + IrisDimension dim = IrisData.loadAnyDimension(dimensionName); if (dim == null || dim.getEnvironment() == null) { return World.Environment.NORMAL; } else { diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index 41a2d6880..fa5987f42 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -22,18 +22,18 @@ import com.google.common.util.concurrent.AtomicDouble; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.actuator.IrisTerrainNormalActuator; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.modifier.IrisCaveModifier; import com.volmit.iris.engine.object.biome.InferredType; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.decoration.IrisDecorationPart; import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.engine.object.dimensional.IrisTerrainMode; import com.volmit.iris.engine.object.feature.IrisFeaturePositional; -import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.noise.IrisGenerator; import com.volmit.iris.engine.object.noise.IrisInterpolator; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.common.CaveResult; import com.volmit.iris.util.stream.ProceduralStream; @@ -55,9 +55,9 @@ public class IrisComplex implements DataProvider { private RNG rng; private double fluidHeight; private IrisData data; - private KList generators; + private KList generators; private static final BlockData AIR = Material.AIR.createBlockData(); - private ProceduralStream regionStream; + private ProceduralStream regionStream; private ProceduralStream regionStyleStream; private ProceduralStream regionIdentityStream; private ProceduralStream regionIDStream; @@ -65,14 +65,14 @@ public class IrisComplex implements DataProvider { private ProceduralStream islandHeightStream; private ProceduralStream islandDepthStream; private ProceduralStream bridgeStream; - private ProceduralStream landBiomeStream; - private ProceduralStream caveBiomeStream; - private ProceduralStream seaBiomeStream; - private ProceduralStream shoreBiomeStream; - private ProceduralStream baseBiomeStream; + private ProceduralStream landBiomeStream; + private ProceduralStream caveBiomeStream; + private ProceduralStream seaBiomeStream; + private ProceduralStream shoreBiomeStream; + private ProceduralStream baseBiomeStream; private ProceduralStream baseBiomeIDStream; - private ProceduralStream trueBiomeStream; - private ProceduralStream trueBiomeStreamNoFeatures; + private ProceduralStream trueBiomeStream; + private ProceduralStream trueBiomeStreamNoFeatures; private ProceduralStream trueBiomeDerivativeStream; private ProceduralStream heightStream; private ProceduralStream heightStreamNoFeatures; @@ -95,9 +95,9 @@ public class IrisComplex implements DataProvider { private ProceduralStream shoreSurfaceDecoration; private ProceduralStream rockStream; private ProceduralStream fluidStream; - private LoaderBiome focus; + private IrisBiome focus; - public ProceduralStream getBiomeStream(InferredType type) { + public ProceduralStream getBiomeStream(InferredType type) { switch (type) { case CAVE: return caveBiomeStream; @@ -123,7 +123,7 @@ public class IrisComplex implements DataProvider { public IrisComplex(Engine engine, boolean simple) { int cacheSize = 131072; - LoaderBiome emptyBiome = new LoaderBiome(); + IrisBiome emptyBiome = new IrisBiome(); UUID focusUUID = UUID.nameUUIDFromBytes("focus".getBytes()); this.rng = new RNG(engine.getWorld().seed()); this.data = engine.getData(); @@ -131,13 +131,13 @@ public class IrisComplex implements DataProvider { fluidHeight = engine.getDimension().getFluidHeight(); generators = new KList<>(); focus = engine.getFocus(); - KMap> inferredStreams = new KMap<>(); + KMap> inferredStreams = new KMap<>(); if (focus != null) { focus.setInferredType(InferredType.LAND); } - LoaderRegion focusRegion = focus != null ? findRegion(focus, engine) : null; + IrisRegion focusRegion = focus != null ? findRegion(focus, engine) : null; RNG rng = new RNG(engine.getWorld().seed()); //@builder engine.getDimension().getRegions().forEach((i) -> data.getRegionLoader().load(i) @@ -219,11 +219,11 @@ public class IrisComplex implements DataProvider { bridgeStream.convertAware2D((t, x, z) -> inferredStreams.get(t).get(x, z)) .convertAware2D(this::implode).cache2D(cacheSize); heightStream = ProceduralStream.of((x, z) -> { - LoaderBiome b = focus != null ? focus : baseBiomeStream.get(x, z); + IrisBiome b = focus != null ? focus : baseBiomeStream.get(x, z); return getHeight(engine, b, x, z, engine.getWorld().seed(), true); }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D(cacheSize); heightStreamNoFeatures = ProceduralStream.of((x, z) -> { - LoaderBiome b = focus != null ? focus : baseBiomeStream.get(x, z); + IrisBiome b = focus != null ? focus : baseBiomeStream.get(x, z); return getHeight(engine, b, x, z, engine.getWorld().seed(), false); }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D(cacheSize); slopeStream = heightStream.slope(3).cache2D(cacheSize); @@ -242,7 +242,7 @@ public class IrisComplex implements DataProvider { trueBiomeStream = focus != null ? ProceduralStream.of((x, y) -> focus, Interpolated.of(a -> 0D, b -> focus)).convertAware2D((b, x, z) -> { for (IrisFeaturePositional i : engine.getFramework().getEngineParallax().forEachFeature(x, z)) { - LoaderBiome bx = i.filter(x, z, b, rng); + IrisBiome bx = i.filter(x, z, b, rng); if (bx != null) { bx.setInferredType(b.getInferredType()); @@ -258,7 +258,7 @@ public class IrisComplex implements DataProvider { regionStream.get(x, z), x, z, fluidHeight)) .convertAware2D((b, x, z) -> { for (IrisFeaturePositional i : engine.getFramework().getEngineParallax().forEachFeature(x, z)) { - LoaderBiome bx = i.filter(x, z, b, rng); + IrisBiome bx = i.filter(x, z, b, rng); if (bx != null) { bx.setInferredType(b.getInferredType()); @@ -272,7 +272,7 @@ public class IrisComplex implements DataProvider { trueBiomeStream = focus != null ? ProceduralStream.of((x, y) -> focus, Interpolated.of(a -> 0D, b -> focus)).convertAware2D((b, x, z) -> { for (IrisFeaturePositional i : engine.getFramework().getEngineParallax().forEachFeature(x, z)) { - LoaderBiome bx = i.filter(x, z, b, rng); + IrisBiome bx = i.filter(x, z, b, rng); if (bx != null) { bx.setInferredType(b.getInferredType()); @@ -288,7 +288,7 @@ public class IrisComplex implements DataProvider { regionStream.get(x, z), x, z, fluidHeight)) .convertAware2D((b, x, z) -> { for (IrisFeaturePositional i : engine.getFramework().getEngineParallax().forEachFeature(x, z)) { - LoaderBiome bx = i.filter(x, z, b, rng); + IrisBiome bx = i.filter(x, z, b, rng); if (bx != null) { bx.setInferredType(b.getInferredType()); @@ -306,7 +306,7 @@ public class IrisComplex implements DataProvider { fixBiomeType(h, baseBiomeStream.get(x, z), regionStream.get(x, z), x, z, fluidHeight)) .cache2D(cacheSize); - trueBiomeDerivativeStream = trueBiomeStream.convert(LoaderBiome::getDerivative).cache2D(cacheSize); + trueBiomeDerivativeStream = trueBiomeStream.convert(IrisBiome::getDerivative).cache2D(cacheSize); heightFluidStream = heightStream.max(fluidHeight).cache2D(cacheSize); maxHeightStream = ProceduralStream.ofDouble((x, z) -> height); terrainSurfaceDecoration = trueBiomeStream @@ -383,8 +383,8 @@ public class IrisComplex implements DataProvider { }); } - private LoaderRegion findRegion(LoaderBiome focus, Engine engine) { - for (LoaderRegion i : engine.getDimension().getAllRegions(engine)) { + private IrisRegion findRegion(IrisBiome focus, Engine engine) { + for (IrisRegion i : engine.getDimension().getAllRegions(engine)) { if (i.getAllBiomeIds().contains(focus.getLoadKey())) { return i; } @@ -393,7 +393,7 @@ public class IrisComplex implements DataProvider { return null; } - private IrisDecorator decorateFor(LoaderBiome b, double x, double z, IrisDecorationPart part) { + private IrisDecorator decorateFor(IrisBiome b, double x, double z, IrisDecorationPart part) { RNG rngc = chunkRngStream.get(x, z); for (IrisDecorator i : b.getDecorators()) { @@ -411,7 +411,7 @@ public class IrisComplex implements DataProvider { return null; } - private LoaderBiome fixBiomeType(Double height, LoaderBiome biome, LoaderRegion region, Double x, Double z, double fluidHeight) { + private IrisBiome fixBiomeType(Double height, IrisBiome biome, IrisRegion region, Double x, Double z, double fluidHeight) { double sh = region.getShoreHeight(x, z); if (height >= fluidHeight - 1 && height <= fluidHeight + sh && !biome.isShore()) { @@ -433,14 +433,14 @@ public class IrisComplex implements DataProvider { return biome; } - private double getHeight(Engine engine, LoaderBiome b, double x, double z, long seed, boolean features) { + private double getHeight(Engine engine, IrisBiome b, double x, double z, long seed, boolean features) { double h = 0; - for (LoaderGenerator gen : generators) { + for (IrisGenerator gen : generators) { h += gen.getInterpolator().interpolate(x, z, (xx, zz) -> { try { - LoaderBiome bx = baseBiomeStream.get(xx, zz); + IrisBiome bx = baseBiomeStream.get(xx, zz); return M.lerp(bx.getGenLinkMin(gen.getLoadKey()), bx.getGenLinkMax(gen.getLoadKey()), @@ -468,8 +468,8 @@ public class IrisComplex implements DataProvider { return Math.min(engine.getHeight(), Math.max(noise.get(), 0)); } - private void registerGenerator(LoaderGenerator cachedGenerator) { - for (LoaderGenerator i : generators) { + private void registerGenerator(IrisGenerator cachedGenerator) { + for (IrisGenerator i : generators) { if (i.getLoadKey().equals(cachedGenerator.getLoadKey())) { return; } @@ -478,7 +478,7 @@ public class IrisComplex implements DataProvider { generators.add(cachedGenerator); } - private LoaderBiome implode(LoaderBiome b, Double x, Double z) { + private IrisBiome implode(IrisBiome b, Double x, Double z) { if (b.getChildren().isEmpty()) { return b; } @@ -486,7 +486,7 @@ public class IrisComplex implements DataProvider { return implode(b, x, z, 3); } - private LoaderBiome implode(LoaderBiome b, Double x, Double z, int max) { + private IrisBiome implode(IrisBiome b, Double x, Double z, int max) { if (max < 0) { return b; } @@ -496,9 +496,9 @@ public class IrisComplex implements DataProvider { } CNG childCell = b.getChildrenGenerator(rng, 123, b.getChildShrinkFactor()); - KList chx = b.getRealChildren(this).copy(); + KList chx = b.getRealChildren(this).copy(); chx.add(b); - LoaderBiome biome = childCell.fitRarity(chx, x, z); + IrisBiome biome = childCell.fitRarity(chx, x, z); biome.setInferredType(b.getInferredType()); return implode(biome, x, z, max - 1); } diff --git a/src/main/java/com/volmit/iris/engine/IrisEngine.java b/src/main/java/com/volmit/iris/engine/IrisEngine.java index e223e7a48..6b9824c95 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngine.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngine.java @@ -25,7 +25,7 @@ import com.volmit.iris.core.events.IrisEngineHotloadEvent; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.framework.*; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; @@ -142,7 +142,7 @@ public class IrisEngine extends BlockPopulator implements Engine { } private void computeBiomeMaxes() { - for (LoaderBiome i : getDimension().getAllBiomes(this)) { + for (IrisBiome i : getDimension().getAllBiomes(this)) { double density = 0; for (IrisObjectPlacement j : i.getObjects()) { @@ -257,7 +257,7 @@ public class IrisEngine extends BlockPopulator implements Engine { } @Override - public LoaderBiome getFocus() { + public IrisBiome getFocus() { if (getDimension().getFocus() == null || getDimension().getFocus().trim().isEmpty()) { return null; } diff --git a/src/main/java/com/volmit/iris/engine/IrisEngineCompound.java b/src/main/java/com/volmit/iris/engine/IrisEngineCompound.java index 153508cab..dd2f8f518 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngineCompound.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngineCompound.java @@ -26,7 +26,7 @@ import com.volmit.iris.engine.framework.EngineCompound; import com.volmit.iris.engine.framework.EngineData; import com.volmit.iris.engine.framework.EngineTarget; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.object.dimensional.IrisDimensionIndex; import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.common.IrisWorld; @@ -71,7 +71,7 @@ public class IrisEngineCompound implements EngineCompound { private final KList populators; @Getter - private final LoaderDimension rootDimension; + private final IrisDimension rootDimension; @Getter private final int threadCount = -1; @@ -80,7 +80,7 @@ public class IrisEngineCompound implements EngineCompound { @Setter private boolean studio; - public IrisEngineCompound(IrisWorld world, LoaderDimension rootDimension, IrisData data, int maximumThreads) { + public IrisEngineCompound(IrisWorld world, IrisDimension rootDimension, IrisData data, int maximumThreads) { wallClock = new AtomicRollingSequence(32); this.rootDimension = rootDimension; Iris.info("Initializing Engine Composite for " + world.name()); @@ -115,7 +115,7 @@ public class IrisEngineCompound implements EngineCompound { for (int i = 0; i < engines.length; i++) { IrisDimensionIndex index = rootDimension.getDimensionalComposite().get(i); - LoaderDimension dimension = data.getDimensionLoader().load(index.getDimension()); + IrisDimension dimension = data.getDimensionLoader().load(index.getDimension()); // TODO: WARNING HEIGHT engines[i] = new IrisEngine(new EngineTarget(world, dimension, data.copy(), (int) Math.floor(256D * (index.getWeight() / totalWeight)), index.isInverted(), threadDist), this, i); engines[i].setMinHeight(buf); diff --git a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java index 3679ea037..1cafc2aa7 100644 --- a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java +++ b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java @@ -22,14 +22,14 @@ import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedWorldManager; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.block.IrisBlockDrops; import com.volmit.iris.engine.object.common.IRare; import com.volmit.iris.engine.object.engine.IrisEngineData; import com.volmit.iris.engine.object.engine.IrisEngineSpawnerCooldown; import com.volmit.iris.engine.object.entity.IrisEntitySpawn; -import com.volmit.iris.engine.object.regional.LoaderRegion; -import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.regional.IrisRegion; +import com.volmit.iris.engine.object.spawners.IrisSpawner; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.format.Form; @@ -165,8 +165,8 @@ public class IrisWorldManager extends EngineAssignedWorldManager { } Chunk c = cc[RNG.r.nextInt(cc.length)]; - LoaderBiome biome = getEngine().getSurfaceBiome(c); - LoaderRegion region = getEngine().getRegion(c); + IrisBiome biome = getEngine().getSurfaceBiome(c); + IrisRegion region = getEngine().getRegion(c); spawnIn(c, biome, region, maxGroups); chunkCooldowns.put(Cache.key(c), M.ms()); } @@ -179,7 +179,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { energy = M.clip(energy, 1D, 1000D); } - private void spawnIn(Chunk c, LoaderBiome biome, LoaderRegion region, int max) { + private void spawnIn(Chunk c, IrisBiome biome, IrisRegion region, int max) { for(Entity i : c.getEntities()) { if(i instanceof LivingEntity) @@ -221,7 +221,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { } } - private Stream stream(LoaderSpawner s) { + private Stream stream(IrisSpawner s) { for (IrisEntitySpawn i : s.getSpawns()) { i.setReferenceSpawner(s); } @@ -243,12 +243,12 @@ public class IrisWorldManager extends EngineAssignedWorldManager { return rarityTypes; } - public boolean canSpawn(LoaderSpawner i) { + public boolean canSpawn(IrisSpawner i) { return i.isValid(getEngine().getWorld().realWorld()) && getCooldown(i).canSpawn(i.getMaximumRate()); } - private IrisEngineSpawnerCooldown getCooldown(LoaderSpawner i) { + private IrisEngineSpawnerCooldown getCooldown(IrisSpawner i) { IrisEngineData ed = getEngine().getEngineData(); IrisEngineSpawnerCooldown cd = null; @@ -298,7 +298,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { if (e.getBlock().getWorld().equals(getTarget().getWorld().realWorld()) && getEngine().contains(e.getBlock().getLocation())) { KList d = new KList<>(); Runnable drop = () -> J.s(() -> d.forEach((i) -> e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation().clone().add(0.5, 0.5, 0.5), i))); - LoaderBiome b = getEngine().getBiome(e.getBlock().getLocation()); + IrisBiome b = getEngine().getBiome(e.getBlock().getLocation()); for (IrisBlockDrops i : b.getBlockDrops()) { if (i.shouldDropFor(e.getBlock().getBlockData(), getData())) { @@ -315,7 +315,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { } } - LoaderRegion r = getEngine().getRegion(e.getBlock().getLocation()); + IrisRegion r = getEngine().getRegion(e.getBlock().getLocation()); for (IrisBlockDrops i : r.getBlockDrops()) { if (i.shouldDropFor(e.getBlock().getBlockData(), getData())) { diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java index dc89c8d39..247689e45 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java @@ -25,7 +25,7 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.hunk.view.BiomeGridHunkView; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomeCustom; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.math.RNG; @@ -66,7 +66,7 @@ public class IrisBiomeActuator extends EngineAssignedActuator { public void onActuate(int x, int z, Hunk h, boolean multicore) { PrecisionStopwatch p = PrecisionStopwatch.start(); int zf, maxHeight; - LoaderBiome ib; + IrisBiome ib; for (int xf = 0; xf < h.getWidth(); xf++) { for (zf = 0; zf < h.getDepth(); zf++) { diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java index 8afdbc5a6..882817522 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java @@ -23,7 +23,7 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.engine.framework.EngineDecorator; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.carve.IrisCaveLayer; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.math.RNG; @@ -88,7 +88,7 @@ public class IrisDecorantActuator extends EngineAssignedActuator { PrecisionStopwatch p = PrecisionStopwatch.start(); int j, realX, realZ, height; - LoaderBiome biome, cave; + IrisBiome biome, cave; for (int i = 0; i < output.getWidth(); i++) { diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainIslandActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainIslandActuator.java index fd4a0f219..34c3cb462 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainIslandActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainIslandActuator.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.actuator; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.math.RNG; @@ -56,7 +56,7 @@ public class IrisTerrainIslandActuator extends EngineAssignedActuator public void onActuate(int x, int z, Hunk h, boolean multicore) { PrecisionStopwatch p = PrecisionStopwatch.start(); int i, zf, depth, surface, realX, realZ; - LoaderBiome biome; + IrisBiome biome; KList blocks, fblocks; int hi, lo; double hh; diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java index 04bd10051..2a371497d 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.actuator; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.documentation.BlockCoordinates; @@ -82,7 +82,7 @@ public class IrisTerrainNormalActuator extends EngineAssignedActuator @BlockCoordinates public void terrainSliver(int x, int z, int xf, Hunk h) { int i, depth, realX, realZ, hf, he, b, fdepth; - LoaderBiome biome; + IrisBiome biome; KList blocks, fblocks; for (int zf = 0; zf < h.getDepth(); zf++) { diff --git a/src/main/java/com/volmit/iris/engine/data/DataPalette.java b/src/main/java/com/volmit/iris/engine/data/DataPalette.java deleted file mode 100644 index 3fa8d1b5d..000000000 --- a/src/main/java/com/volmit/iris/engine/data/DataPalette.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.engine.data; - -import com.volmit.iris.util.collection.KList; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; - -public class DataPalette { - private final KList palette; - - public DataPalette() { - this(new KList<>(16)); - } - - public DataPalette(KList palette) { - this.palette = palette; - } - - public KList getPalette() { - return palette; - } - - public int getIndex(T t) { - int v = 0; - - synchronized (palette) { - v = palette.indexOf(t); - - if (v == -1) { - v = palette.size(); - palette.add(t); - } - } - - return v; - } - - public void write(IOAdapter adapter, DataOutputStream dos) throws IOException { - synchronized (palette) { - dos.writeShort(getPalette().size() + Short.MIN_VALUE); - - for (T t : palette) { - adapter.write(t, dos); - } - } - } - - public static DataPalette getPalette(IOAdapter adapter, DataInputStream din) throws IOException { - KList palette = new KList<>(); - int s = din.readShort() - Short.MIN_VALUE; - - for (int i = 0; i < s; i++) { - palette.add(adapter.read(din)); - } - - return new DataPalette<>(palette); - } -} diff --git a/src/main/java/com/volmit/iris/engine/data/chunk/MCATerrainChunk.java b/src/main/java/com/volmit/iris/engine/data/chunk/MCATerrainChunk.java index 32b778667..523bb88c0 100644 --- a/src/main/java/com/volmit/iris/engine/data/chunk/MCATerrainChunk.java +++ b/src/main/java/com/volmit/iris/engine/data/chunk/MCATerrainChunk.java @@ -19,8 +19,8 @@ package com.volmit.iris.engine.data.chunk; import com.volmit.iris.core.nms.BiomeBaseInjector; -import com.volmit.iris.engine.data.mca.Chunk; -import com.volmit.iris.engine.data.mca.NBTWorld; +import com.volmit.iris.util.nbt.mca.Chunk; +import com.volmit.iris.util.nbt.mca.NBTWorld; import lombok.AllArgsConstructor; import lombok.Builder; import org.bukkit.Material; diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisCeilingDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisCeilingDecorator.java index 411ce3293..b48091d65 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisCeilingDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisCeilingDecorator.java @@ -22,7 +22,7 @@ import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.engine.object.decoration.IrisDecorationPart; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; @@ -34,7 +34,7 @@ public class IrisCeilingDecorator extends IrisEngineDecorator { @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { IrisDecorator decorator = getDecorator(biome, realX, realZ); if (decorator != null) { diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisEngineDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisEngineDecorator.java index 3cf62d76b..e50399c5e 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisEngineDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisEngineDecorator.java @@ -24,7 +24,7 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedComponent; import com.volmit.iris.engine.framework.EngineDecorator; import com.volmit.iris.engine.object.decoration.IrisDecorationPart; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; @@ -44,7 +44,7 @@ public abstract class IrisEngineDecorator extends EngineAssignedComponent implem this.rng = new RNG(getSeed() + 29356788 - (part.ordinal() * 10439677L)); } - protected IrisDecorator getDecorator(LoaderBiome biome, double realX, double realZ) { + protected IrisDecorator getDecorator(IrisBiome biome, double realX, double realZ) { KList v = new KList<>(); RNG rng = new RNG(Cache.key((int) realX, (int) realZ)); diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisSeaFloorDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisSeaFloorDecorator.java index 1e32d15f9..70454d5cd 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisSeaFloorDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisSeaFloorDecorator.java @@ -22,7 +22,7 @@ import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.engine.object.decoration.IrisDecorationPart; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; @@ -34,7 +34,7 @@ public class IrisSeaFloorDecorator extends IrisEngineDecorator { @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { IrisDecorator decorator = getDecorator(biome, realX, realZ); if (decorator != null) { diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisSeaSurfaceDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisSeaSurfaceDecorator.java index ae6e03098..b3d34103d 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisSeaSurfaceDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisSeaSurfaceDecorator.java @@ -22,7 +22,7 @@ import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.engine.object.decoration.IrisDecorationPart; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; @@ -34,7 +34,7 @@ public class IrisSeaSurfaceDecorator extends IrisEngineDecorator { @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { IrisDecorator decorator = getDecorator(biome, realX, realZ); if (decorator != null) { diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisShoreLineDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisShoreLineDecorator.java index 54961aee6..20ac71ba7 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisShoreLineDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisShoreLineDecorator.java @@ -22,7 +22,7 @@ import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.engine.object.decoration.IrisDecorationPart; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; @@ -34,7 +34,7 @@ public class IrisShoreLineDecorator extends IrisEngineDecorator { @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { if (height == getDimension().getFluidHeight()) { if (Math.round(getComplex().getHeightStream().get(realX1, realZ)) < getComplex().getFluidHeight() || diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisSurfaceDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisSurfaceDecorator.java index c32cd7fc3..b02669ca7 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisSurfaceDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisSurfaceDecorator.java @@ -24,7 +24,7 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.engine.object.decoration.IrisDecorationPart; import com.volmit.iris.engine.object.biome.InferredType; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.Bisected; @@ -37,7 +37,7 @@ public class IrisSurfaceDecorator extends IrisEngineDecorator { @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { if (biome.getInferredType().equals(InferredType.SHORE) && height < getDimension().getFluidHeight()) { return; } diff --git a/src/main/java/com/volmit/iris/engine/framework/Engine.java b/src/main/java/com/volmit/iris/engine/framework/Engine.java index 18cea67c0..b953cce82 100644 --- a/src/main/java/com/volmit/iris/engine/framework/Engine.java +++ b/src/main/java/com/volmit/iris/engine/framework/Engine.java @@ -23,16 +23,16 @@ import com.volmit.iris.core.gui.components.RenderType; import com.volmit.iris.core.gui.components.Renderer; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.Cache; -import com.volmit.iris.engine.data.B; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.B; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.engine.object.basic.IrisColor; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.object.loot.IrisLootReference; -import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.loot.IrisLootTable; import com.volmit.iris.engine.object.loot.IrisLootMode; import com.volmit.iris.engine.object.meta.InventorySlotType; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.engine.object.engine.IrisEngineData; @@ -132,7 +132,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro return getTarget().getWorld(); } - default LoaderDimension getDimension() { + default IrisDimension getDimension() { return getTarget().getDimension(); } @@ -142,8 +142,8 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro @BlockCoordinates default Color draw(double x, double z) { - LoaderRegion region = getRegion((int) x, (int) z); - LoaderBiome biome = getSurfaceBiome((int) x, (int) z); + IrisRegion region = getRegion((int) x, (int) z); + IrisBiome biome = getSurfaceBiome((int) x, (int) z); int height = getHeight((int) x, (int) z); double heightFactor = M.lerpInverse(0, getHeight(), height); Color irc = region.getColor(this.getFramework().getComplex(), RenderType.BIOME); @@ -157,7 +157,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro @BlockCoordinates @Override - default LoaderRegion getRegion(int x, int z) { + default IrisRegion getRegion(int x, int z) { return getFramework().getComplex().getRegionStream().get(x, z); } @@ -168,13 +168,13 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro @BlockCoordinates @Override - default LoaderBiome getCaveBiome(int x, int z) { + default IrisBiome getCaveBiome(int x, int z) { return getFramework().getComplex().getCaveBiomeStream().get(x, z); } @BlockCoordinates @Override - default LoaderBiome getSurfaceBiome(int x, int z) { + default IrisBiome getSurfaceBiome(int x, int z) { return getFramework().getComplex().getTrueBiomeStream().get(x, z); } @@ -262,7 +262,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro } if (slot != null) { - KList tables = getLootTables(rx, block); + KList tables = getLootTables(rx, block); try { InventoryHolder m = (InventoryHolder) block.getState(); @@ -315,7 +315,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro } @Override - default void injectTables(KList list, IrisLootReference r) { + default void injectTables(KList list, IrisLootReference r) { if (r.getMode().equals(IrisLootMode.CLEAR) || r.getMode().equals(IrisLootMode.REPLACE)) { list.clear(); } @@ -325,7 +325,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro @BlockCoordinates @Override - default KList getLootTables(RNG rng, Block b) { + default KList getLootTables(RNG rng, Block b) { int rx = b.getX(); int rz = b.getZ(); double he = getFramework().getComplex().getHeightStream().get(rx, rz); @@ -333,16 +333,16 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro if (po != null && po.getPlacement() != null) { if (B.isStorageChest(b.getBlockData())) { - LoaderLootTable table = po.getPlacement().getTable(b.getBlockData(), getData()); + IrisLootTable table = po.getPlacement().getTable(b.getBlockData(), getData()); if (table != null) { return new KList<>(table); } } } - LoaderRegion region = getFramework().getComplex().getRegionStream().get(rx, rz); - LoaderBiome biomeSurface = getFramework().getComplex().getTrueBiomeStream().get(rx, rz); - LoaderBiome biomeUnder = b.getY() < he ? getFramework().getComplex().getCaveBiomeStream().get(rx, rz) : biomeSurface; - KList tables = new KList<>(); + IrisRegion region = getFramework().getComplex().getRegionStream().get(rx, rz); + IrisBiome biomeSurface = getFramework().getComplex().getTrueBiomeStream().get(rx, rz); + IrisBiome biomeUnder = b.getY() < he ? getFramework().getComplex().getCaveBiomeStream().get(rx, rz) : biomeSurface; + KList tables = new KList<>(); double multiplier = 1D * getDimension().getLoot().getMultiplier() * region.getLoot().getMultiplier() * biomeSurface.getLoot().getMultiplier() * biomeUnder.getLoot().getMultiplier(); injectTables(tables, getDimension().getLoot()); injectTables(tables, region.getLoot()); @@ -365,11 +365,11 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro } @Override - default void addItems(boolean debug, Inventory inv, RNG rng, KList tables, InventorySlotType slot, int x, int y, int z, int mgf) { + default void addItems(boolean debug, Inventory inv, RNG rng, KList tables, InventorySlotType slot, int x, int y, int z, int mgf) { KList items = new KList<>(); int b = 4; - for (LoaderLootTable i : tables) { + for (IrisLootTable i : tables) { b++; items.addAll(i.getLoot(debug, items.isEmpty(), rng, slot, x, y, z, b + b, mgf + b)); } @@ -402,12 +402,12 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro } @BlockCoordinates - default LoaderBiome getBiome(Location l) { + default IrisBiome getBiome(Location l) { return getBiome(l.getBlockX(), l.getBlockY(), l.getBlockZ()); } @BlockCoordinates - default LoaderRegion getRegion(Location l) { + default IrisRegion getRegion(Location l) { return getRegion(l.getBlockX(), l.getBlockZ()); } @@ -416,15 +416,15 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro return l.getBlockY() >= getMinHeight() && l.getBlockY() <= getMaxHeight(); } - LoaderBiome getFocus(); + IrisBiome getFocus(); IrisEngineData getEngineData(); - default LoaderBiome getSurfaceBiome(Chunk c) { + default IrisBiome getSurfaceBiome(Chunk c) { return getSurfaceBiome((c.getX() << 4) + 8, (c.getZ() << 4) + 8); } - default LoaderRegion getRegion(Chunk c) { + default IrisRegion getRegion(Chunk c) { return getRegion((c.getX() << 4) + 8, (c.getZ() << 4) + 8); } } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineComponent.java b/src/main/java/com/volmit/iris/engine/framework/EngineComponent.java index 8cd985af1..be73f0c4f 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineComponent.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineComponent.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.IrisComplex; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.parallax.ParallaxAccess; import com.volmit.iris.util.math.RollingSequence; import org.bukkit.event.Listener; @@ -64,7 +64,7 @@ public interface EngineComponent { return getEngine().getTarget(); } - default LoaderDimension getDimension() { + default IrisDimension getDimension() { return getEngine().getDimension(); } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineCompositeGenerator.java b/src/main/java/com/volmit/iris/engine/framework/EngineCompositeGenerator.java index 10c996f2c..b9da63fa9 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineCompositeGenerator.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineCompositeGenerator.java @@ -25,15 +25,15 @@ import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.pregenerator.PregenTask; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.IrisEngineCompound; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.data.chunk.MCATerrainChunk; import com.volmit.iris.engine.data.chunk.TerrainChunk; -import com.volmit.iris.engine.data.mca.NBTWorld; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.mca.NBTWorld; +import com.volmit.iris.util.nbt.tag.CompoundTag; import com.volmit.iris.engine.framework.headless.HeadlessGenerator; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.parallel.BurstExecutor; @@ -202,11 +202,11 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce return false; } - private synchronized LoaderDimension getDimension(IrisWorld world) { + private synchronized IrisDimension getDimension(IrisWorld world) { String query = dimensionQuery; query = Iris.linkMultiverseCore.getWorldNameType(world.name(), query); - LoaderDimension dim = null; + IrisDimension dim = null; if (query == null) { File iris = new File(world.worldFolder(), "iris"); @@ -253,7 +253,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce } if (production) { - LoaderDimension od = dim; + IrisDimension od = dim; dim = new IrisData(getDataFolder(world)).getDimensionLoader().load(od.getLoadKey()); if (dim == null) { @@ -270,9 +270,9 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce return dim; } - private synchronized LoaderDimension getDimension(String world) { + private synchronized IrisDimension getDimension(String world) { String query = dimensionQuery; - LoaderDimension dim = null; + IrisDimension dim = null; if (query == null) { File iris = new File(world + "/iris"); @@ -319,7 +319,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce } if (production) { - LoaderDimension od = dim; + IrisDimension od = dim; dim = new IrisData(getDataFolder(world)).getDimensionLoader().load(od.getLoadKey()); if (dim == null) { @@ -345,7 +345,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce try { initialized.set(true); - LoaderDimension dim = getDimension(world); + IrisDimension dim = getDimension(world); IrisData data = production ? new IrisData(getDataFolder(world)) : dim.getLoader().copy(); compound.set(new IrisEngineCompound(world, dim, data, IrisSettings.getThreadCount(IrisSettings.get().getConcurrency().getEngineThreadCount()))); compound.get().setStudio(!production); @@ -572,7 +572,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce try { int ox = x << 4; int oz = z << 4; - com.volmit.iris.engine.data.mca.Chunk chunk = writer.getChunk(x, z); + com.volmit.iris.util.nbt.mca.Chunk chunk = writer.getChunk(x, z); generateChunkRawData(w, x, z, MCATerrainChunk.builder() .writer(writer).ox(ox).oz(oz).mcaChunk(chunk) .minHeight(w.minHeight()).maxHeight(w.maxHeight()) @@ -584,7 +584,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce e.printStackTrace(); Iris.reportErrorChunk(x, z, e, "MCA"); Iris.error("======================================"); - com.volmit.iris.engine.data.mca.Chunk chunk = writer.getChunk(x, z); + com.volmit.iris.util.nbt.mca.Chunk chunk = writer.getChunk(x, z); CompoundTag c = NBTWorld.getCompound(ERROR_BLOCK); for (int i = 0; i < 16; i++) { for (int j = 0; j < 16; j++) { @@ -673,12 +673,12 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce } @Override - public LoaderBiome getBiome(int x, int z) { + public IrisBiome getBiome(int x, int z) { return getBiome(x, 0, z); } @Override - public LoaderBiome getCaveBiome(int x, int z) { + public IrisBiome getCaveBiome(int x, int z) { return getCaveBiome(x, 0, z); } @@ -693,13 +693,13 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce } @Override - public LoaderBiome getBiome(int x, int y, int z) { + public IrisBiome getBiome(int x, int y, int z) { // TODO: REMOVE GET ABS BIOME OR THIS ONE return getEngineAccess(y).getBiome(x, y - getComposite().getEngineForHeight(y).getMinHeight(), z); } @Override - public LoaderBiome getCaveBiome(int x, int y, int z) { + public IrisBiome getCaveBiome(int x, int y, int z) { return getEngineAccess(y).getCaveBiome(x, z); } @@ -792,12 +792,12 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce return false; } - public KList getAllBiomes(String worldName) { + public KList getAllBiomes(String worldName) { if (getComposite() != null) { return getComposite().getAllBiomes(); } else { - KMap v = new KMap<>(); - LoaderDimension dim = getDimension(worldName); + KMap v = new KMap<>(); + IrisDimension dim = getDimension(worldName); dim.getAllAnyBiomes().forEach((i) -> v.put(i.getLoadKey(), i)); try { diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineCompound.java b/src/main/java/com/volmit/iris/engine/framework/EngineCompound.java index 7b5e3b42f..b97c6d25c 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineCompound.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineCompound.java @@ -21,10 +21,10 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.actuator.IrisTerrainNormalActuator; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.parallel.MultiBurst; @@ -39,7 +39,7 @@ import org.bukkit.generator.BlockPopulator; import java.util.List; public interface EngineCompound extends Listener, Hotloadable, DataProvider { - LoaderDimension getRootDimension(); + IrisDimension getRootDimension(); void generate(int x, int z, Hunk blocks, Hunk postblocks, Hunk biomes, boolean multicore); @@ -133,10 +133,10 @@ public interface EngineCompound extends Listener, Hotloadable, DataProvider { Engine getDefaultEngine(); - default KList getAllBiomes() { - KMap v = new KMap<>(); + default KList getAllBiomes() { + KMap v = new KMap<>(); - LoaderDimension dim = getRootDimension(); + IrisDimension dim = getRootDimension(); dim.getAllBiomes(this).forEach((i) -> v.put(i.getLoadKey(), i)); try { diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java b/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java index 8c6d22e80..72bc16138 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java @@ -18,19 +18,19 @@ package com.volmit.iris.engine.framework; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; public interface EngineDecorator extends EngineComponent { @BlockCoordinates - void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max); + void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max); @BlockCoordinates - default void decorate(int x, int z, int realX, int realZ, Hunk data, LoaderBiome biome, int height, int max) { + default void decorate(int x, int z, int realX, int realZ, Hunk data, IrisBiome biome, int height, int max) { decorate(x, z, realX, realX, realX, realZ, realZ, realZ, data, biome, height, max); } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineFramework.java b/src/main/java/com/volmit/iris/engine/framework/EngineFramework.java index 844d7c1ae..bf3b7c6e8 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineFramework.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineFramework.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.IrisComplex; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.DataProvider; import org.bukkit.block.Biome; import org.bukkit.block.data.BlockData; diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java b/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java index 338b1ac72..fc18fd7ed 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java @@ -22,21 +22,21 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.IrisComplex; import com.volmit.iris.engine.data.cache.Cache; -import com.volmit.iris.engine.data.B; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.B; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.engine.object.basic.IrisPosition; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomeMutation; import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; import com.volmit.iris.engine.object.feature.IrisFeature; import com.volmit.iris.engine.object.feature.IrisFeaturePositional; import com.volmit.iris.engine.object.feature.IrisFeaturePotential; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructure; import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructurePlacement; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.engine.object.objects.IrisObjectScale; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.engine.jigsaw.PlannedStructure; import com.volmit.iris.engine.object.common.IObjectPlacer; @@ -90,8 +90,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return getEngine().getFramework().getComplex(); } - default KList getAllRegions() { - KList r = new KList<>(); + default KList getAllRegions() { + KList r = new KList<>(); for (String i : getEngine().getDimension().getRegions()) { r.add(getEngine().getData().getRegionLoader().load(i)); @@ -108,10 +108,10 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return r; } - default KList getAllBiomes() { - KList r = new KList<>(); + default KList getAllBiomes() { + KList r = new KList<>(); - for (LoaderRegion i : getAllRegions()) { + for (IrisRegion i : getAllRegions()) { r.addAll(i.getAllBiomes(this)); } @@ -299,8 +299,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { getParallaxAccess().setFeatureGenerated(xx, zz); burst.queue(() -> { RNG rng = new RNG(Cache.key(xx, zz) + getEngine().getTarget().getWorld().seed()); - LoaderRegion region = getComplex().getRegionStream().get(xxx, zzz); - LoaderBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xxx, zzz); + IrisRegion region = getComplex().getRegionStream().get(xxx, zzz); + IrisBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xxx, zzz); generateParallaxFeatures(rng, xx, zz, region, biome); }); } @@ -361,8 +361,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { int xx = x << 4; int zz = z << 4; RNG rng = new RNG(Cache.key(x, z)).nextParallelRNG(getEngine().getTarget().getWorld().seed()); - LoaderRegion region = getComplex().getRegionStream().get(xx + 8, zz + 8); - LoaderBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xx + 8, zz + 8); + IrisRegion region = getComplex().getRegionStream().get(xx + 8, zz + 8); + IrisBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xx + 8, zz + 8); after.addAll(generateParallaxJigsaw(rng, x, z, biome, region)); generateParallaxSurface(rng, x, z, biome, region, true); generateParallaxMutations(rng, x, z, true); @@ -380,14 +380,14 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { int zz = z << 4; getParallaxAccess().setParallaxGenerated(x, z); RNG rng = new RNG(Cache.key(x, z)).nextParallelRNG(getEngine().getTarget().getWorld().seed()); - LoaderBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xx + 8, zz + 8); - LoaderRegion region = getComplex().getRegionStream().get(xx + 8, zz + 8); + IrisBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xx + 8, zz + 8); + IrisRegion region = getComplex().getRegionStream().get(xx + 8, zz + 8); generateParallaxSurface(rng, x, z, biome, region, false); generateParallaxMutations(rng, x, z, false); } @ChunkCoordinates - default void generateParallaxFeatures(RNG rng, int cx, int cz, LoaderRegion region, LoaderBiome biome) { + default void generateParallaxFeatures(RNG rng, int cx, int cz, IrisRegion region, IrisBiome biome) { for (IrisFeaturePotential i : getEngine().getDimension().getFeatures()) { placeZone(rng, cx, cz, i); } @@ -415,7 +415,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { generateParallaxLayer(x, z, false); } - default KList placeStructure(IrisPosition position, LoaderJigsawStructure structure, RNG rng) { + default KList placeStructure(IrisPosition position, IrisJigsawStructure structure, RNG rng) { KList placeAfter = new KList<>(); if (structure == null) { @@ -435,7 +435,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return placeAfter; } - default KList generateParallaxJigsaw(RNG rng, int x, int z, LoaderBiome biome, LoaderRegion region) { + default KList generateParallaxJigsaw(RNG rng, int x, int z, IrisBiome biome, IrisRegion region) { KList placeAfter = new KList<>(); if (getEngine().getDimension().isPlaceObjects()) { @@ -447,7 +447,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { if (poss != null) { for (Position2 pos : poss) { if (x == pos.getX() >> 4 && z == pos.getZ() >> 4) { - LoaderJigsawStructure structure = getData().getJigsawStructureLoader().load(getEngine().getDimension().getStronghold()); + IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(getEngine().getDimension().getStronghold()); placeAfter.addAll(placeStructure(pos.toIris(), structure, rng)); placed = true; } @@ -459,7 +459,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { for (IrisJigsawStructurePlacement i : biome.getJigsawStructures()) { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); - LoaderJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); + IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); placeAfter.addAll(placeStructure(position, structure, rng)); placed = true; } @@ -470,7 +470,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { for (IrisJigsawStructurePlacement i : region.getJigsawStructures()) { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); - LoaderJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); + IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); placeAfter.addAll(placeStructure(position, structure, rng)); placed = true; } @@ -481,7 +481,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { for (IrisJigsawStructurePlacement i : getEngine().getDimension().getJigsawStructures()) { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); - LoaderJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); + IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); placeAfter.addAll(placeStructure(position, structure, rng)); placed = true; } @@ -492,7 +492,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return placeAfter; } - default void generateParallaxSurface(RNG rng, int x, int z, LoaderBiome biome, LoaderRegion region, boolean useFeatures) { + default void generateParallaxSurface(RNG rng, int x, int z, IrisBiome biome, IrisRegion region, boolean useFeatures) { for (IrisObjectPlacement i : biome.getSurfaceObjects()) { if (i.usesFeatures() != useFeatures) { @@ -539,8 +539,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { searching: for (IrisBiomeMutation k : getEngine().getDimension().getMutations()) { for (int l = 0; l < k.getChecks(); l++) { - LoaderBiome sa = getComplex().getTrueBiomeStreamNoFeatures().get(((x * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius()), ((z * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius())); - LoaderBiome sb = getComplex().getTrueBiomeStreamNoFeatures().get(((x * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius()), ((z * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius())); + IrisBiome sa = getComplex().getTrueBiomeStreamNoFeatures().get(((x * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius()), ((z * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius())); + IrisBiome sb = getComplex().getTrueBiomeStreamNoFeatures().get(((x * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius()), ((z * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius())); if (sa.getLoadKey().equals(sb.getLoadKey())) { continue; @@ -565,7 +565,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { place(rng, x, -1, z, objectPlacement); } - default void placePiece(RNG rng, int xx, int forceY, int zz, LoaderObject v, IrisObjectPlacement p) { + default void placePiece(RNG rng, int xx, int forceY, int zz, IrisObject v, IrisObjectPlacement p) { int id = rng.i(0, Integer.MAX_VALUE); int maxf = 10000; AtomicBoolean pl = new AtomicBoolean(false); @@ -612,7 +612,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { default void place(RNG rng, int x, int forceY, int z, IrisObjectPlacement objectPlacement) { placing: for (int i = 0; i < objectPlacement.getDensity(); i++) { - LoaderObject v = objectPlacement.getScale().get(rng, objectPlacement.getObject(getComplex(), rng)); + IrisObject v = objectPlacement.getScale().get(rng, objectPlacement.getObject(getComplex(), rng)); if (v == null) { return; } @@ -656,7 +656,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } } - default void updateParallaxChunkObjectData(int minY, int maxY, int x, int z, LoaderObject v) { + default void updateParallaxChunkObjectData(int minY, int maxY, int x, int z, IrisObject v) { ParallaxChunkMeta meta = getParallaxAccess().getMetaRW(x >> 4, z >> 4); meta.setObjects(true); meta.setMaxObject(Math.max(maxY, meta.getMaxObject())); @@ -676,10 +676,10 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { int z = zg.get(); if (getEngine().getDimension().isPlaceObjects()) { - KList r = getAllRegions(); - KList b = getAllBiomes(); + KList r = getAllRegions(); + KList b = getAllBiomes(); - for (LoaderBiome i : b) { + for (IrisBiome i : b) { for (IrisObjectPlacement j : i.getObjects()) { if (j.getScale().canScaleBeyond()) { scalars.put(j.getScale(), j.getPlace()); @@ -693,7 +693,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } } - for (LoaderRegion i : r) { + for (IrisRegion i : r) { for (IrisObjectPlacement j : i.getObjects()) { if (j.getScale().canScaleBeyond()) { scalars.put(j.getScale(), j.getPlace()); @@ -733,7 +733,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } try { - return LoaderObject.sampleSize(getData().getObjectLoader().findFile(i)); + return IrisObject.sampleSize(getData().getObjectLoader().findFile(i)); } catch (IOException ex) { Iris.reportError(ex); ex.printStackTrace(); @@ -773,7 +773,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } try { - return LoaderObject.sampleSize(getData().getObjectLoader().findFile(j)); + return IrisObject.sampleSize(getData().getObjectLoader().findFile(j)); } catch (IOException ioException) { Iris.reportError(ioException); ioException.printStackTrace(); @@ -814,7 +814,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { z = Math.max(max, z); } - for (LoaderRegion v : r) { + for (IrisRegion v : r) { for (IrisDepositGenerator i : v.getDeposits()) { int max = i.getMaxDimension(); x = Math.max(max, x); @@ -822,7 +822,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } } - for (LoaderBiome v : b) { + for (IrisBiome v : b) { for (IrisDepositGenerator i : v.getDeposits()) { int max = i.getMaxDimension(); x = Math.max(max, x); diff --git a/src/main/java/com/volmit/iris/engine/framework/EnginePlayer.java b/src/main/java/com/volmit/iris/engine/framework/EnginePlayer.java index a2d587405..51202453b 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EnginePlayer.java +++ b/src/main/java/com/volmit/iris/engine/framework/EnginePlayer.java @@ -19,9 +19,9 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.meta.IrisEffect; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.util.math.M; import com.volmit.iris.util.scheduling.J; import lombok.Data; @@ -32,8 +32,8 @@ import org.bukkit.entity.Player; public class EnginePlayer { private final Engine engine; private final Player player; - private LoaderBiome biome; - private LoaderRegion region; + private IrisBiome biome; + private IrisRegion region; private Location lastLocation; private long lastSample; diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java b/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java index b2cdfbadd..4679b675b 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.engine.parallax.ParallaxWorld; import com.volmit.iris.util.parallel.MultiBurst; @@ -32,14 +32,14 @@ import java.io.File; public class EngineTarget { private final MultiBurst parallaxBurster; private final MultiBurst burster; - private final LoaderDimension dimension; + private final IrisDimension dimension; private IrisWorld world; private final int height; private final IrisData data; private final ParallaxWorld parallaxWorld; private final boolean inverted; - public EngineTarget(IrisWorld world, LoaderDimension dimension, IrisData data, int height, boolean inverted, int threads) { + public EngineTarget(IrisWorld world, IrisDimension dimension, IrisData data, int height, boolean inverted, int threads) { this.world = world; this.height = height; this.dimension = dimension; @@ -50,7 +50,7 @@ public class EngineTarget { this.parallaxWorld = new ParallaxWorld(parallaxBurster, 256, new File(world.worldFolder(), "iris/" + dimension.getLoadKey() + "/parallax")); } - public EngineTarget(IrisWorld world, LoaderDimension dimension, IrisData data, int height, int threads) { + public EngineTarget(IrisWorld world, IrisDimension dimension, IrisData data, int height, int threads) { this(world, dimension, data, height, false, threads); } diff --git a/src/main/java/com/volmit/iris/engine/framework/GeneratorAccess.java b/src/main/java/com/volmit/iris/engine/framework/GeneratorAccess.java index d85a2c6c6..aae2befcb 100644 --- a/src/main/java/com/volmit/iris/engine/framework/GeneratorAccess.java +++ b/src/main/java/com/volmit/iris/engine/framework/GeneratorAccess.java @@ -20,26 +20,26 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.core.gui.components.Renderer; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.data.DataProvider; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.util.data.DataProvider; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.engine.parallax.ParallaxAccess; public interface GeneratorAccess extends DataProvider, Renderer { - LoaderRegion getRegion(int x, int z); + IrisRegion getRegion(int x, int z); ParallaxAccess getParallaxAccess(); IrisData getData(); - LoaderBiome getCaveBiome(int x, int z); + IrisBiome getCaveBiome(int x, int z); - LoaderBiome getSurfaceBiome(int x, int z); + IrisBiome getSurfaceBiome(int x, int z); int getHeight(int x, int z); - default LoaderBiome getBiome(int x, int y, int z) { + default IrisBiome getBiome(int x, int y, int z) { if (y <= getHeight(x, z) - 2) { return getCaveBiome(x, z); } @@ -57,7 +57,7 @@ public interface GeneratorAccess extends DataProvider, Renderer { String[] v = objectAt.split("\\Q@\\E"); String object = v[0]; int id = Integer.parseInt(v[1]); - LoaderRegion region = getRegion(x, z); + IrisRegion region = getRegion(x, z); for (IrisObjectPlacement i : region.getObjects()) { if (i.getPlace().contains(object)) { @@ -65,7 +65,7 @@ public interface GeneratorAccess extends DataProvider, Renderer { } } - LoaderBiome biome = getBiome(x, y, z); + IrisBiome biome = getBiome(x, y, z); for (IrisObjectPlacement i : biome.getObjects()) { if (i.getPlace().contains(object)) { diff --git a/src/main/java/com/volmit/iris/engine/framework/IrisAccess.java b/src/main/java/com/volmit/iris/engine/framework/IrisAccess.java index 8998f92c5..caf624a54 100644 --- a/src/main/java/com/volmit/iris/engine/framework/IrisAccess.java +++ b/src/main/java/com/volmit/iris/engine/framework/IrisAccess.java @@ -21,11 +21,11 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.Iris; import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.data.DataProvider; -import com.volmit.iris.engine.data.mca.NBTWorld; +import com.volmit.iris.util.data.DataProvider; +import com.volmit.iris.util.nbt.mca.NBTWorld; import com.volmit.iris.engine.framework.headless.HeadlessGenerator; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; @@ -71,29 +71,29 @@ public interface IrisAccess extends Hotloadable, DataProvider { * @param l the location * @return the biome */ - default LoaderBiome getBiome(Location l) { + default IrisBiome getBiome(Location l) { return getBiome(l.toVector()); } - default LoaderRegion getRegion(int x, int y, int z) { + default IrisRegion getRegion(int x, int y, int z) { return getEngineAccess(y).getRegion(x, z); } - default LoaderRegion getRegion(Location l) { + default IrisRegion getRegion(Location l) { return getRegion(l.getBlockX(), l.getBlockY(), l.getBlockZ()); } - default LoaderBiome getBiome(Vector l) { + default IrisBiome getBiome(Vector l) { return getBiome(l.getBlockX(), l.getBlockY(), l.getBlockZ()); } - LoaderBiome getBiome(int x, int y, int z); + IrisBiome getBiome(int x, int y, int z); - LoaderBiome getCaveBiome(int x, int y, int z); + IrisBiome getCaveBiome(int x, int y, int z); - LoaderBiome getBiome(int x, int z); + IrisBiome getBiome(int x, int z); - LoaderBiome getCaveBiome(int x, int z); + IrisBiome getCaveBiome(int x, int z); GeneratorAccess getEngineAccess(int y); @@ -117,7 +117,7 @@ public interface IrisAccess extends Hotloadable, DataProvider { boolean isStudio(); - default Location lookForBiome(LoaderBiome biome, long timeout, Consumer triesc) { + default Location lookForBiome(IrisBiome biome, long timeout, Consumer triesc) { if (!getCompound().getWorld().hasRealWorld()) { Iris.error("Cannot GOTO without a bound world (headless mode)"); return null; @@ -146,7 +146,7 @@ public interface IrisAccess extends Hotloadable, DataProvider { J.a(() -> { try { Engine e; - LoaderBiome b; + IrisBiome b; int x, z; while (!found.get() && running.get()) { @@ -198,7 +198,7 @@ public interface IrisAccess extends Hotloadable, DataProvider { return location.get(); } - default Location lookForRegion(LoaderRegion reg, long timeout, Consumer triesc) { + default Location lookForRegion(IrisRegion reg, long timeout, Consumer triesc) { if (!getCompound().getWorld().hasRealWorld()) { Iris.error("Cannot GOTO without a bound world (headless mode)"); return null; @@ -227,7 +227,7 @@ public interface IrisAccess extends Hotloadable, DataProvider { for (int i = 0; i < cpus; i++) { J.a(() -> { Engine e; - LoaderRegion b; + IrisRegion b; int x, z; while (!found.get() && running.get()) { diff --git a/src/main/java/com/volmit/iris/engine/framework/LootProvider.java b/src/main/java/com/volmit/iris/engine/framework/LootProvider.java index 35115b18b..1244a3264 100644 --- a/src/main/java/com/volmit/iris/engine/framework/LootProvider.java +++ b/src/main/java/com/volmit/iris/engine/framework/LootProvider.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.engine.object.meta.InventorySlotType; import com.volmit.iris.engine.object.loot.IrisLootReference; -import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.loot.IrisLootTable; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; import org.bukkit.block.Block; @@ -29,9 +29,9 @@ import org.bukkit.inventory.Inventory; public interface LootProvider { void scramble(Inventory inventory, RNG rng); - void injectTables(KList list, IrisLootReference r); + void injectTables(KList list, IrisLootReference r); - KList getLootTables(RNG rng, Block b); + KList getLootTables(RNG rng, Block b); - void addItems(boolean debug, Inventory inv, RNG rng, KList tables, InventorySlotType slot, int x, int y, int z, int mgf); + void addItems(boolean debug, Inventory inv, RNG rng, KList tables, InventorySlotType slot, int x, int y, int z, int mgf); } diff --git a/src/main/java/com/volmit/iris/engine/framework/PlacedObject.java b/src/main/java/com/volmit/iris/engine/framework/PlacedObject.java index 29c2395e1..b6c691c3d 100644 --- a/src/main/java/com/volmit/iris/engine/framework/PlacedObject.java +++ b/src/main/java/com/volmit/iris/engine/framework/PlacedObject.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.framework; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import lombok.AllArgsConstructor; import lombok.Data; @@ -31,7 +31,7 @@ public class PlacedObject { @Nullable private IrisObjectPlacement placement; @Nullable - private LoaderObject object; + private IrisObject object; private int id; private int xx; private int zz; diff --git a/src/main/java/com/volmit/iris/engine/framework/PregeneratedData.java b/src/main/java/com/volmit/iris/engine/framework/PregeneratedData.java index 58ececa38..4f6c7e5ce 100644 --- a/src/main/java/com/volmit/iris/engine/framework/PregeneratedData.java +++ b/src/main/java/com/volmit/iris/engine/framework/PregeneratedData.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.framework; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.data.chunk.TerrainChunk; import com.volmit.iris.util.hunk.Hunk; import lombok.Data; diff --git a/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessGenerator.java b/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessGenerator.java index cca35bae5..6ae42195c 100644 --- a/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessGenerator.java +++ b/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessGenerator.java @@ -20,8 +20,8 @@ package com.volmit.iris.engine.framework.headless; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.pregenerator.PregenListener; -import com.volmit.iris.engine.data.mca.MCAUtil; -import com.volmit.iris.engine.data.mca.NBTWorld; +import com.volmit.iris.util.nbt.mca.MCAUtil; +import com.volmit.iris.util.nbt.mca.NBTWorld; import com.volmit.iris.engine.framework.EngineCompositeGenerator; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; diff --git a/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessWorld.java b/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessWorld.java index 156df1c3d..9228ac9ba 100644 --- a/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessWorld.java +++ b/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessWorld.java @@ -22,7 +22,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.EngineCompositeGenerator; -import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.plugin.VolmitSender; import lombok.Data; @@ -35,16 +35,16 @@ import java.io.File; @Data @SuppressWarnings("ResultOfMethodCallIgnored") public class HeadlessWorld { - private final LoaderDimension dimension; + private final IrisDimension dimension; private final String worldName; private final IrisWorld world; private boolean studio = false; - public HeadlessWorld(String worldName, LoaderDimension dimension, long seed) { + public HeadlessWorld(String worldName, IrisDimension dimension, long seed) { this(worldName, dimension, seed, false); } - public HeadlessWorld(String worldName, LoaderDimension dimension, long seed, boolean studio) { + public HeadlessWorld(String worldName, IrisDimension dimension, long seed, boolean studio) { this.worldName = worldName; this.dimension = dimension; this.studio = studio; diff --git a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java index 341d28dea..6eb18a61c 100644 --- a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java +++ b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java @@ -24,11 +24,11 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.common.IObjectPlacer; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPiece; import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; -import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.loot.IrisLootTable; import com.volmit.iris.engine.object.meta.InventorySlotType; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectRotation; import com.volmit.iris.engine.object.tile.TileData; import com.volmit.iris.util.collection.KList; @@ -49,9 +49,9 @@ import org.bukkit.util.BlockVector; @Data public class PlannedPiece { private IrisPosition position; - private LoaderObject object; - private LoaderObject ogObject; - private LoaderJigsawPiece piece; + private IrisObject object; + private IrisObject ogObject; + private IrisJigsawPiece piece; private IrisObjectRotation rotation; private IrisData data; private KList connected; @@ -59,15 +59,15 @@ public class PlannedPiece { private AxisAlignedBB box; private PlannedStructure structure; - public PlannedPiece(PlannedStructure structure, IrisPosition position, LoaderJigsawPiece piece) { + public PlannedPiece(PlannedStructure structure, IrisPosition position, IrisJigsawPiece piece) { this(structure, position, piece, 0, 0, 0); } - public PlannedPiece(PlannedStructure structure, IrisPosition position, LoaderJigsawPiece piece, int rx, int ry, int rz) { + public PlannedPiece(PlannedStructure structure, IrisPosition position, IrisJigsawPiece piece, int rx, int ry, int rz) { this(structure, position, piece, IrisObjectRotation.of(rx * 90D, ry * 90D, rz * 90D)); } - public PlannedPiece(PlannedStructure structure, IrisPosition position, LoaderJigsawPiece piece, IrisObjectRotation rot) { + public PlannedPiece(PlannedStructure structure, IrisPosition position, IrisJigsawPiece piece, IrisObjectRotation rot) { this.structure = structure; this.position = position; this.data = piece.getLoader(); @@ -187,7 +187,7 @@ public class PlannedPiece { if (a != null && getPiece().getPlacementOptions().getLoot().isNotEmpty() && block.getState() instanceof InventoryHolder) { - LoaderLootTable table = getPiece().getPlacementOptions().getTable(block.getBlockData(), getData()); + IrisLootTable table = getPiece().getPlacementOptions().getTable(block.getBlockData(), getData()); if (table == null) return; Engine engine = a.getCompound().getEngineForHeight(y); engine.addItems(false, ((InventoryHolder) block.getState()).getInventory(), diff --git a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java index 9c56359f7..e6efe60b8 100644 --- a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java +++ b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java @@ -27,12 +27,12 @@ import com.volmit.iris.engine.framework.IrisAccess; import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.util.interpolation.InterpolationMethod; import com.volmit.iris.engine.object.common.IObjectPlacer; -import com.volmit.iris.engine.object.entity.LoaderEntity; +import com.volmit.iris.engine.object.entity.IrisEntity; import com.volmit.iris.engine.object.feature.IrisFeature; import com.volmit.iris.engine.object.feature.IrisFeaturePositional; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPiece; import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructure; import com.volmit.iris.engine.object.objects.*; import com.volmit.iris.engine.parallax.ParallaxChunkMeta; import com.volmit.iris.util.collection.KList; @@ -46,20 +46,20 @@ import org.bukkit.entity.Entity; @Data public class PlannedStructure { private KList pieces; - private LoaderJigsawStructure structure; + private IrisJigsawStructure structure; private IrisPosition position; private IrisData data; private RNG rng; private boolean verbose; private boolean terminating; - private static transient ConcurrentLinkedHashMap objectRotationCache - = new ConcurrentLinkedHashMap.Builder() + private static transient ConcurrentLinkedHashMap objectRotationCache + = new ConcurrentLinkedHashMap.Builder() .initialCapacity(64) .maximumWeightedCapacity(1024) .concurrencyLevel(32) .build(); - public PlannedStructure(LoaderJigsawStructure structure, IrisPosition position, RNG rng) { + public PlannedStructure(IrisJigsawStructure structure, IrisPosition position, RNG rng) { terminating = false; verbose = true; this.pieces = new KList<>(); @@ -103,8 +103,8 @@ public class PlannedStructure { options.setMode(i.getPiece().getPlaceMode()); } - LoaderObject vo = i.getOgObject(); - LoaderObject v = i.getObject(); + IrisObject vo = i.getOgObject(); + IrisObject v = i.getObject(); int sx = (v.getW() / 2); int sz = (v.getD() / 2); int xx = i.getPosition().getX() + sx; @@ -176,7 +176,7 @@ public class PlannedStructure { break; } IrisPosition p = i.getWorldPosition(j).add(new IrisPosition(j.getDirection().toVector().multiply(2))); - LoaderEntity e = getData().getEntityLoader().load(j.getSpawnEntity()); + IrisEntity e = getData().getEntityLoader().load(j.getSpawnEntity()); if (a != null) { Entity entity = e.spawn(a.getCompound().getEngineForHeight(p.getY()), new Location(world, p.getX() + 0.5, p.getY(), p.getZ() + 0.5), rng); @@ -213,7 +213,7 @@ public class PlannedStructure { } private boolean generateConnectorOutwards(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector) { - for (LoaderJigsawPiece i : getShuffledPiecesFor(pieceConnector)) { + for (IrisJigsawPiece i : getShuffledPiecesFor(pieceConnector)) { if (generateRotatedPiece(piece, pieceConnector, i)) { return true; } @@ -222,7 +222,7 @@ public class PlannedStructure { return false; } - private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, LoaderJigsawPiece idea) { + private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, IrisJigsawPiece idea) { if (!piece.getPiece().getPlacementOptions().getRotation().isEnabled()) { if (generateRotatedPiece(piece, pieceConnector, idea, 0, 0, 0)) { return true; @@ -256,7 +256,7 @@ public class PlannedStructure { return false; } - private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, LoaderJigsawPiece idea, IrisObjectRotation rotation) { + private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, IrisJigsawPiece idea, IrisObjectRotation rotation) { if (!idea.getPlacementOptions().getRotation().isEnabled()) rotation = piece.getRotation(); //Inherit parent rotation @@ -271,7 +271,7 @@ public class PlannedStructure { return false; } - private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, LoaderJigsawPiece idea, int x, int y, int z) { + private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, IrisJigsawPiece idea, int x, int y, int z) { return generateRotatedPiece(piece, pieceConnector, idea, IrisObjectRotation.of(x, y, z)); } @@ -306,12 +306,12 @@ public class PlannedStructure { return true; } - private KList getShuffledPiecesFor(IrisJigsawPieceConnector c) { - KList p = new KList<>(); + private KList getShuffledPiecesFor(IrisJigsawPieceConnector c) { + KList p = new KList<>(); for (String i : c.getPools().shuffleCopy(rng)) { for (String j : getData().getJigsawPoolLoader().load(i).getPieces().shuffleCopy(rng)) { - LoaderJigsawPiece pi = getData().getJigsawPieceLoader().load(j); + IrisJigsawPiece pi = getData().getJigsawPieceLoader().load(j); if (pi == null || (terminating && !pi.isTerminal())) { continue; @@ -382,7 +382,7 @@ public class PlannedStructure { return false; } - public LoaderObject rotated(LoaderJigsawPiece piece, IrisObjectRotation rotation) { + public IrisObject rotated(IrisJigsawPiece piece, IrisObjectRotation rotation) { String key = piece.getObject() + "-" + rotation.hashCode(); return objectRotationCache.compute(key, (k, v) -> { diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier.java index 19c7b36cc..c54ad9ec3 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier.java @@ -18,12 +18,12 @@ package com.volmit.iris.engine.modifier; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.noise.FastNoiseDouble; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.carve.IrisCaveLayer; import com.volmit.iris.engine.object.common.CaveResult; import com.volmit.iris.util.parallel.BurstExecutor; @@ -77,7 +77,7 @@ public class IrisCaveModifier extends EngineAssignedModifier { KList caves = genCaves(x + finalI, z + j, finalI, j, a); int he = (int) Math.round(getComplex().getHeightStream().get(x + finalI, z + j)); if (caves != null && caves.isNotEmpty()) { - LoaderBiome cave = getComplex().getCaveBiomeStream().get(x + finalI, z + j); + IrisBiome cave = getComplex().getCaveBiomeStream().get(x + finalI, z + j); if (cave == null) { continue; diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier2.java b/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier2.java index 82f780de8..7a0bb1acc 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier2.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier2.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.modifier; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisDepositModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisDepositModifier.java index 1f73c619c..0f349a031 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisDepositModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisDepositModifier.java @@ -21,10 +21,10 @@ package com.volmit.iris.engine.modifier; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; -import com.volmit.iris.engine.object.objects.LoaderObject; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.objects.IrisObject; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.util.data.HeightMap; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.scheduling.PrecisionStopwatch; @@ -48,8 +48,8 @@ public class IrisDepositModifier extends EngineAssignedModifier { public void generateDeposits(RNG rx, Hunk terrain, int x, int z) { RNG ro = rx.nextParallelRNG(x * x).nextParallelRNG(z * z); - LoaderRegion region = getComplex().getRegionStream().get((x * 16) + 7, (z * 16) + 7); - LoaderBiome biome = getComplex().getTrueBiomeStream().get((x * 16) + 7, (z * 16) + 7); + IrisRegion region = getComplex().getRegionStream().get((x * 16) + 7, (z * 16) + 7); + IrisBiome biome = getComplex().getTrueBiomeStream().get((x * 16) + 7, (z * 16) + 7); for (IrisDepositGenerator k : getDimension().getDeposits()) { generate(k, terrain, ro, x, z, false); @@ -74,7 +74,7 @@ public class IrisDepositModifier extends EngineAssignedModifier { public void generate(IrisDepositGenerator k, Hunk data, RNG rng, int cx, int cz, boolean safe, HeightMap he) { for (int l = 0; l < rng.i(k.getMinPerChunk(), k.getMaxPerChunk()); l++) { - LoaderObject clump = k.getClump(rng, getData()); + IrisObject clump = k.getClump(rng, getData()); int af = (int) Math.ceil(clump.getW() / 2D); int bf = (int) Math.floor(16D - (clump.getW() / 2D)); diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisPostModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisPostModifier.java index 967f67203..fb58f0c29 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisPostModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisPostModifier.java @@ -19,11 +19,11 @@ package com.volmit.iris.engine.modifier; import com.volmit.iris.Iris; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.common.CaveResult; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.scheduling.PrecisionStopwatch; @@ -136,7 +136,7 @@ public class IrisPostModifier extends EngineAssignedModifier { } // Wall Patcher - LoaderBiome biome = getComplex().getTrueBiomeStream().get(x, z); + IrisBiome biome = getComplex().getTrueBiomeStream().get(x, z); if (getDimension().isPostProcessingWalls()) { if (!biome.getWall().getPalette().isEmpty()) { @@ -231,7 +231,7 @@ public class IrisPostModifier extends EngineAssignedModifier { } if (getDimension().isPostProcessCaves()) { - LoaderBiome cave = getComplex().getCaveBiomeStream().get(x, z); + IrisBiome cave = getComplex().getCaveBiomeStream().get(x, z); if (cave != null) { for (CaveResult i : ((IrisCaveModifier) getFramework().getCaveModifier()).genCaves(x, z, 0, 0, null)) { diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisRavineModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisRavineModifier.java index eae9b1ee1..e0b9f118a 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisRavineModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisRavineModifier.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.modifier; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; diff --git a/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListResource.java b/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListResource.java index 5d72ac014..ea5165f61 100644 --- a/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListResource.java +++ b/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListResource.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.annotations; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import java.lang.annotation.Retention; import java.lang.annotation.Target; @@ -29,5 +29,5 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; @Retention(RUNTIME) @Target({PARAMETER, TYPE, FIELD}) public @interface RegistryListResource { - Class value(); + Class value(); } diff --git a/src/main/java/com/volmit/iris/engine/object/biome/LoaderBiome.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiome.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/biome/LoaderBiome.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiome.java index 038b1bc12..7e0b8a8ba 100644 --- a/src/main/java/com/volmit/iris/engine/object/biome/LoaderBiome.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiome.java @@ -21,11 +21,11 @@ package com.volmit.iris.engine.object.biome; import com.volmit.iris.Iris; import com.volmit.iris.core.gui.components.RenderType; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.IrisComplex; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.B; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.B; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; import com.volmit.iris.engine.object.block.IrisBlockDrops; @@ -38,9 +38,9 @@ import com.volmit.iris.engine.object.meta.IrisEffect; import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.engine.object.noise.IrisSlopeClip; import com.volmit.iris.engine.object.noise.NoiseStyle; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; -import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.spawners.IrisSpawner; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.engine.object.common.IRare; @@ -68,7 +68,7 @@ import java.awt.*; @Desc("Represents a biome in iris. Biomes are placed inside of regions and hold objects.\nA biome consists of layers (block palletes), decorations, objects & generators.") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderBiome extends LoaderRegistrant implements IRare { +public class IrisBiome extends IrisRegistrant implements IRare { @MinNumber(2) @Required @Desc("This is the human readable name for this biome. This can and should be different than the file name. This is not used for loading biomes in other objects.") @@ -80,7 +80,7 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { @Desc("Spawn Entities in this area over time. Iris will continually replenish these mobs just like vanilla does.") @ArrayType(min = 1, type = String.class) - @RegistryListResource(LoaderSpawner.class) + @RegistryListResource(IrisSpawner.class) private KList entitySpawners = new KList<>(); @Desc("Add random chances for terrain features") @@ -146,7 +146,7 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { @Desc("If this biome has children biomes, and the gen layer chooses one of this biomes children, How will it be shaped?") private IrisGeneratorStyle childStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style(); - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @ArrayType(min = 1, type = String.class) @Desc("List any biome names (file names without.json) here as children. Portions of this biome can sometimes morph into their children. Iris supports cyclic relationships such as A > B > A > B. Iris will stop checking 9 biomes down the tree.") private KList children = new KList<>(); @@ -155,7 +155,7 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { @Desc("Jigsaw structures") private KList jigsawStructures = new KList<>(); - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Desc("The carving biome. If specified the biome will be used when under a carving instead of this current biome.") private String carvingBiome = ""; @@ -207,8 +207,8 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { private final transient AtomicCache biomeGenerator = new AtomicCache<>(); private final transient AtomicCache maxHeight = new AtomicCache<>(); private final transient AtomicCache maxWithObjectHeight = new AtomicCache<>(); - private final transient AtomicCache realCarveBiome = new AtomicCache<>(); - private final transient AtomicCache> realChildren = new AtomicCache<>(); + private final transient AtomicCache realCarveBiome = new AtomicCache<>(); + private final transient AtomicCache> realChildren = new AtomicCache<>(); private final transient AtomicCache> layerHeightGenerators = new AtomicCache<>(); private final transient AtomicCache> layerSeaHeightGenerators = new AtomicCache<>(); @@ -263,10 +263,10 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { }).get(loadKey); } - public LoaderBiome getRealCarvingBiome(IrisData data) { + public IrisBiome getRealCarvingBiome(IrisData data) { return realCarveBiome.aquire(() -> { - LoaderBiome biome = data.getBiomeLoader().load(getCarvingBiome()); + IrisBiome biome = data.getBiomeLoader().load(getCarvingBiome()); if (biome == null) { biome = this; @@ -445,7 +445,7 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { int gg = 0; for (IrisObjectPlacement i : getObjects()) { - for (LoaderObject j : data.getObjectLoader().loadAll(i.getPlace())) { + for (IrisObject j : data.getObjectLoader().loadAll(i.getPlace())) { gg = Math.max(gg, j.getH()); } } @@ -454,7 +454,7 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { }); } - public LoaderBiome infer(InferredType t, InferredType type) { + public IrisBiome infer(InferredType t, InferredType type) { setInferredType(t.equals(InferredType.DEFER) ? type : t); return this; } @@ -582,10 +582,10 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { return customDerivitives.get(getBiomeGenerator(rng).fit(0, customDerivitives.size() - 1, x, y, z)); } - public KList getRealChildren(DataProvider g) { + public KList getRealChildren(DataProvider g) { return realChildren.aquire(() -> { - KList realChildren = new KList<>(); + KList realChildren = new KList<>(); for (String i : getChildren()) { realChildren.add(g.getData().getBiomeLoader().load(i)); @@ -602,7 +602,7 @@ public class LoaderBiome extends LoaderRegistrant implements IRare { if (limit > 0) { for (String i : getChildren()) { - LoaderBiome b = g.getData().getBiomeLoader().load(i); + IrisBiome b = g.getData().getBiomeLoader().load(i); m.addAll(b.getAllChildren(g, limit)); } } diff --git a/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeGeneratorLink.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeGeneratorLink.java index 2c951e9c7..a9794ac3b 100644 --- a/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeGeneratorLink.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeGeneratorLink.java @@ -19,10 +19,10 @@ package com.volmit.iris.engine.object.biome; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.engine.object.annotations.*; -import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.noise.IrisGenerator; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -35,7 +35,7 @@ import lombok.experimental.Accessors; @Data public class IrisBiomeGeneratorLink { - @RegistryListResource(LoaderGenerator.class) + @RegistryListResource(IrisGenerator.class) @Desc("The generator id") private String generator = "default"; @@ -53,15 +53,15 @@ public class IrisBiomeGeneratorLink { @Desc("The max block value (value + fluidHeight)") private int max = 0; - private final transient AtomicCache gen = new AtomicCache<>(); + private final transient AtomicCache gen = new AtomicCache<>(); - public LoaderGenerator getCachedGenerator(DataProvider g) { + public IrisGenerator getCachedGenerator(DataProvider g) { return gen.aquire(() -> { - LoaderGenerator gen = g.getData().getGeneratorLoader().load(getGenerator()); + IrisGenerator gen = g.getData().getGeneratorLoader().load(getGenerator()); if (gen == null) { - gen = new LoaderGenerator(); + gen = new IrisGenerator(); } return gen; diff --git a/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeMutation.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeMutation.java index a25f0a636..6d0d3b371 100644 --- a/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeMutation.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeMutation.java @@ -19,9 +19,9 @@ package com.volmit.iris.engine.object.biome; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.engine.object.annotations.*; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KSet; @@ -36,13 +36,13 @@ import lombok.experimental.Accessors; @Desc("A biome mutation if a condition is met") @Data public class IrisBiomeMutation { - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("One of The following biomes or regions must show up") private KList sideA = new KList<>(); - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("One of The following biomes or regions must show up") @@ -60,7 +60,7 @@ public class IrisBiomeMutation { @Desc("How many tries per chunk to check for this mutation") private int checks = 2; - @RegistryListResource(LoaderObject.class) + @RegistryListResource(IrisObject.class) @ArrayType(min = 1, type = IrisObjectPlacement.class) @Desc("Objects define what schematics (iob files) iris will place in this biome mutation") private KList objects = new KList<>(); diff --git a/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomePaletteLayer.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomePaletteLayer.java index 5fcbf2a0a..263f3a8c7 100644 --- a/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomePaletteLayer.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomePaletteLayer.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.object.biome; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.block.IrisBlockData; import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.engine.object.noise.IrisSlopeClip; import com.volmit.iris.engine.object.noise.NoiseStyle; @@ -66,9 +66,9 @@ public class IrisBiomePaletteLayer { private double zoom = 5; @Required - @ArrayType(min = 1, type = LoaderBlockData.class) + @ArrayType(min = 1, type = IrisBlockData.class) @Desc("The palette of blocks to be used in this layer") - private KList palette = new KList().qadd(new LoaderBlockData("GRASS_BLOCK")); + private KList palette = new KList().qadd(new IrisBlockData("GRASS_BLOCK")); private final transient AtomicCache> blockData = new AtomicCache<>(); private final transient AtomicCache layerGenerator = new AtomicCache<>(); @@ -98,8 +98,8 @@ public class IrisBiomePaletteLayer { }); } - public KList add(String b) { - palette.add(new LoaderBlockData(b)); + public KList add(String b) { + palette.add(new IrisBlockData(b)); return palette; } @@ -108,7 +108,7 @@ public class IrisBiomePaletteLayer { return blockData.aquire(() -> { KList blockData = new KList<>(); - for (LoaderBlockData ix : palette) { + for (IrisBlockData ix : palette) { BlockData bx = ix.getBlockData(data); if (bx != null) { for (int i = 0; i < ix.getWeight(); i++) { diff --git a/src/main/java/com/volmit/iris/engine/object/block/LoaderBlockData.java b/src/main/java/com/volmit/iris/engine/object/block/IrisBlockData.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/block/LoaderBlockData.java rename to src/main/java/com/volmit/iris/engine/object/block/IrisBlockData.java index 74d5f57c4..eef41d48d 100644 --- a/src/main/java/com/volmit/iris/engine/object/block/LoaderBlockData.java +++ b/src/main/java/com/volmit/iris/engine/object/block/IrisBlockData.java @@ -21,8 +21,8 @@ package com.volmit.iris.engine.object.block; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.B; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.util.data.B; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -42,7 +42,7 @@ import java.util.Map; @Desc("Represents Block Data") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderBlockData extends LoaderRegistrant { +public class IrisBlockData extends IrisRegistrant { @RegistryListBlockType @Required @Desc("The block to use") @@ -60,7 +60,7 @@ public class LoaderBlockData extends LoaderRegistrant { private int weight = 1; @Desc("If the block cannot be created on this version, Iris will attempt to use this backup block data instead.") - private LoaderBlockData backup = null; + private IrisBlockData backup = null; @Desc("Optional properties for this block data such as 'waterlogged': true") private KMap data = new KMap<>(); @@ -68,7 +68,7 @@ public class LoaderBlockData extends LoaderRegistrant { private final transient AtomicCache blockdata = new AtomicCache<>(); private final transient AtomicCache realProperties = new AtomicCache<>(); - public LoaderBlockData(String b) { + public IrisBlockData(String b) { this.block = b; } @@ -95,7 +95,7 @@ public class LoaderBlockData extends LoaderRegistrant { { BlockData b = null; - LoaderBlockData customData = data.getBlockLoader().load(getBlock(), false); + IrisBlockData customData = data.getBlockLoader().load(getBlock(), false); if (customData != null) { b = customData.getBlockData(data); @@ -152,8 +152,8 @@ public class LoaderBlockData extends LoaderRegistrant { }); } - public static LoaderBlockData from(String j) { - LoaderBlockData b = new LoaderBlockData(); + public static IrisBlockData from(String j) { + IrisBlockData b = new IrisBlockData(); String m = j.toLowerCase().trim(); if (m.contains(":")) { diff --git a/src/main/java/com/volmit/iris/engine/object/block/IrisBlockDrops.java b/src/main/java/com/volmit/iris/engine/object/block/IrisBlockDrops.java index d868b7f49..26d95dbf3 100644 --- a/src/main/java/com/volmit/iris/engine/object/block/IrisBlockDrops.java +++ b/src/main/java/com/volmit/iris/engine/object/block/IrisBlockDrops.java @@ -40,9 +40,9 @@ import org.bukkit.inventory.ItemStack; @Data public class IrisBlockDrops { @Required - @ArrayType(min = 1, type = LoaderBlockData.class) + @ArrayType(min = 1, type = IrisBlockData.class) @Desc("The blocks that drop loot") - private KList blocks = new KList<>(); + private KList blocks = new KList<>(); @Desc("If exact blocks is set to true, minecraft:barrel[axis=x] will only drop for that axis. When exact is false (default) any barrel will drop the defined drops.") private boolean exactBlocks = false; @@ -64,7 +64,7 @@ public class IrisBlockDrops { { KList b = new KList<>(); - for (LoaderBlockData i : getBlocks()) { + for (IrisBlockData i : getBlocks()) { BlockData dd = i.getBlockData(rdata); if (dd != null) { diff --git a/src/main/java/com/volmit/iris/engine/object/block/IrisMaterialPalette.java b/src/main/java/com/volmit/iris/engine/object/block/IrisMaterialPalette.java index 9beb1bd50..adcf5f975 100644 --- a/src/main/java/com/volmit/iris/engine/object/block/IrisMaterialPalette.java +++ b/src/main/java/com/volmit/iris/engine/object/block/IrisMaterialPalette.java @@ -49,9 +49,9 @@ public class IrisMaterialPalette { private double zoom = 5; @Required - @ArrayType(min = 1, type = LoaderBlockData.class) + @ArrayType(min = 1, type = IrisBlockData.class) @Desc("The palette of blocks to be used in this layer") - private KList palette = new KList().qadd(new LoaderBlockData("STONE")); + private KList palette = new KList().qadd(new IrisBlockData("STONE")); private final transient AtomicCache> blockData = new AtomicCache<>(); private final transient AtomicCache layerGenerator = new AtomicCache<>(); @@ -82,14 +82,14 @@ public class IrisMaterialPalette { return this; } - public KList add(String b) { - palette.add(new LoaderBlockData(b)); + public KList add(String b) { + palette.add(new IrisBlockData(b)); return palette; } public IrisMaterialPalette qadd(String b) { - palette.add(new LoaderBlockData(b)); + palette.add(new IrisBlockData(b)); return this; } @@ -98,7 +98,7 @@ public class IrisMaterialPalette { return blockData.aquire(() -> { KList blockData = new KList<>(); - for (LoaderBlockData ix : palette) { + for (IrisBlockData ix : palette) { BlockData bx = ix.getBlockData(rdata); if (bx != null) { for (int i = 0; i < ix.getWeight(); i++) { diff --git a/src/main/java/com/volmit/iris/engine/object/carve/IrisCaveFluid.java b/src/main/java/com/volmit/iris/engine/object/carve/IrisCaveFluid.java index fd52fd470..cb303a93f 100644 --- a/src/main/java/com/volmit/iris/engine/object/carve/IrisCaveFluid.java +++ b/src/main/java/com/volmit/iris/engine/object/carve/IrisCaveFluid.java @@ -20,8 +20,8 @@ package com.volmit.iris.engine.object.carve; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.B; -import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.util.data.B; +import com.volmit.iris.engine.object.block.IrisBlockData; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -49,7 +49,7 @@ public class IrisCaveFluid { @Required @Desc("The fluid type that should spawn here") - private LoaderBlockData fluidType = new LoaderBlockData("CAVE_AIR"); + private IrisBlockData fluidType = new IrisBlockData("CAVE_AIR"); private final transient AtomicCache fluidData = new AtomicCache<>(); diff --git a/src/main/java/com/volmit/iris/engine/object/compat/IrisCompat.java b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompat.java index 1cc22058c..b76bcd709 100644 --- a/src/main/java/com/volmit/iris/engine/object/compat/IrisCompat.java +++ b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompat.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.object.compat; import com.google.gson.Gson; import com.volmit.iris.Iris; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.io.IO; import com.volmit.iris.util.json.JSONObject; diff --git a/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityBlockFilter.java b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityBlockFilter.java index 29eca0b91..3ab45634a 100644 --- a/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityBlockFilter.java +++ b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityBlockFilter.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.object.compat; import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; import lombok.AllArgsConstructor; diff --git a/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityItemFilter.java b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityItemFilter.java index 46ddea968..1dee92005 100644 --- a/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityItemFilter.java +++ b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityItemFilter.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.object.compat; import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; import lombok.Data; diff --git a/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java b/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java index 0a3d0e511..b5a5e5874 100644 --- a/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java +++ b/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java @@ -21,8 +21,8 @@ package com.volmit.iris.engine.object.decoration; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.block.IrisBlockData; import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.noise.CNG; @@ -82,13 +82,13 @@ public class IrisDecorator { private double chance = 0.1; @Required - @ArrayType(min = 1, type = LoaderBlockData.class) + @ArrayType(min = 1, type = IrisBlockData.class) @Desc("The palette of blocks to pick from when this decorator needs to place.") - private KList palette = new KList().qadd(new LoaderBlockData("grass")); + private KList palette = new KList().qadd(new IrisBlockData("grass")); - @ArrayType(min = 1, type = LoaderBlockData.class) + @ArrayType(min = 1, type = IrisBlockData.class) @Desc("The palette of blocks used at the very top of a 'stackMax' of higher than 1. For example, bamboo tops.") - private KList topPalette = new KList<>(); + private KList topPalette = new KList<>(); @DependsOn("topPalette") @MinNumber(0.01) @@ -126,12 +126,12 @@ public class IrisDecorator { .scale(1D / variance.getZoom())); } - public KList add(String b) { - palette.add(new LoaderBlockData(b)); + public KList add(String b) { + palette.add(new IrisBlockData(b)); return palette; } - public BlockData getBlockData(LoaderBiome b, RNG rng, double x, double z, IrisData data) { + public BlockData getBlockData(IrisBiome b, RNG rng, double x, double z, IrisData data) { if (getBlockData(data).isEmpty()) { Iris.warn("Empty Block Data for " + b.getName()); return null; @@ -151,7 +151,7 @@ public class IrisDecorator { return null; } - public BlockData getBlockData100(LoaderBiome b, RNG rng, double x, double y, double z, IrisData data) { + public BlockData getBlockData100(IrisBiome b, RNG rng, double x, double y, double z, IrisData data) { if (getBlockData(data).isEmpty()) { Iris.warn("Empty Block Data for " + b.getName()); return null; @@ -174,7 +174,7 @@ public class IrisDecorator { return getVarianceGenerator(rng, data).fit(getBlockData(data), z, y, x).clone(); //X and Z must be switched } - public BlockData getBlockDataForTop(LoaderBiome b, RNG rng, double x, double y, double z, IrisData data) { + public BlockData getBlockDataForTop(IrisBiome b, RNG rng, double x, double y, double z, IrisData data) { if (getBlockDataTops(data).isEmpty()) { return getBlockData100(b, rng, x, y, z, data); } @@ -197,7 +197,7 @@ public class IrisDecorator { return blockData.aquire(() -> { KList blockData = new KList<>(); - for (LoaderBlockData i : palette) { + for (IrisBlockData i : palette) { BlockData bx = i.getBlockData(data); if (bx != null) { for (int n = 0; n < i.getWeight(); n++) { @@ -214,7 +214,7 @@ public class IrisDecorator { return blockDataTops.aquire(() -> { KList blockDataTops = new KList<>(); - for (LoaderBlockData i : topPalette) { + for (IrisBlockData i : topPalette) { BlockData bx = i.getBlockData(data); if (bx != null) { for (int n = 0; n < i.getWeight(); n++) { diff --git a/src/main/java/com/volmit/iris/engine/object/deposits/IrisDepositGenerator.java b/src/main/java/com/volmit/iris/engine/object/deposits/IrisDepositGenerator.java index 04e03966f..2fb8e4ba8 100644 --- a/src/main/java/com/volmit/iris/engine/object/deposits/IrisDepositGenerator.java +++ b/src/main/java/com/volmit/iris/engine/object/deposits/IrisDepositGenerator.java @@ -21,8 +21,8 @@ package com.volmit.iris.engine.object.deposits; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.annotations.*; -import com.volmit.iris.engine.object.block.LoaderBlockData; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.block.IrisBlockData; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; import lombok.AllArgsConstructor; @@ -75,23 +75,23 @@ public class IrisDepositGenerator { private int minPerChunk = 1; @Required - @ArrayType(min = 1, type = LoaderBlockData.class) + @ArrayType(min = 1, type = IrisBlockData.class) @Desc("The palette of blocks to be used in this deposit generator") - private KList palette = new KList<>(); + private KList palette = new KList<>(); @MinNumber(1) @MaxNumber(64) @Desc("Ore varience is how many different objects clumps iris will create") private int varience = 3; - private final transient AtomicCache> objects = new AtomicCache<>(); + private final transient AtomicCache> objects = new AtomicCache<>(); private final transient AtomicCache> blockData = new AtomicCache<>(); - public LoaderObject getClump(RNG rng, IrisData rdata) { - KList objects = this.objects.aquire(() -> + public IrisObject getClump(RNG rng, IrisData rdata) { + KList objects = this.objects.aquire(() -> { RNG rngv = rng.nextParallelRNG(3957778); - KList objectsf = new KList<>(); + KList objectsf = new KList<>(); for (int i = 0; i < varience; i++) { objectsf.add(generateClumpObject(rngv.nextParallelRNG(2349 * i + 3598), rdata)); @@ -106,11 +106,11 @@ public class IrisDepositGenerator { return Math.min(11, (int) Math.round(Math.pow(maxSize, 1D / 3D))); } - private LoaderObject generateClumpObject(RNG rngv, IrisData rdata) { + private IrisObject generateClumpObject(RNG rngv, IrisData rdata) { int s = rngv.i(minSize, maxSize); int dim = Math.min(11, (int) Math.round(Math.pow(maxSize, 1D / 3D))); int w = dim / 2; - LoaderObject o = new LoaderObject(dim, dim, dim); + IrisObject o = new IrisObject(dim, dim, dim); if (s == 1) { o.getBlocks().put(o.getCenter(), nextBlock(rngv, rdata)); @@ -135,7 +135,7 @@ public class IrisDepositGenerator { { KList blockData = new KList<>(); - for (LoaderBlockData ix : palette) { + for (IrisBlockData ix : palette) { BlockData bx = ix.getBlockData(rdata); if (bx != null) { diff --git a/src/main/java/com/volmit/iris/engine/object/dimensional/LoaderDimension.java b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimension.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/object/dimensional/LoaderDimension.java rename to src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimension.java index 5ecf7770d..3f09d990c 100644 --- a/src/main/java/com/volmit/iris/engine/object/dimensional/LoaderDimension.java +++ b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimension.java @@ -20,11 +20,11 @@ package com.volmit.iris.engine.object.dimensional; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.engine.object.biome.InferredType; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomeCustom; import com.volmit.iris.engine.object.biome.IrisBiomeMutation; import com.volmit.iris.engine.object.block.IrisBlockDrops; @@ -36,15 +36,15 @@ import com.volmit.iris.engine.object.carve.IrisCaverns; import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; import com.volmit.iris.engine.object.feature.IrisFeaturePositional; import com.volmit.iris.engine.object.feature.IrisFeaturePotential; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructure; import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructurePlacement; import com.volmit.iris.engine.object.loot.IrisLootReference; import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.engine.object.noise.IrisShapedGeneratorStyle; import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; -import com.volmit.iris.engine.object.regional.LoaderRegion; -import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.regional.IrisRegion; +import com.volmit.iris.engine.object.spawners.IrisSpawner; import com.volmit.iris.engine.object.trees.IrisTreeSettings; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; @@ -71,7 +71,7 @@ import java.io.IOException; @Desc("Represents a dimension") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderDimension extends LoaderRegistrant { +public class IrisDimension extends IrisRegistrant { public static final BlockData STONE = Material.STONE.createBlockData(); public static final BlockData WATER = Material.WATER.createBlockData(); @@ -85,9 +85,9 @@ public class LoaderDimension extends LoaderRegistrant { private KList dimensionalComposite = new KList<>(); @Desc("Create an inverted dimension in the sky (like the nether)") - private LoaderDimension sky = null; + private IrisDimension sky = null; - @RegistryListResource(LoaderJigsawStructure.class) + @RegistryListResource(IrisJigsawStructure.class) @Desc("If defined, Iris will place the given jigsaw structure where minecraft should place the overworld stronghold.") private String stronghold; @@ -114,7 +114,7 @@ public class LoaderDimension extends LoaderRegistrant { @Desc("Spawn Entities in this dimension over time. Iris will continually replenish these mobs just like vanilla does.") @ArrayType(min = 1, type = String.class) - @RegistryListResource(LoaderSpawner.class) + @RegistryListResource(IrisSpawner.class) private KList entitySpawners = new KList<>(); @Desc("Add specific features in exact positions") @@ -218,7 +218,7 @@ public class LoaderDimension extends LoaderRegistrant { @Desc("The world environment") private Environment environment = Environment.NORMAL; - @RegistryListResource(LoaderRegion.class) + @RegistryListResource(IrisRegion.class) @Required @ArrayType(min = 1, type = String.class) @Desc("Define all of the regions to include in this dimension. Dimensions -> Regions -> Biomes -> Objects etc") @@ -234,11 +234,11 @@ public class LoaderDimension extends LoaderRegistrant { @Desc("The fluid height for this dimension") private int fluidHeight = 63; - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Desc("Keep this either undefined or empty. Setting any biome name into this will force iris to only generate the specified biome. Great for testing.") private String focus = ""; - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Desc("Keep this either undefined or empty. Setting any region name into this will force iris to only generate the specified region. Great for testing.") private String focusRegion = ""; @@ -409,8 +409,8 @@ public class LoaderDimension extends LoaderRegistrant { return cosr.aquire(() -> Math.cos(getDimensionAngle())); } - public KList getAllRegions(DataProvider g) { - KList r = new KList<>(); + public KList getAllRegions(DataProvider g) { + KList r = new KList<>(); for (String i : getRegions()) { r.add(g.getData().getRegionLoader().load(i)); @@ -419,8 +419,8 @@ public class LoaderDimension extends LoaderRegistrant { return r; } - public KList getAllAnyRegions() { - KList r = new KList<>(); + public KList getAllAnyRegions() { + KList r = new KList<>(); for (String i : getRegions()) { r.add(IrisData.loadAnyRegion(i)); @@ -429,14 +429,14 @@ public class LoaderDimension extends LoaderRegistrant { return r; } - public KList getAllBiomes(DataProvider g) { + public KList getAllBiomes(DataProvider g) { return g.getData().getBiomeLoader().loadAll(g.getData().getBiomeLoader().getPossibleKeys()); } - public KList getAllAnyBiomes() { - KList r = new KList<>(); + public KList getAllAnyBiomes() { + KList r = new KList<>(); - for (LoaderRegion i : getAllAnyRegions()) { + for (IrisRegion i : getAllAnyRegions()) { if (i == null) { continue; } @@ -474,7 +474,7 @@ public class LoaderDimension extends LoaderRegistrant { IO.delete(new File(datapacks, "iris/data/" + getLoadKey())); - for (LoaderBiome i : getAllBiomes(data)) { + for (IrisBiome i : getAllBiomes(data)) { if (i.isCustom()) { write = true; @@ -524,7 +524,7 @@ public class LoaderDimension extends LoaderRegistrant { return true; } - for (LoaderRegion i : getAllRegions(data)) { + for (IrisRegion i : getAllRegions(data)) { if (i.getFeatures().isNotEmpty()) { return true; } @@ -535,7 +535,7 @@ public class LoaderDimension extends LoaderRegistrant { } } - for (LoaderBiome j : i.getAllBiomes(data)) { + for (IrisBiome j : i.getAllBiomes(data)) { if (j.getFeatures().isNotEmpty()) { return true; } diff --git a/src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimensionIndex.java b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimensionIndex.java index 00dea8739..570e325aa 100644 --- a/src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimensionIndex.java +++ b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimensionIndex.java @@ -47,7 +47,7 @@ public class IrisDimensionIndex { private boolean primary = false; @Required - @RegistryListResource(LoaderDimension.class) + @RegistryListResource(IrisDimension.class) @MinNumber(1) @Desc("Name of dimension") private String dimension = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/entity/LoaderEntity.java b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntity.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/entity/LoaderEntity.java rename to src/main/java/com/volmit/iris/engine/object/entity/IrisEntity.java index 77c6cdf6a..b0450d25f 100644 --- a/src/main/java/com/volmit/iris/engine/object/entity/LoaderEntity.java +++ b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntity.java @@ -19,14 +19,14 @@ package com.volmit.iris.engine.object.entity; import com.volmit.iris.Iris; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; import com.volmit.iris.engine.object.loot.IrisLoot; import com.volmit.iris.engine.object.loot.IrisLootReference; -import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.loot.IrisLootTable; import com.volmit.iris.engine.object.meta.InventorySlotType; import com.volmit.iris.engine.object.meta.IrisAttributeModifier; import com.volmit.iris.engine.object.meta.IrisEffect; @@ -65,7 +65,7 @@ import java.util.concurrent.atomic.AtomicReference; @Desc("Represents an iris entity.") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderEntity extends LoaderRegistrant { +public class IrisEntity extends IrisRegistrant { @Required @Desc("The type of entity to spawn. To spawn a mythic mob, set this type to unknown and define mythic type.") private EntityType type = EntityType.UNKNOWN; @@ -119,8 +119,8 @@ public class LoaderEntity extends LoaderRegistrant { private IrisLoot offHand = null; @Desc("Make other entities ride this entity") - @ArrayType(min = 1, type = LoaderEntity.class) - private KList passengers = new KList<>(); + @ArrayType(min = 1, type = IrisEntity.class) + private KList passengers = new KList<>(); @Desc("Attribute modifiers for this entity") @ArrayType(min = 1, type = IrisAttributeModifier.class) @@ -130,7 +130,7 @@ public class LoaderEntity extends LoaderRegistrant { private IrisLootReference loot = new IrisLootReference(); @Desc("If specified, this entity will be leashed by this entity. I.e. THIS ENTITY Leashed by SPECIFIED. This has no effect on EnderDragons, Withers, Players, or Bats.Non-living entities excluding leashes will not persist as leashholders.") - private LoaderEntity leashHolder = null; + private IrisEntity leashHolder = null; @Desc("If specified, this entity will spawn with an effect") private IrisEffect spawnEffect = null; @@ -171,7 +171,7 @@ public class LoaderEntity extends LoaderRegistrant { e.setPersistent(isKeepEntity()); int gg = 0; - for (LoaderEntity i : passengers) { + for (IrisEntity i : passengers) { Entity passenger = i.spawn(gen, at, rng.nextParallelRNG(234858 + gg++)); if (!Bukkit.isPrimaryThread()) { J.s(() -> e.addPassenger(passenger)); @@ -193,7 +193,7 @@ public class LoaderEntity extends LoaderRegistrant { l.setLootTable(new LootTable() { @Override public NamespacedKey getKey() { - return new NamespacedKey(Iris.instance, "loot-" + LoaderEntity.this.hashCode()); + return new NamespacedKey(Iris.instance, "loot-" + IrisEntity.this.hashCode()); } @Override @@ -201,7 +201,7 @@ public class LoaderEntity extends LoaderRegistrant { KList items = new KList<>(); for (String fi : getLoot().getTables()) { - LoaderLootTable i = gen.getData().getLootLoader().load(fi); + IrisLootTable i = gen.getData().getLootLoader().load(fi); items.addAll(i.getLoot(gen.isStudio(), false, rng.nextParallelRNG(345911), InventorySlotType.STORAGE, at.getBlockX(), at.getBlockY(), at.getBlockZ(), 8, 4)); } diff --git a/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawn.java b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawn.java index 8733b9cee..dbd2692c4 100644 --- a/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawn.java +++ b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawn.java @@ -24,8 +24,8 @@ import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineFramework; import com.volmit.iris.engine.modifier.IrisCaveModifier; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.spawners.IrisSpawner; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -49,7 +49,7 @@ import org.bukkit.entity.Entity; @Desc("Represents an entity spawn during initial chunk generation") @Data public class IrisEntitySpawn implements IRare { - @RegistryListResource(LoaderEntity.class) + @RegistryListResource(IrisEntity.class) @Required @Desc("The entity") private String entity = ""; @@ -69,9 +69,9 @@ public class IrisEntitySpawn implements IRare { @Desc("The max of this entity to spawn") private int maxSpawns = 1; - private transient LoaderSpawner referenceSpawner; + private transient IrisSpawner referenceSpawner; private final transient AtomicCache rng = new AtomicCache<>(); - private final transient AtomicCache ent = new AtomicCache<>(); + private final transient AtomicCache ent = new AtomicCache<>(); public int spawn(Engine gen, Chunk c, RNG rng) { int spawns = minSpawns == maxSpawns ? minSpawns : rng.i(Math.min(minSpawns, maxSpawns), Math.max(minSpawns, maxSpawns)); @@ -88,7 +88,7 @@ public class IrisEntitySpawn implements IRare { case CAVE -> { IrisComplex comp = gen.getFramework().getComplex(); EngineFramework frame = gen.getFramework(); - LoaderBiome cave = comp.getCaveBiomeStream().get(x, z); + IrisBiome cave = comp.getCaveBiomeStream().get(x, z); KList r = new KList<>(); if (cave != null) { for (CaveResult i : ((IrisCaveModifier) frame.getCaveModifier()).genCaves(x, z)) { @@ -116,7 +116,7 @@ public class IrisEntitySpawn implements IRare { return s; } - public LoaderEntity getRealEntity(Engine g) { + public IrisEntity getRealEntity(Engine g) { return ent.aquire(() -> g.getData().getEntityLoader().load(getEntity())); } @@ -134,7 +134,7 @@ public class IrisEntitySpawn implements IRare { private Entity spawn100(Engine g, Location at) { try { - LoaderEntity irisEntity = getRealEntity(g); + IrisEntity irisEntity = getRealEntity(g); if (!irisEntity.getSurface().matches(at.clone().subtract(0, 1, 0).getBlock().getState())) return null; //Make sure it can spawn on the block diff --git a/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawnOverride.java b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawnOverride.java index 7c85f8dda..e76fbbf02 100644 --- a/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawnOverride.java +++ b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawnOverride.java @@ -40,7 +40,7 @@ import org.bukkit.event.entity.EntitySpawnEvent; @Desc("Represents an entity spawn") @Data public class IrisEntitySpawnOverride { - @RegistryListResource(LoaderEntity.class) + @RegistryListResource(IrisEntity.class) @Required @Desc("The entity") private String entity = ""; @@ -57,7 +57,7 @@ public class IrisEntitySpawnOverride { private int rarity = 1; private final transient AtomicCache rng = new AtomicCache<>(); - private final transient AtomicCache ent = new AtomicCache<>(); + private final transient AtomicCache ent = new AtomicCache<>(); public Entity on(Engine g, Location at, EntityType t, EntitySpawnEvent ee) { @@ -89,7 +89,7 @@ public class IrisEntitySpawnOverride { return null; } - public LoaderEntity getRealEntity(Engine g) { + public IrisEntity getRealEntity(Engine g) { return ent.aquire(() -> g.getData().getEntityLoader().load(getEntity())); } } diff --git a/src/main/java/com/volmit/iris/engine/object/feature/IrisFeature.java b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeature.java index 60fc1cb91..f9cd01fca 100644 --- a/src/main/java/com/volmit/iris/engine/object/feature/IrisFeature.java +++ b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeature.java @@ -22,8 +22,8 @@ import com.google.gson.Gson; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.util.interpolation.InterpolationMethod; import com.volmit.iris.util.interpolation.IrisInterpolation; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.spawners.IrisSpawner; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.util.collection.KList; @@ -50,7 +50,7 @@ public class IrisFeature { @Desc("The chance an object that should be place actually will place. Set to below 1 to affect objects in this zone") private double objectChance = 1; - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Desc("Apply a custom biome here") private String customBiome = null; @@ -85,7 +85,7 @@ public class IrisFeature { @Desc("Fracture the radius ring with additional noise") private IrisGeneratorStyle fractureRadius = null; - @RegistryListResource(LoaderSpawner.class) + @RegistryListResource(IrisSpawner.class) @ArrayType(min = 1, type = String.class) @Desc("Within this noise feature, use the following spawners") private KList entitySpawners = new KList<>(); diff --git a/src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePositional.java b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePositional.java index 9b074e9b8..c1e10a6fe 100644 --- a/src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePositional.java +++ b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePositional.java @@ -22,7 +22,7 @@ import com.google.gson.Gson; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.util.interpolation.IrisInterpolation; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; import com.volmit.iris.util.documentation.BlockCoordinates; @@ -125,10 +125,10 @@ public class IrisFeaturePositional { return M.lerp(1, getFeature().getObjectChance(), getStrength(x, z, rng, data)); } - public LoaderBiome filter(double x, double z, LoaderBiome biome, RNG rng) { + public IrisBiome filter(double x, double z, IrisBiome biome, RNG rng) { if (getFeature().getCustomBiome() != null) { if (getStrength(x, z, rng, biome.getLoader()) >= getFeature().getBiomeStrengthThreshold()) { - LoaderBiome b = biome.getLoader().getBiomeLoader().load(getFeature().getCustomBiome()); + IrisBiome b = biome.getLoader().getBiomeLoader().load(getFeature().getCustomBiome()); b.setInferredType(biome.getInferredType()); return b; } diff --git a/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPiece.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPiece.java similarity index 88% rename from src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPiece.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPiece.java index 20c6a7718..04134af90 100644 --- a/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPiece.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPiece.java @@ -21,13 +21,13 @@ package com.volmit.iris.engine.object.jigsaw; import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.basic.IrisPosition; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.objects.ObjectPlaceMode; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; import com.volmit.iris.engine.object.annotations.Required; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; @@ -47,8 +47,8 @@ import java.io.IOException; @Desc("Represents a structure tile") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderJigsawPiece extends LoaderRegistrant { - @RegistryListResource(LoaderObject.class) +public class IrisJigsawPiece extends IrisRegistrant { + @RegistryListResource(IrisObject.class) @Required @Desc("The object this piece represents") private String object = ""; @@ -67,7 +67,7 @@ public class LoaderJigsawPiece extends LoaderRegistrant { public int getMax2dDimension() { return max2dDim.aquire(() -> { try { - BlockVector v = LoaderObject.sampleSize(getLoader().getObjectLoader().findFile(getObject())); + BlockVector v = IrisObject.sampleSize(getLoader().getObjectLoader().findFile(getObject())); return Math.max(v.getBlockX(), v.getBlockZ()); } catch (IOException e) { Iris.reportError(e); @@ -81,7 +81,7 @@ public class LoaderJigsawPiece extends LoaderRegistrant { public int getMax3dDimension() { return max3dDim.aquire(() -> { try { - BlockVector v = LoaderObject.sampleSize(getLoader().getObjectLoader().findFile(getObject())); + BlockVector v = IrisObject.sampleSize(getLoader().getObjectLoader().findFile(getObject())); return Math.max(Math.max(v.getBlockX(), v.getBlockZ()), v.getBlockY()); } catch (IOException e) { Iris.reportError(e); @@ -103,8 +103,8 @@ public class LoaderJigsawPiece extends LoaderRegistrant { return null; } - public LoaderJigsawPiece copy() { - LoaderJigsawPiece p = new LoaderJigsawPiece(); + public IrisJigsawPiece copy() { + IrisJigsawPiece p = new IrisJigsawPiece(); p.setObject(getObject()); p.setLoader(getLoader()); p.setLoadKey(getLoadKey()); diff --git a/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPieceConnector.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPieceConnector.java index 2b8e48696..2bad62050 100644 --- a/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPieceConnector.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPieceConnector.java @@ -19,7 +19,7 @@ package com.volmit.iris.engine.object.jigsaw; import com.volmit.iris.engine.object.objects.IrisDirection; -import com.volmit.iris.engine.object.entity.LoaderEntity; +import com.volmit.iris.engine.object.entity.IrisEntity; import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; @@ -52,13 +52,13 @@ public class IrisJigsawPieceConnector { @Desc("If set to true, this connector is allowed to place pieces inside of it's own piece. For example if you are adding a light post, or house on top of a path piece, you would set this to true to allow the piece to collide with the path bounding box.") private boolean innerConnector = false; - @RegistryListResource(LoaderJigsawPool.class) + @RegistryListResource(IrisJigsawPool.class) @Desc("Pick piece pools to place onto this connector") @ArrayType(type = String.class, min = 1) @Required private KList pools = new KList<>(); - @RegistryListResource(LoaderEntity.class) + @RegistryListResource(IrisEntity.class) @Desc("Pick an entity to spawn on this connector") private String spawnEntity; diff --git a/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPlacement.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPlacement.java index 3bc33ebf8..97f939098 100644 --- a/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPlacement.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPlacement.java @@ -33,7 +33,7 @@ import lombok.experimental.Accessors; @Desc("Represents a jigsaw placement") @Data public class IrisJigsawPlacement { - @RegistryListResource(LoaderJigsawStructure.class) + @RegistryListResource(IrisJigsawStructure.class) @Required @Desc("The jigsaw structure to use") private String structure = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPool.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPool.java similarity index 91% rename from src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPool.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPool.java index bbed9fd20..35316d0ea 100644 --- a/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPool.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPool.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.jigsaw; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -38,8 +38,8 @@ import lombok.experimental.Accessors; @Desc("Represents a structure piece pool") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderJigsawPool extends LoaderRegistrant { - @RegistryListResource(LoaderJigsawPiece.class) +public class IrisJigsawPool extends IrisRegistrant { + @RegistryListResource(IrisJigsawPiece.class) @Required @ArrayType(min = 1, type = String.class) @Desc("A list of structure piece pools") diff --git a/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawStructure.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructure.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawStructure.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructure.java index 202a85f33..eb65b3390 100644 --- a/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawStructure.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructure.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.object.jigsaw; import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.feature.IrisFeature; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; @@ -38,8 +38,8 @@ import lombok.experimental.Accessors; @Desc("Represents a jigsaw structure") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderJigsawStructure extends LoaderRegistrant { - @RegistryListResource(LoaderJigsawPiece.class) +public class IrisJigsawStructure extends IrisRegistrant { + @RegistryListResource(IrisJigsawPiece.class) @Required @ArrayType(min = 1, type = String.class) @Desc("The starting pieces. Randomly chooses a starting piece, then connects pieces using the pools define in the starting piece.") @@ -66,7 +66,7 @@ public class LoaderJigsawStructure extends LoaderRegistrant { return; } - LoaderJigsawPool pool = getLoader().getJigsawPoolLoader().load(p); + IrisJigsawPool pool = getLoader().getJigsawPoolLoader().load(p); if (pool == null) { Iris.warn("Can't find jigsaw pool: " + p); @@ -81,7 +81,7 @@ public class LoaderJigsawStructure extends LoaderRegistrant { } private void loadPiece(String p, KList pools, KList pieces) { - LoaderJigsawPiece piece = getLoader().getJigsawPieceLoader().load(p); + IrisJigsawPiece piece = getLoader().getJigsawPieceLoader().load(p); if (piece == null) { Iris.warn("Can't find jigsaw piece: " + p); diff --git a/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructurePlacement.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructurePlacement.java index 5f631556d..a691b3382 100644 --- a/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructurePlacement.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructurePlacement.java @@ -36,7 +36,7 @@ import lombok.experimental.Accessors; @Data @EqualsAndHashCode(callSuper = false) public class IrisJigsawStructurePlacement { - @RegistryListResource(LoaderJigsawStructure.class) + @RegistryListResource(IrisJigsawStructure.class) @Required @Desc("The structure to place") private String structure; diff --git a/src/main/java/com/volmit/iris/engine/object/loot/IrisLoot.java b/src/main/java/com/volmit/iris/engine/object/loot/IrisLoot.java index 49ea6b585..6df2f090c 100644 --- a/src/main/java/com/volmit/iris/engine/object/loot/IrisLoot.java +++ b/src/main/java/com/volmit/iris/engine/object/loot/IrisLoot.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.object.loot; import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.object.meta.InventorySlotType; import com.volmit.iris.engine.object.meta.IrisAttributeModifier; import com.volmit.iris.engine.object.meta.IrisEnchantment; @@ -195,7 +195,7 @@ public class IrisLoot { return new ItemStack(Material.AIR); } - public ItemStack get(boolean debug, boolean giveSomething, LoaderLootTable table, RNG rng, int x, int y, int z) { + public ItemStack get(boolean debug, boolean giveSomething, IrisLootTable table, RNG rng, int x, int y, int z) { if (debug) { chance.reset(); } diff --git a/src/main/java/com/volmit/iris/engine/object/loot/IrisLootReference.java b/src/main/java/com/volmit/iris/engine/object/loot/IrisLootReference.java index 447fbad75..5bf2c01d6 100644 --- a/src/main/java/com/volmit/iris/engine/object/loot/IrisLootReference.java +++ b/src/main/java/com/volmit/iris/engine/object/loot/IrisLootReference.java @@ -19,7 +19,7 @@ package com.volmit.iris.engine.object.loot; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -39,7 +39,7 @@ public class IrisLootReference { @Desc("Add = add on top of parent tables, Replace = clear first then add these. Clear = Remove all and dont add loot from this or parent.") private IrisLootMode mode = IrisLootMode.ADD; - @RegistryListResource(LoaderLootTable.class) + @RegistryListResource(IrisLootTable.class) @ArrayType(min = 1, type = String.class) @Desc("Add loot table registries here") private KList tables = new KList<>(); @@ -48,12 +48,12 @@ public class IrisLootReference { @Desc("Increase the chance of loot in this area") private double multiplier = 1D; - private final transient AtomicCache> tt = new AtomicCache<>(); + private final transient AtomicCache> tt = new AtomicCache<>(); - public KList getLootTables(DataProvider g) { + public KList getLootTables(DataProvider g) { return tt.aquire(() -> { - KList t = new KList<>(); + KList t = new KList<>(); for (String i : tables) { t.add(g.getData().getLootLoader().load(i)); diff --git a/src/main/java/com/volmit/iris/engine/object/loot/LoaderLootTable.java b/src/main/java/com/volmit/iris/engine/object/loot/IrisLootTable.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/loot/LoaderLootTable.java rename to src/main/java/com/volmit/iris/engine/object/loot/IrisLootTable.java index 15a6b5c51..5f75769a4 100644 --- a/src/main/java/com/volmit/iris/engine/object/loot/LoaderLootTable.java +++ b/src/main/java/com/volmit/iris/engine/object/loot/IrisLootTable.java @@ -19,7 +19,7 @@ package com.volmit.iris.engine.object.loot; import com.volmit.iris.engine.object.meta.InventorySlotType; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -41,7 +41,7 @@ import org.bukkit.inventory.ItemStack; @Desc("Represents a loot table. Biomes, Regions & Objects can add or replace the virtual table with these loot tables") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderLootTable extends LoaderRegistrant { +public class IrisLootTable extends IrisRegistrant { @Required @Desc("The name of this loot table") @MinNumber(2) diff --git a/src/main/java/com/volmit/iris/engine/object/mods/LoaderMod.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisMod.java similarity index 89% rename from src/main/java/com/volmit/iris/engine/object/mods/LoaderMod.java rename to src/main/java/com/volmit/iris/engine/object/mods/IrisMod.java index 1148e4373..c03f14e60 100644 --- a/src/main/java/com/volmit/iris/engine/object/mods/LoaderMod.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisMod.java @@ -18,11 +18,11 @@ package com.volmit.iris.engine.object.mods; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.regional.LoaderRegion; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.regional.IrisRegion; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.annotations.*; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.engine.object.objects.IrisObjectReplace; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; @@ -38,7 +38,7 @@ import lombok.experimental.Accessors; @Desc("Represents a dimension") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderMod extends LoaderRegistrant { +public class IrisMod extends IrisRegistrant { @MinNumber(2) @Required @Desc("The human readable name of this dimension") @@ -53,22 +53,22 @@ public class LoaderMod extends LoaderRegistrant { private int overrideFluidHeight = -1; @Desc("A list of biomes to remove") - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @ArrayType(type = String.class, min = 1) private KList removeBiomes = new KList<>(); @Desc("A list of objects to remove") - @RegistryListResource(LoaderObject.class) + @RegistryListResource(IrisObject.class) @ArrayType(type = String.class, min = 1) private KList removeObjects = new KList<>(); @Desc("A list of regions to remove") - @RegistryListResource(LoaderRegion.class) + @RegistryListResource(IrisRegion.class) @ArrayType(type = String.class, min = 1) private KList removeRegions = new KList<>(); @Desc("A list of regions to inject") - @RegistryListResource(LoaderRegion.class) + @RegistryListResource(IrisRegion.class) @ArrayType(type = String.class, min = 1) private KList injectRegions = new KList<>(); diff --git a/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeInjector.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeInjector.java index 545c995c4..8a39727f1 100644 --- a/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeInjector.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeInjector.java @@ -18,8 +18,8 @@ package com.volmit.iris.engine.object.mods; -import com.volmit.iris.engine.object.biome.LoaderBiome; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.biome.IrisBiome; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -38,12 +38,12 @@ import lombok.experimental.Accessors; public class IrisModBiomeInjector { @Required @Desc("The region to find") - @RegistryListResource(LoaderRegion.class) + @RegistryListResource(IrisRegion.class) private String region = ""; @Required @Desc("A biome to inject into the region") - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @ArrayType(type = String.class, min = 1) private KList inject = new KList<>(); } diff --git a/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeReplacer.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeReplacer.java index 1c0f56381..d08416ce6 100644 --- a/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeReplacer.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeReplacer.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.mods; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -37,12 +37,12 @@ import lombok.experimental.Accessors; public class IrisModBiomeReplacer { @Required @Desc("A list of biomes to find") - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @ArrayType(type = String.class, min = 1) private KList find = new KList<>(); @Required @Desc("A biome to replace it with") - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) private String replace = ""; } diff --git a/src/main/java/com/volmit/iris/engine/object/mods/IrisModNoiseStyleReplacer.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModNoiseStyleReplacer.java index b582cb685..4ca456eb4 100644 --- a/src/main/java/com/volmit/iris/engine/object/mods/IrisModNoiseStyleReplacer.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModNoiseStyleReplacer.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.mods; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.engine.object.annotations.ArrayType; @@ -47,6 +47,6 @@ public class IrisModNoiseStyleReplacer { @Required @Desc("A noise style to replace it with") - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) private IrisGeneratorStyle replace = new IrisGeneratorStyle(); } diff --git a/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementBiomeInjector.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementBiomeInjector.java index 065a467a0..ee2dfd618 100644 --- a/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementBiomeInjector.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementBiomeInjector.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.mods; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -38,7 +38,7 @@ import lombok.experimental.Accessors; public class IrisModObjectPlacementBiomeInjector { @Required @Desc("The biome to find") - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) private String biome = ""; @Required diff --git a/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementRegionInjector.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementRegionInjector.java index 5c2b5670f..524e410a0 100644 --- a/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementRegionInjector.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementRegionInjector.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.mods; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -38,7 +38,7 @@ import lombok.experimental.Accessors; public class IrisModObjectPlacementRegionInjector { @Required @Desc("The biome to find") - @RegistryListResource(LoaderRegion.class) + @RegistryListResource(IrisRegion.class) private String biome = ""; @Required diff --git a/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectReplacer.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectReplacer.java index e5384c5ab..4f01a2c8f 100644 --- a/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectReplacer.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectReplacer.java @@ -18,12 +18,12 @@ package com.volmit.iris.engine.object.mods; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; import com.volmit.iris.engine.object.annotations.Required; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -38,12 +38,12 @@ import lombok.experimental.Accessors; public class IrisModObjectReplacer { @Required @Desc("A list of objects to find") - @RegistryListResource(LoaderObject.class) + @RegistryListResource(IrisObject.class) @ArrayType(type = String.class, min = 1) private KList find = new KList<>(); @Required @Desc("An object to replace it with") - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) private String replace = ""; } diff --git a/src/main/java/com/volmit/iris/engine/object/mods/IrisModRegionReplacer.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModRegionReplacer.java index 8c407f9b9..b9359509d 100644 --- a/src/main/java/com/volmit/iris/engine/object/mods/IrisModRegionReplacer.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModRegionReplacer.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.mods; -import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.regional.IrisRegion; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -37,12 +37,12 @@ import lombok.experimental.Accessors; public class IrisModRegionReplacer { @Required @Desc("A list of regions to find") - @RegistryListResource(LoaderRegion.class) + @RegistryListResource(IrisRegion.class) @ArrayType(type = String.class, min = 1) private KList find = new KList<>(); @Required @Desc("A region to replace it with") - @RegistryListResource(LoaderRegion.class) + @RegistryListResource(IrisRegion.class) private String replace = ""; } diff --git a/src/main/java/com/volmit/iris/engine/object/noise/LoaderExpression.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisExpression.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/noise/LoaderExpression.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisExpression.java index 48310f9d9..085e87df8 100644 --- a/src/main/java/com/volmit/iris/engine/object/noise/LoaderExpression.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisExpression.java @@ -23,7 +23,7 @@ import com.dfsek.paralithic.eval.parser.Parser; import com.dfsek.paralithic.eval.parser.Scope; import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; @@ -44,7 +44,7 @@ import lombok.experimental.Accessors; @Desc("Represents an Iris Expression") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderExpression extends LoaderRegistrant { +public class IrisExpression extends IrisRegistrant { private static final Parser parser = new Parser(); @ArrayType(type = IrisExpressionLoad.class, min = 1) diff --git a/src/main/java/com/volmit/iris/engine/object/noise/LoaderGenerator.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisGenerator.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/noise/LoaderGenerator.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisGenerator.java index fa3a824ad..eb72ef5c8 100644 --- a/src/main/java/com/volmit/iris/engine/object/noise/LoaderGenerator.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisGenerator.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.object.noise; import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.util.interpolation.IrisInterpolation; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.util.noise.CellGenerator; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.engine.object.common.IRare; @@ -42,7 +42,7 @@ import java.util.List; @Desc("Represents a composite generator of noise gens") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderGenerator extends LoaderRegistrant { +public class IrisGenerator extends IrisRegistrant { @MinNumber(0.001) @Desc("The zoom or frequency.") private double zoom = 1; @@ -270,7 +270,7 @@ public class LoaderGenerator extends LoaderRegistrant { return (Math.round((v * 255D) / cliffHeight) * cliffHeight) / 255D; } - public LoaderGenerator rescale(double scale) { + public IrisGenerator rescale(double scale) { zoom /= scale; return this; } diff --git a/src/main/java/com/volmit/iris/engine/object/noise/IrisGeneratorStyle.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisGeneratorStyle.java index e13ffab07..7bcefd51a 100644 --- a/src/main/java/com/volmit/iris/engine/object/noise/IrisGeneratorStyle.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisGeneratorStyle.java @@ -46,7 +46,7 @@ public class IrisGeneratorStyle { private double zoom = 1; @Desc("Instead of using the style property, use a custom expression to represent this style.") - @RegistryListResource(LoaderExpression.class) + @RegistryListResource(IrisExpression.class) private String expression = null; @MinNumber(0.00001) @@ -79,7 +79,7 @@ public class IrisGeneratorStyle { return cng.aquire(() -> { if (getExpression() != null) { - LoaderExpression e = data.getExpressionLoader().load(getExpression()); + IrisExpression e = data.getExpressionLoader().load(getExpression()); if (e != null) { CNG cng = new CNG(rng, new ExpressionNoise(rng, e), 1D, 1) diff --git a/src/main/java/com/volmit/iris/engine/object/objects/LoaderObject.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObject.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/objects/LoaderObject.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObject.java index 855a90f09..c80e4b2c3 100644 --- a/src/main/java/com/volmit/iris/engine/object/objects/LoaderObject.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObject.java @@ -21,11 +21,11 @@ package com.volmit.iris.engine.object.objects; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import com.volmit.iris.engine.framework.placer.HeightmapObjectPlacer; import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.engine.object.basic.IrisPosition; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.common.CarveResult; import com.volmit.iris.engine.object.common.IObjectPlacer; import com.volmit.iris.engine.object.tile.TileData; @@ -58,7 +58,7 @@ import java.util.function.Consumer; @Accessors(chain = true) @Data @EqualsAndHashCode(callSuper = false) -public class LoaderObject extends LoaderRegistrant { +public class IrisObject extends IrisRegistrant { private static final Vector HALF = new Vector(0.5, 0.5, 0.5); private static final BlockData AIR = B.get("CAVE_AIR"); private static final BlockData VAIR = B.get("VOID_AIR"); @@ -77,7 +77,7 @@ public class LoaderObject extends LoaderRegistrant { private transient AtomicCache aabb = new AtomicCache<>(); - public LoaderObject(int w, int h, int d) { + public IrisObject(int w, int h, int d) { blocks = new KMap<>(); states = new KMap<>(); this.w = w; @@ -86,7 +86,7 @@ public class LoaderObject extends LoaderRegistrant { center = new BlockVector(w / 2, h / 2, d / 2); } - public LoaderObject() { + public IrisObject() { this(0, 0, 0); } @@ -214,8 +214,8 @@ public class LoaderObject extends LoaderRegistrant { lock.unlock(); } - public synchronized LoaderObject copy() { - LoaderObject o = new LoaderObject(w, h, d); + public synchronized IrisObject copy() { + IrisObject o = new IrisObject(w, h, d); o.setLoadKey(o.getLoadKey()); o.setCenter(getCenter().clone()); @@ -317,7 +317,7 @@ public class LoaderObject extends LoaderRegistrant { dos.writeShort(i.getBlockX()); dos.writeShort(i.getBlockY()); dos.writeShort(i.getBlockZ()); - dos.writeShort(palette.indexOf(Objects.requireNonNull(getBlocks().get(i)).getAsString())); + dos.writeShort(palette.indexOf(getBlocks().get(i).getAsString())); } dos.writeInt(getStates().size()); @@ -325,7 +325,7 @@ public class LoaderObject extends LoaderRegistrant { dos.writeShort(i.getBlockX()); dos.writeShort(i.getBlockY()); dos.writeShort(i.getBlockZ()); - Objects.requireNonNull(getStates().get(i)).toBinary(dos); + getStates().get(i).toBinary(dos); } } @@ -717,8 +717,8 @@ public class LoaderObject extends LoaderRegistrant { return y; } - public LoaderObject rotateCopy(IrisObjectRotation rt) { - LoaderObject copy = copy(); + public IrisObject rotateCopy(IrisObjectRotation rt) { + IrisObject copy = copy(); copy.rotate(rt, 0, 0, 0); return copy; } @@ -780,7 +780,7 @@ public class LoaderObject extends LoaderRegistrant { } } - public LoaderObject scaled(double scale, IrisObjectPlacementScaleInterpolator interpolation) { + public IrisObject scaled(double scale, IrisObjectPlacementScaleInterpolator interpolation) { Vector sm1 = new Vector(scale - 1, scale - 1, scale - 1); scale = Math.max(0.001, Math.min(50, scale)); if (scale < 1) { @@ -802,7 +802,7 @@ public class LoaderObject extends LoaderRegistrant { center = center.setZ(center.getBlockZ() + 0.5); } - LoaderObject oo = new LoaderObject((int) Math.ceil((w * scale) + (scale * 2)), (int) Math.ceil((h * scale) + (scale * 2)), (int) Math.ceil((d * scale) + (scale * 2))); + IrisObject oo = new IrisObject((int) Math.ceil((w * scale) + (scale * 2)), (int) Math.ceil((h * scale) + (scale * 2)), (int) Math.ceil((d * scale) + (scale * 2))); for (Map.Entry entry : blocks.entrySet()) { BlockData bd = entry.getValue(); diff --git a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLoot.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLoot.java index f18647e84..97c422c34 100644 --- a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLoot.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLoot.java @@ -20,8 +20,8 @@ package com.volmit.iris.engine.object.objects; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.object.block.LoaderBlockData; -import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.block.IrisBlockData; +import com.volmit.iris.engine.object.loot.IrisLootTable; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -39,16 +39,16 @@ import org.bukkit.block.data.BlockData; @Desc("Represents loot within this object or jigsaw piece") @Data public class IrisObjectLoot { - @ArrayType(min = 1, type = LoaderBlockData.class) + @ArrayType(min = 1, type = IrisBlockData.class) @Desc("The list of blocks this loot table should apply to") - private KList filter = new KList<>(); + private KList filter = new KList<>(); @Desc("Exactly match the block data or not") private boolean exact = false; @Desc("The loot table name") @Required - @RegistryListResource(LoaderLootTable.class) + @RegistryListResource(IrisLootTable.class) private String name; @Desc("The weight of this loot table being chosen") @@ -61,7 +61,7 @@ public class IrisObjectLoot { { KList b = new KList<>(); - for (LoaderBlockData i : filter) { + for (IrisBlockData i : filter) { BlockData bx = i.getBlockData(rdata); if (bx != null) { diff --git a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacement.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacement.java index 566ea314a..b0fd57680 100644 --- a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacement.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacement.java @@ -21,11 +21,11 @@ package com.volmit.iris.engine.object.objects; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.B; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.B; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.util.interpolation.InterpolationMethod; import com.volmit.iris.engine.object.feature.IrisFeaturePotential; -import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.loot.IrisLootTable; import com.volmit.iris.engine.object.noise.CarvingMode; import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.engine.object.noise.IrisNoiseGenerator; @@ -54,7 +54,7 @@ import org.bukkit.block.data.BlockData; @Desc("Represents an iris object placer. It places objects.") @Data public class IrisObjectPlacement { - @RegistryListResource(LoaderObject.class) + @RegistryListResource(IrisObject.class) @Required @ArrayType(min = 1, type = String.class) @Desc("List of objects to place") @@ -214,7 +214,7 @@ public class IrisObjectPlacement { return 0; } - public LoaderObject getObject(DataProvider g, RNG random) { + public IrisObject getObject(DataProvider g, RNG random) { if (place.isEmpty()) { return null; } @@ -243,9 +243,9 @@ public class IrisObjectPlacement { } private static class TableCache { - final transient WeightedRandom global = new WeightedRandom<>(); - final transient KMap> basic = new KMap<>(); - final transient KMap>> exact = new KMap<>(); + final transient WeightedRandom global = new WeightedRandom<>(); + final transient KMap> basic = new KMap<>(); + final transient KMap>> exact = new KMap<>(); } private TableCache getCache(IrisData manager) { @@ -253,7 +253,7 @@ public class IrisObjectPlacement { TableCache tc = new TableCache(); for (IrisObjectLoot loot : getLoot()) { - LoaderLootTable table = manager.getLootLoader().load(loot.getName()); + IrisLootTable table = manager.getLootLoader().load(loot.getName()); if (table == null) { Iris.warn("Couldn't find loot table " + loot.getName()); continue; @@ -297,11 +297,11 @@ public class IrisObjectPlacement { * @param dataManager Iris Data Manager * @return The loot table it should use. */ - public LoaderLootTable getTable(BlockData data, IrisData dataManager) { + public IrisLootTable getTable(BlockData data, IrisData dataManager) { TableCache cache = getCache(dataManager); if (B.isStorageChest(data)) { - LoaderLootTable picked = null; + IrisLootTable picked = null; if (cache.exact.containsKey(data.getMaterial()) && cache.exact.containsKey(data)) { picked = cache.exact.get(data.getMaterial()).get(data).pullRandom(); } else if (cache.basic.containsKey(data.getMaterial())) { diff --git a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectReplace.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectReplace.java index 40c48e0a9..c11087b61 100644 --- a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectReplace.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectReplace.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.object.objects; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.block.IrisBlockData; import com.volmit.iris.engine.object.block.IrisMaterialPalette; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; @@ -38,10 +38,10 @@ import org.bukkit.block.data.BlockData; @Desc("Find and replace object materials") @Data public class IrisObjectReplace { - @ArrayType(min = 1, type = LoaderBlockData.class) + @ArrayType(min = 1, type = IrisBlockData.class) @Required @Desc("Find this block") - private KList find = new KList<>(); + private KList find = new KList<>(); @Required @Desc("Replace it with this block palette") @@ -64,7 +64,7 @@ public class IrisObjectReplace { { KList b = new KList<>(); - for (LoaderBlockData i : find) { + for (IrisBlockData i : find) { BlockData bx = i.getBlockData(rdata); if (bx != null) { diff --git a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectRotation.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectRotation.java index 34a92875d..1361187fe 100644 --- a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectRotation.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectRotation.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.object.objects; import com.volmit.iris.Iris; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.basic.IrisPosition; -import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPiece; import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; @@ -66,7 +66,7 @@ public class IrisObjectRotation { return getRotation(spin, zAxis); } - public LoaderObject rotateCopy(LoaderObject e) { + public IrisObject rotateCopy(IrisObject e) { if (e == null) { return null; } @@ -74,8 +74,8 @@ public class IrisObjectRotation { return e.rotateCopy(this); } - public LoaderJigsawPiece rotateCopy(LoaderJigsawPiece v) { - LoaderJigsawPiece piece = v.copy(); + public IrisJigsawPiece rotateCopy(IrisJigsawPiece v) { + IrisJigsawPiece piece = v.copy(); for (IrisJigsawPieceConnector i : piece.getConnectors()) { i.setPosition(rotate(i.getPosition())); i.setDirection(rotate(i.getDirection())); diff --git a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectScale.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectScale.java index d25f84eb1..90ef390c9 100644 --- a/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectScale.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectScale.java @@ -53,8 +53,8 @@ public class IrisObjectScale { @Desc("If this object is scaled up beyond its origin size, specify a 3D interpolator") private IrisObjectPlacementScaleInterpolator interpolation = IrisObjectPlacementScaleInterpolator.NONE; - private static transient ConcurrentLinkedHashMap> cache - = new ConcurrentLinkedHashMap.Builder>() + private static transient ConcurrentLinkedHashMap> cache + = new ConcurrentLinkedHashMap.Builder>() .initialCapacity(64) .maximumWeightedCapacity(1024) .concurrencyLevel(32) @@ -78,7 +78,7 @@ public class IrisObjectScale { return mx; } - public LoaderObject get(RNG rng, LoaderObject origin) { + public IrisObject get(RNG rng, IrisObject origin) { if (shouldScale()) { return origin; } @@ -88,7 +88,7 @@ public class IrisObjectScale { return v; } - KList c = new KList<>(); + KList c = new KList<>(); for (double i = minimumScale; i < maximumScale; i += (maximumScale - minimumScale) / (double) (Math.min(variations, 32))) { c.add(origin.scaled(i, getInterpolation())); } diff --git a/src/main/java/com/volmit/iris/engine/object/objects/IrisRareObject.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisRareObject.java index 04e4e9e4d..ed01c6301 100644 --- a/src/main/java/com/volmit/iris/engine/object/objects/IrisRareObject.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisRareObject.java @@ -42,7 +42,7 @@ public class IrisRareObject { @Desc("The rarity is 1 in X") private int rarity = 1; - @RegistryListResource(LoaderObject.class) + @RegistryListResource(IrisObject.class) @Required @Desc("The object to place if rarity check passed") private String object = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/regional/LoaderRegion.java b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegion.java similarity index 87% rename from src/main/java/com/volmit/iris/engine/object/regional/LoaderRegion.java rename to src/main/java/com/volmit/iris/engine/object/regional/IrisRegion.java index 1eecd986c..da26068a9 100644 --- a/src/main/java/com/volmit/iris/engine/object/regional/LoaderRegion.java +++ b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegion.java @@ -21,11 +21,11 @@ package com.volmit.iris.engine.object.regional; import com.volmit.iris.Iris; import com.volmit.iris.core.gui.components.RenderType; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.engine.object.biome.InferredType; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.block.IrisBlockDrops; import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; import com.volmit.iris.engine.object.feature.IrisFeaturePotential; @@ -35,7 +35,7 @@ import com.volmit.iris.engine.object.meta.IrisEffect; import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.engine.object.objects.IrisObjectPlacement; -import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.spawners.IrisSpawner; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.engine.object.common.IRare; @@ -62,7 +62,7 @@ import java.util.Random; @Desc("Represents an iris region") @Data @EqualsAndHashCode(callSuper = false) -public class LoaderRegion extends LoaderRegistrant implements IRare { +public class IrisRegion extends IrisRegistrant implements IRare { @MinNumber(2) @Required @Desc("The name of the region") @@ -82,7 +82,7 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { @Desc("Spawn Entities in this region over time. Iris will continually replenish these mobs just like vanilla does.") @ArrayType(min = 1, type = String.class) - @RegistryListResource(LoaderSpawner.class) + @RegistryListResource(IrisSpawner.class) private KList entitySpawners = new KList<>(); @MinNumber(1) @@ -147,35 +147,35 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { @Desc("The biome implosion ratio, how much to implode biomes into children (chance)") private double biomeImplosionRatio = 0.4; - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList landBiomes = new KList<>(); - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList seaBiomes = new KList<>(); - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList shoreBiomes = new KList<>(); - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList riverBiomes = new KList<>(); - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList lakeBiomes = new KList<>(); - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList caveBiomes = new KList<>(); @@ -228,12 +228,12 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { private final transient AtomicCache> cacheRidge = new AtomicCache<>(); private final transient AtomicCache> cacheSpot = new AtomicCache<>(); private final transient AtomicCache shoreHeightGenerator = new AtomicCache<>(); - private final transient AtomicCache> realLandBiomes = new AtomicCache<>(); - private final transient AtomicCache> realLakeBiomes = new AtomicCache<>(); - private final transient AtomicCache> realRiverBiomes = new AtomicCache<>(); - private final transient AtomicCache> realSeaBiomes = new AtomicCache<>(); - private final transient AtomicCache> realShoreBiomes = new AtomicCache<>(); - private final transient AtomicCache> realCaveBiomes = new AtomicCache<>(); + private final transient AtomicCache> realLandBiomes = new AtomicCache<>(); + private final transient AtomicCache> realLakeBiomes = new AtomicCache<>(); + private final transient AtomicCache> realRiverBiomes = new AtomicCache<>(); + private final transient AtomicCache> realSeaBiomes = new AtomicCache<>(); + private final transient AtomicCache> realShoreBiomes = new AtomicCache<>(); + private final transient AtomicCache> realCaveBiomes = new AtomicCache<>(); private final transient AtomicCache lakeGen = new AtomicCache<>(); private final transient AtomicCache riverGen = new AtomicCache<>(); private final transient AtomicCache riverChanceGen = new AtomicCache<>(); @@ -364,8 +364,8 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { return names; } - public KList getAllBiomes(DataProvider g) { - KMap b = new KMap<>(); + public KList getAllBiomes(DataProvider g) { + KMap b = new KMap<>(); KSet names = getAllBiomeIds(); while (!names.isEmpty()) { @@ -375,7 +375,7 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { continue; } - LoaderBiome biome = g.getData().getBiomeLoader().load(i); + IrisBiome biome = g.getData().getBiomeLoader().load(i); names.remove(i); if (biome == null) { @@ -391,7 +391,7 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { return b.v(); } - public KList getBiomes(DataProvider g, InferredType type) { + public KList getBiomes(DataProvider g, InferredType type) { if (type.equals(InferredType.LAND)) { return getRealLandBiomes(g); } else if (type.equals(InferredType.SEA)) { @@ -409,10 +409,10 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { return new KList<>(); } - public KList getRealCaveBiomes(DataProvider g) { + public KList getRealCaveBiomes(DataProvider g) { return realCaveBiomes.aquire(() -> { - KList realCaveBiomes = new KList<>(); + KList realCaveBiomes = new KList<>(); for (String i : getCaveBiomes()) { realCaveBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -422,10 +422,10 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { }); } - public KList getRealLakeBiomes(DataProvider g) { + public KList getRealLakeBiomes(DataProvider g) { return realLakeBiomes.aquire(() -> { - KList realLakeBiomes = new KList<>(); + KList realLakeBiomes = new KList<>(); for (String i : getLakeBiomes()) { realLakeBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -435,10 +435,10 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { }); } - public KList getRealRiverBiomes(DataProvider g) { + public KList getRealRiverBiomes(DataProvider g) { return realRiverBiomes.aquire(() -> { - KList realRiverBiomes = new KList<>(); + KList realRiverBiomes = new KList<>(); for (String i : getRiverBiomes()) { realRiverBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -448,10 +448,10 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { }); } - public KList getRealShoreBiomes(DataProvider g) { + public KList getRealShoreBiomes(DataProvider g) { return realShoreBiomes.aquire(() -> { - KList realShoreBiomes = new KList<>(); + KList realShoreBiomes = new KList<>(); for (String i : getShoreBiomes()) { realShoreBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -461,10 +461,10 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { }); } - public KList getRealSeaBiomes(DataProvider g) { + public KList getRealSeaBiomes(DataProvider g) { return realSeaBiomes.aquire(() -> { - KList realSeaBiomes = new KList<>(); + KList realSeaBiomes = new KList<>(); for (String i : getSeaBiomes()) { realSeaBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -474,10 +474,10 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { }); } - public KList getRealLandBiomes(DataProvider g) { + public KList getRealLandBiomes(DataProvider g) { return realLandBiomes.aquire(() -> { - KList realLandBiomes = new KList<>(); + KList realLandBiomes = new KList<>(); for (String i : getLandBiomes()) { realLandBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -487,8 +487,8 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { }); } - public KList getAllAnyBiomes() { - KMap b = new KMap<>(); + public KList getAllAnyBiomes() { + KMap b = new KMap<>(); KSet names = new KSet<>(); names.addAll(landBiomes); names.addAll(caveBiomes); @@ -506,7 +506,7 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { continue; } - LoaderBiome biome = IrisData.loadAnyBiome(i); + IrisBiome biome = IrisData.loadAnyBiome(i); names.remove(i); if (biome == null) { @@ -528,11 +528,11 @@ public class LoaderRegion extends LoaderRegistrant implements IRare { Random rand = new Random(getName().hashCode() + getAllBiomeIds().hashCode()); RandomColor randomColor = new RandomColor(rand); - KList biomes = getRealLandBiomes(dataProvider); + KList biomes = getRealLandBiomes(dataProvider); while (biomes.size() > 0) { int index = rand.nextInt(biomes.size()); - LoaderBiome biome = biomes.get(index); + IrisBiome biome = biomes.get(index); if (biome.getVanillaDerivative() != null) { RandomColor.Color col = VanillaBiomeMap.getColorType(biome.getVanillaDerivative()); diff --git a/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionRidge.java b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionRidge.java index 49d29b5ad..c6aadc065 100644 --- a/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionRidge.java +++ b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionRidge.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.object.regional; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.biome.InferredType; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; import com.volmit.iris.util.noise.CellGenerator; import com.volmit.iris.engine.object.annotations.*; @@ -36,7 +36,7 @@ import lombok.experimental.Accessors; @Desc("A ridge config") @Data public class IrisRegionRidge { - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Required @Desc("The biome name") private String biome = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionSpot.java b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionSpot.java index a5fdc9164..100dd9326 100644 --- a/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionSpot.java +++ b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionSpot.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.object.regional; import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.biome.InferredType; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; import com.volmit.iris.util.noise.CellGenerator; import com.volmit.iris.engine.object.annotations.Desc; @@ -39,7 +39,7 @@ import lombok.experimental.Accessors; @Desc("A spot config") @Data public class IrisRegionSpot { - @RegistryListResource(LoaderBiome.class) + @RegistryListResource(IrisBiome.class) @Required @Desc("The biome to be placed") private String biome = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/spawners/LoaderSpawner.java b/src/main/java/com/volmit/iris/engine/object/spawners/IrisSpawner.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/spawners/LoaderSpawner.java rename to src/main/java/com/volmit/iris/engine/object/spawners/IrisSpawner.java index bc1e6ce2f..1f9d5c8d0 100644 --- a/src/main/java/com/volmit/iris/engine/object/spawners/LoaderSpawner.java +++ b/src/main/java/com/volmit/iris/engine/object/spawners/IrisSpawner.java @@ -19,12 +19,12 @@ package com.volmit.iris.engine.object.spawners; import com.volmit.iris.engine.object.basic.IrisRate; -import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.core.project.loader.IrisRegistrant; import com.volmit.iris.engine.object.basic.IrisTimeBlock; import com.volmit.iris.engine.object.basic.IrisWeather; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.entity.IrisEntitySpawn; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; @@ -40,7 +40,7 @@ import org.bukkit.World; @AllArgsConstructor @Desc("Represents an entity spawn during initial chunk generation") @Data -public class LoaderSpawner extends LoaderRegistrant { +public class IrisSpawner extends IrisRegistrant { @ArrayType(min = 1, type = IrisEntitySpawn.class) @Desc("The entity spawns to add") private KList spawns = new KList<>(); @@ -60,7 +60,7 @@ public class LoaderSpawner extends LoaderRegistrant { @Desc("Where should these spawns be placed") private IrisSpawnGroup group = IrisSpawnGroup.NORMAL; - public boolean isValid(LoaderBiome biome) { + public boolean isValid(IrisBiome biome) { return switch (group) { case NORMAL -> switch (biome.getInferredType()) { case SHORE, SEA, CAVE, RIVER, LAKE, DEFER -> false; diff --git a/src/main/java/com/volmit/iris/engine/object/tile/TileBanner.java b/src/main/java/com/volmit/iris/engine/object/tile/TileBanner.java index 6bcb3354c..1b5e05ef3 100644 --- a/src/main/java/com/volmit/iris/engine/object/tile/TileBanner.java +++ b/src/main/java/com/volmit/iris/engine/object/tile/TileBanner.java @@ -18,8 +18,8 @@ package com.volmit.iris.engine.object.tile; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; -import com.volmit.iris.engine.data.nbt.tag.ListTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.ListTag; import lombok.Data; import org.bukkit.DyeColor; import org.bukkit.Material; diff --git a/src/main/java/com/volmit/iris/engine/object/tile/TileData.java b/src/main/java/com/volmit/iris/engine/object/tile/TileData.java index 0e6b8098b..a03520d42 100644 --- a/src/main/java/com/volmit/iris/engine/object/tile/TileData.java +++ b/src/main/java/com/volmit/iris/engine/object/tile/TileData.java @@ -19,7 +19,7 @@ package com.volmit.iris.engine.object.tile; import com.volmit.iris.Iris; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; import com.volmit.iris.util.collection.KList; import org.bukkit.block.Block; import org.bukkit.block.BlockState; diff --git a/src/main/java/com/volmit/iris/engine/object/tile/TileSign.java b/src/main/java/com/volmit/iris/engine/object/tile/TileSign.java index c5c260c9a..65dc8c1f6 100644 --- a/src/main/java/com/volmit/iris/engine/object/tile/TileSign.java +++ b/src/main/java/com/volmit/iris/engine/object/tile/TileSign.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.tile; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; import lombok.Data; import org.bukkit.DyeColor; import org.bukkit.block.Sign; diff --git a/src/main/java/com/volmit/iris/engine/object/tile/TileSpawner.java b/src/main/java/com/volmit/iris/engine/object/tile/TileSpawner.java index cc94516fc..5b7e423f6 100644 --- a/src/main/java/com/volmit/iris/engine/object/tile/TileSpawner.java +++ b/src/main/java/com/volmit/iris/engine/object/tile/TileSpawner.java @@ -18,8 +18,8 @@ package com.volmit.iris.engine.object.tile; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; -import com.volmit.iris.engine.data.nbt.tag.ListTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.ListTag; import lombok.Data; import org.bukkit.Material; import org.bukkit.block.CreatureSpawner; diff --git a/src/main/java/com/volmit/iris/engine/data/B.java b/src/main/java/com/volmit/iris/util/data/B.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/data/B.java rename to src/main/java/com/volmit/iris/util/data/B.java index 9ef93defb..a464185b6 100644 --- a/src/main/java/com/volmit/iris/engine/data/B.java +++ b/src/main/java/com/volmit/iris/util/data/B.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data; +package com.volmit.iris.util.data; import com.volmit.iris.Iris; import com.volmit.iris.util.collection.KList; diff --git a/src/main/java/com/volmit/iris/util/data/BiomeMap.java b/src/main/java/com/volmit/iris/util/data/BiomeMap.java index 4e7861699..65339ab06 100644 --- a/src/main/java/com/volmit/iris/util/data/BiomeMap.java +++ b/src/main/java/com/volmit/iris/util/data/BiomeMap.java @@ -18,20 +18,20 @@ package com.volmit.iris.util.data; -import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiome; public class BiomeMap { - private final LoaderBiome[] height; + private final IrisBiome[] height; public BiomeMap() { - height = new LoaderBiome[256]; + height = new IrisBiome[256]; } - public void setBiome(int x, int z, LoaderBiome h) { + public void setBiome(int x, int z, IrisBiome h) { height[x * 16 + z] = h; } - public LoaderBiome getBiome(int x, int z) { + public IrisBiome getBiome(int x, int z) { return height[x * 16 + z]; } } diff --git a/src/main/java/com/volmit/iris/util/data/DataPalette.java b/src/main/java/com/volmit/iris/util/data/DataPalette.java index 8d4ebf435..dbe99d16c 100644 --- a/src/main/java/com/volmit/iris/util/data/DataPalette.java +++ b/src/main/java/com/volmit/iris/util/data/DataPalette.java @@ -24,101 +24,67 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -public abstract class DataPalette implements Writable { - private static final int DEFAULT_BITS_PER_BLOCK = 4; - private static final int CAPACITY = 4096; - private int bpb; - private NibbleArray data; - private KList palette; +public class DataPalette { + private final KList palette; - public DataPalette(T defaultValue) { - palette = new KList<>(); - bpb = DEFAULT_BITS_PER_BLOCK; - data = new NibbleArray(bpb, CAPACITY); - data.setAll(Byte.MIN_VALUE); - getPaletteId(defaultValue); + public DataPalette() { + this(new KList<>(16)); } - public abstract T readType(DataInputStream i); - - public abstract void writeType(T t, DataOutputStream o); - - @Override - public void write(DataOutputStream o) throws IOException { - o.writeByte(bpb + Byte.MIN_VALUE); - o.writeByte(palette.size() + Byte.MIN_VALUE); - - for (T i : palette) { - writeType(i, o); - } - - data.write(o); + public DataPalette(KList palette) { + this.palette = palette; } - @Override - public void read(DataInputStream i) throws IOException { - bpb = i.readByte() - Byte.MIN_VALUE; - palette = new KList<>(); - int v = i.readByte() - Byte.MIN_VALUE; - - for (int j = 0; j < v; j++) { - palette.add(readType(i)); - } - - data = new NibbleArray(CAPACITY, i); + public KList getPalette() { + return palette; } - private final void expand() { - if (bpb < 8) { - changeBitsPerBlock(bpb + 1); - } else { - throw new IndexOutOfBoundsException("The Data Palette can only handle at most 256 block types per 16x16x16 region. We cannot use more than 8 bits per block!"); + public T get(int index) + { + synchronized (palette) + { + if(!palette.hasIndex(index)) + { + return null; + } + + return palette.get(index); } } - public final void optimize() { - int targetBits = bpb; - int needed = palette.size(); + public int getIndex(T t) { + int v = 0; - for (int i = 1; i < bpb; i++) { - if (Math.pow(2, i) > needed) { - targetBits = i; - break; + synchronized (palette) { + v = palette.indexOf(t); + + if (v == -1) { + v = palette.size(); + palette.add(t); } } - changeBitsPerBlock(targetBits); + return v; } - private final void changeBitsPerBlock(int bits) { - bpb = bits; - data = new NibbleArray(bpb, CAPACITY, data); - } + public void write(IOAdapter adapter, DataOutputStream dos) throws IOException { + synchronized (palette) { + dos.writeShort(getPalette().size() + Short.MIN_VALUE); - public final void set(int x, int y, int z, T d) { - data.set(getCoordinateIndex(x, y, z), getPaletteId(d)); - } - - public final T get(int x, int y, int z) { - return palette.get(data.get(getCoordinateIndex(x, y, z))); - } - - private final int getPaletteId(T d) { - int index = palette.indexOf(d); - - if (index == -1) { - index = palette.size(); - palette.add(d); - - if (palette.size() > Math.pow(2, bpb)) { - expand(); + for (T t : palette) { + adapter.write(t, dos); } } - - return index + Byte.MIN_VALUE; } - private final int getCoordinateIndex(int x, int y, int z) { - return y << 8 | z << 4 | x; + public static DataPalette getPalette(IOAdapter adapter, DataInputStream din) throws IOException { + KList palette = new KList<>(); + int s = din.readShort() - Short.MIN_VALUE; + + for (int i = 0; i < s; i++) { + palette.add(adapter.read(din)); + } + + return new DataPalette<>(palette); } } diff --git a/src/main/java/com/volmit/iris/engine/data/DataProvider.java b/src/main/java/com/volmit/iris/util/data/DataProvider.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/data/DataProvider.java rename to src/main/java/com/volmit/iris/util/data/DataProvider.java index 1a542fd45..9fa3adb1b 100644 --- a/src/main/java/com/volmit/iris/engine/data/DataProvider.java +++ b/src/main/java/com/volmit/iris/util/data/DataProvider.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data; +package com.volmit.iris.util.data; import com.volmit.iris.core.project.loader.IrisData; diff --git a/src/main/java/com/volmit/iris/engine/data/IOAdapter.java b/src/main/java/com/volmit/iris/util/data/IOAdapter.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/data/IOAdapter.java rename to src/main/java/com/volmit/iris/util/data/IOAdapter.java index 2e0ac1064..add934e25 100644 --- a/src/main/java/com/volmit/iris/engine/data/IOAdapter.java +++ b/src/main/java/com/volmit/iris/util/data/IOAdapter.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data; +package com.volmit.iris.util.data; import java.io.DataInputStream; import java.io.DataOutputStream; diff --git a/src/main/java/com/volmit/iris/util/data/NibbleDataPalette.java b/src/main/java/com/volmit/iris/util/data/NibbleDataPalette.java new file mode 100644 index 000000000..1da173193 --- /dev/null +++ b/src/main/java/com/volmit/iris/util/data/NibbleDataPalette.java @@ -0,0 +1,124 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2021 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.data; + +import com.volmit.iris.util.collection.KList; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public abstract class NibbleDataPalette implements Writable { + private static final int DEFAULT_BITS_PER_BLOCK = 4; + private static final int CAPACITY = 4096; + private int bpb; + private NibbleArray data; + private KList palette; + + public NibbleDataPalette(T defaultValue) { + palette = new KList<>(); + bpb = DEFAULT_BITS_PER_BLOCK; + data = new NibbleArray(bpb, CAPACITY); + data.setAll(Byte.MIN_VALUE); + getPaletteId(defaultValue); + } + + public abstract T readType(DataInputStream i) throws IOException; + + public abstract void writeType(T t, DataOutputStream o) throws IOException; + + @Override + public void write(DataOutputStream o) throws IOException { + o.writeByte(bpb + Byte.MIN_VALUE); + o.writeByte(palette.size() + Byte.MIN_VALUE); + + for (T i : palette) { + writeType(i, o); + } + + data.write(o); + } + + @Override + public void read(DataInputStream i) throws IOException { + bpb = i.readByte() - Byte.MIN_VALUE; + palette = new KList<>(); + int v = i.readByte() - Byte.MIN_VALUE; + + for (int j = 0; j < v; j++) { + palette.add(readType(i)); + } + + data = new NibbleArray(CAPACITY, i); + } + + private final void expand() { + if (bpb < 8) { + changeBitsPerBlock(bpb + 1); + } else { + throw new IndexOutOfBoundsException("The Data Palette can only handle at most 256 block types per 16x16x16 region. We cannot use more than 8 bits per block!"); + } + } + + public final void optimize() { + int targetBits = bpb; + int needed = palette.size(); + + for (int i = 1; i < bpb; i++) { + if (Math.pow(2, i) > needed) { + targetBits = i; + break; + } + } + + changeBitsPerBlock(targetBits); + } + + private final void changeBitsPerBlock(int bits) { + bpb = bits; + data = new NibbleArray(bpb, CAPACITY, data); + } + + public final void set(int x, int y, int z, T d) { + data.set(getCoordinateIndex(x, y, z), getPaletteId(d)); + } + + public final T get(int x, int y, int z) { + return palette.get(data.get(getCoordinateIndex(x, y, z))); + } + + private final int getPaletteId(T d) { + int index = palette.indexOf(d); + + if (index == -1) { + index = palette.size(); + palette.add(d); + + if (palette.size() > Math.pow(2, bpb)) { + expand(); + } + } + + return index + Byte.MIN_VALUE; + } + + private final int getCoordinateIndex(int x, int y, int z) { + return y << 8 | z << 4 | x; + } +} diff --git a/src/main/java/com/volmit/iris/util/hunk/io/BlockDataHunkIOAdapter.java b/src/main/java/com/volmit/iris/util/hunk/io/BlockDataHunkIOAdapter.java index 54e0327fc..5c6f29339 100644 --- a/src/main/java/com/volmit/iris/util/hunk/io/BlockDataHunkIOAdapter.java +++ b/src/main/java/com/volmit/iris/util/hunk/io/BlockDataHunkIOAdapter.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.hunk.io; -import com.volmit.iris.engine.data.B; +import com.volmit.iris.util.data.B; import org.bukkit.block.data.BlockData; import java.io.DataInputStream; diff --git a/src/main/java/com/volmit/iris/util/hunk/io/HunkIOAdapter.java b/src/main/java/com/volmit/iris/util/hunk/io/HunkIOAdapter.java index b1dbfa1ef..e82284ac2 100644 --- a/src/main/java/com/volmit/iris/util/hunk/io/HunkIOAdapter.java +++ b/src/main/java/com/volmit/iris/util/hunk/io/HunkIOAdapter.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.hunk.io; -import com.volmit.iris.engine.data.IOAdapter; +import com.volmit.iris.util.data.IOAdapter; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.function.Function3; import com.volmit.iris.util.io.CustomOutputStream; diff --git a/src/main/java/com/volmit/iris/util/hunk/io/PaletteHunkIOAdapter.java b/src/main/java/com/volmit/iris/util/hunk/io/PaletteHunkIOAdapter.java index 37862ef2b..852447353 100644 --- a/src/main/java/com/volmit/iris/util/hunk/io/PaletteHunkIOAdapter.java +++ b/src/main/java/com/volmit/iris/util/hunk/io/PaletteHunkIOAdapter.java @@ -19,7 +19,7 @@ package com.volmit.iris.util.hunk.io; import com.volmit.iris.Iris; -import com.volmit.iris.engine.data.DataPalette; +import com.volmit.iris.util.data.DataPalette; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.function.Function3; diff --git a/src/main/java/com/volmit/iris/util/io/SKConversion.java b/src/main/java/com/volmit/iris/util/io/SKConversion.java index 1351e1156..b92b9dd6a 100644 --- a/src/main/java/com/volmit/iris/util/io/SKConversion.java +++ b/src/main/java/com/volmit/iris/util/io/SKConversion.java @@ -25,7 +25,7 @@ import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats; import com.sk89q.worldedit.extent.clipboard.io.ClipboardReader; import com.sk89q.worldedit.math.BlockVector3; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObject; import java.io.File; import java.io.FileInputStream; @@ -37,7 +37,7 @@ public class SKConversion { try (ClipboardReader reader = format.getReader(new FileInputStream(in))) { Clipboard clipboard = reader.read(); BlockVector3 size = clipboard.getMaximumPoint().subtract(clipboard.getMinimumPoint()); - LoaderObject o = new LoaderObject(size.getBlockX() + 1, size.getBlockY() + 1, size.getBlockZ() + 1); + IrisObject o = new IrisObject(size.getBlockX() + 1, size.getBlockY() + 1, size.getBlockZ() + 1); for (int i = clipboard.getMinimumPoint().getBlockX(); i <= clipboard.getMaximumPoint().getBlockX(); i++) { for (int j = clipboard.getMinimumPoint().getBlockY(); j <= clipboard.getMaximumPoint().getBlockY(); j++) { diff --git a/src/main/java/com/volmit/iris/engine/object/matter/Matter.java b/src/main/java/com/volmit/iris/util/matter/Matter.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/object/matter/Matter.java rename to src/main/java/com/volmit/iris/util/matter/Matter.java index 3842aff72..afd1860dc 100644 --- a/src/main/java/com/volmit/iris/engine/object/matter/Matter.java +++ b/src/main/java/com/volmit/iris/util/matter/Matter.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object.matter; +package com.volmit.iris.util.matter; import com.volmit.iris.util.data.Varint; import com.volmit.iris.util.math.BlockPosition; diff --git a/src/main/java/com/volmit/iris/engine/object/matter/MatterHeader.java b/src/main/java/com/volmit/iris/util/matter/MatterHeader.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/matter/MatterHeader.java rename to src/main/java/com/volmit/iris/util/matter/MatterHeader.java index 9b049e950..5bb119c1b 100644 --- a/src/main/java/com/volmit/iris/engine/object/matter/MatterHeader.java +++ b/src/main/java/com/volmit/iris/util/matter/MatterHeader.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object.matter; +package com.volmit.iris.util.matter; import com.volmit.iris.util.data.Varint; import com.volmit.iris.util.math.M; diff --git a/src/main/java/com/volmit/iris/engine/object/matter/MatterHunk.java b/src/main/java/com/volmit/iris/util/matter/MatterHunk.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/matter/MatterHunk.java rename to src/main/java/com/volmit/iris/util/matter/MatterHunk.java index a85cbeeb7..de0590ccf 100644 --- a/src/main/java/com/volmit/iris/engine/object/matter/MatterHunk.java +++ b/src/main/java/com/volmit/iris/util/matter/MatterHunk.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object.matter; +package com.volmit.iris.util.matter; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.hunk.storage.StorageHunk; diff --git a/src/main/java/com/volmit/iris/util/matter/MatterPalette.java b/src/main/java/com/volmit/iris/util/matter/MatterPalette.java new file mode 100644 index 000000000..5f8c7bfb2 --- /dev/null +++ b/src/main/java/com/volmit/iris/util/matter/MatterPalette.java @@ -0,0 +1,71 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2021 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.matter; + +import com.volmit.iris.util.collection.KList; +import com.volmit.iris.util.data.DataPalette; +import com.volmit.iris.util.data.IOAdapter; +import com.volmit.iris.util.data.NibbleDataPalette; +import com.volmit.iris.util.data.Varint; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class MatterPalette implements IOAdapter { + private final MatterSlice slice; + private final DataPalette palette; + + public MatterPalette(MatterSlice slice) + { + this.slice = slice; + palette = new DataPalette(); + } + + public MatterPalette(MatterSlice slice, DataInputStream din) throws IOException { + this.slice = slice; + palette = DataPalette.getPalette(this, din); + } + + public void writeNode(T t, DataOutputStream dos) throws IOException { + Varint.writeUnsignedVarInt(palette.getIndex(t), dos); + } + + public T readNode(DataInputStream din) throws IOException { + return palette.get(Varint.readUnsignedVarInt(din)); + } + + public void writePalette(DataOutputStream dos) throws IOException { + palette.write(this, dos); + } + + @Override + public void write(T t, DataOutputStream dos) throws IOException { + slice.writeNode(t, dos); + } + + @Override + public T read(DataInputStream din) throws IOException { + return slice.readNode(din); + } + + public void assign(T b) { + palette.getIndex(b); + } +} diff --git a/src/main/java/com/volmit/iris/engine/object/matter/MatterSlice.java b/src/main/java/com/volmit/iris/util/matter/MatterSlice.java similarity index 79% rename from src/main/java/com/volmit/iris/engine/object/matter/MatterSlice.java rename to src/main/java/com/volmit/iris/util/matter/MatterSlice.java index 9aef1fdcc..6e00376ea 100644 --- a/src/main/java/com/volmit/iris/engine/object/matter/MatterSlice.java +++ b/src/main/java/com/volmit/iris/util/matter/MatterSlice.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object.matter; +package com.volmit.iris.util.matter; import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.util.hunk.Hunk; @@ -38,27 +38,31 @@ public interface MatterSlice extends Hunk { int w = getWidth(); int h = getHeight(); - MatterHunk mapped = (MatterHunk) this; dos.writeUTF(getType().getCanonicalName()); - Varint.writeUnsignedVarInt(mapped.getCount(), dos); + MatterPalette palette = new MatterPalette(this); + iterateSync((x,y,z,b) -> palette.assign(b)); + palette.writePalette(dos); + Varint.writeUnsignedVarInt(((MatterHunk) this).getCount(), dos); iterateSyncIO((x,y,z,b) -> { Varint.writeUnsignedVarInt((z * w * h) + (y * w) + x, dos); - writeNode(b, dos); + palette.writeNode(b, dos); }); } default void read(DataInputStream din) throws IOException { - int nodes = Varint.readUnsignedVarInt(din); int w = getWidth(); int h = getHeight(); - int d = getDepth(); + + // canonical is read in parent + MatterPalette palette = new MatterPalette(this, din); + int nodes = Varint.readUnsignedVarInt(din); int[] pos; while(nodes-- > 0) { pos = Cache.to3D(Varint.readUnsignedVarInt(din), w, h); - setRaw(pos[0], pos[1], pos[2], readNode(din)); + setRaw(pos[0], pos[1], pos[2], palette.readNode(din)); } } } diff --git a/src/main/java/com/volmit/iris/util/matter/slices/BlockMatter.java b/src/main/java/com/volmit/iris/util/matter/slices/BlockMatter.java new file mode 100644 index 000000000..90cbac558 --- /dev/null +++ b/src/main/java/com/volmit/iris/util/matter/slices/BlockMatter.java @@ -0,0 +1,45 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2021 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.matter.slices; + +import com.volmit.iris.util.nbt.io.NBTUtil; +import com.volmit.iris.util.nbt.mca.NBTWorld; +import com.volmit.iris.util.nbt.tag.CompoundTag; +import org.bukkit.block.data.BlockData; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class BlockMatter extends RawMatter +{ + public BlockMatter(int width, int height, int depth) { + super(width, height, depth, BlockData.class); + } + + @Override + public void writeNode(BlockData b, DataOutputStream dos) throws IOException { + NBTUtil.write(NBTWorld.getCompound(b), dos, false); + } + + @Override + public BlockData readNode(DataInputStream din) throws IOException { + return NBTWorld.getBlockData((CompoundTag) NBTUtil.read(din, false).getTag()); + } +} diff --git a/src/main/java/com/volmit/iris/util/matter/slices/BooleanMatter.java b/src/main/java/com/volmit/iris/util/matter/slices/BooleanMatter.java new file mode 100644 index 000000000..217f8fd44 --- /dev/null +++ b/src/main/java/com/volmit/iris/util/matter/slices/BooleanMatter.java @@ -0,0 +1,40 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2021 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.matter.slices; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class BooleanMatter extends RawMatter +{ + public BooleanMatter(int width, int height, int depth) { + super(width, height, depth, Boolean.class); + } + + @Override + public void writeNode(Boolean b, DataOutputStream dos) throws IOException { + dos.writeBoolean(b); + } + + @Override + public Boolean readNode(DataInputStream din) throws IOException { + return din.readBoolean(); + } +} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/EndTag.java b/src/main/java/com/volmit/iris/util/matter/slices/CompoundMatter.java similarity index 67% rename from src/main/java/com/volmit/iris/util/oldnbt/EndTag.java rename to src/main/java/com/volmit/iris/util/matter/slices/CompoundMatter.java index 4488e18ec..681959cc1 100644 --- a/src/main/java/com/volmit/iris/util/oldnbt/EndTag.java +++ b/src/main/java/com/volmit/iris/util/matter/slices/CompoundMatter.java @@ -16,30 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.util.oldnbt; +package com.volmit.iris.util.matter.slices; -/** - * The TAG_End tag. - * - * @author Graham Edgecombe - */ -public final class EndTag extends Tag { +import com.volmit.iris.util.nbt.tag.CompoundTag; - /** - * Creates the tag. - */ - public EndTag() { - super(""); +public class CompoundMatter extends NBTMatter +{ + public CompoundMatter(int width, int height, int depth) { + super(width, height, depth, CompoundTag.class); } - - @Override - public Object getValue() { - return null; - } - - @Override - public String toString() { - return "TAG_End"; - } - } diff --git a/src/main/java/com/volmit/iris/util/oldnbt/Tag.java b/src/main/java/com/volmit/iris/util/matter/slices/IntMatter.java similarity index 54% rename from src/main/java/com/volmit/iris/util/oldnbt/Tag.java rename to src/main/java/com/volmit/iris/util/matter/slices/IntMatter.java index d5fdac4ab..caf9099db 100644 --- a/src/main/java/com/volmit/iris/util/oldnbt/Tag.java +++ b/src/main/java/com/volmit/iris/util/matter/slices/IntMatter.java @@ -16,43 +16,27 @@ * along with this program. If not, see . */ -package com.volmit.iris.util.oldnbt; +package com.volmit.iris.util.matter.slices; -/** - * Represents a single NBT tag. - * - * @author Graham Edgecombe - */ -public abstract class Tag { +import com.volmit.iris.util.data.Varint; - /** - * The name of this tag. - */ - private final String name; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; - /** - * Creates the tag with the specified name. - * - * @param name The name. - */ - public Tag(String name) { - this.name = name; +public class IntMatter extends RawMatter +{ + public IntMatter(int width, int height, int depth) { + super(width, height, depth, Integer.class); } - /** - * Gets the name of this tag. - * - * @return The name of this tag. - */ - public final String getName() { - return name; + @Override + public void writeNode(Integer b, DataOutputStream dos) throws IOException { + Varint.writeSignedVarInt(b, dos); } - /** - * Gets the value of this tag. - * - * @return The value of this tag. - */ - public abstract Object getValue(); - + @Override + public Integer readNode(DataInputStream din) throws IOException { + return Varint.readSignedVarInt(din); + } } diff --git a/src/main/java/com/volmit/iris/util/matter/slices/LongMatter.java b/src/main/java/com/volmit/iris/util/matter/slices/LongMatter.java new file mode 100644 index 000000000..994d93921 --- /dev/null +++ b/src/main/java/com/volmit/iris/util/matter/slices/LongMatter.java @@ -0,0 +1,42 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2021 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.matter.slices; + +import com.volmit.iris.util.data.Varint; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class LongMatter extends RawMatter +{ + public LongMatter(int width, int height, int depth) { + super(width, height, depth, Long.class); + } + + @Override + public void writeNode(Long b, DataOutputStream dos) throws IOException { + Varint.writeSignedVarLong(b, dos); + } + + @Override + public Long readNode(DataInputStream din) throws IOException { + return Varint.readSignedVarLong(din); + } +} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/IntTag.java b/src/main/java/com/volmit/iris/util/matter/slices/NBTMatter.java similarity index 53% rename from src/main/java/com/volmit/iris/util/oldnbt/IntTag.java rename to src/main/java/com/volmit/iris/util/matter/slices/NBTMatter.java index 7f2537249..a1695720b 100644 --- a/src/main/java/com/volmit/iris/util/oldnbt/IntTag.java +++ b/src/main/java/com/volmit/iris/util/matter/slices/NBTMatter.java @@ -16,44 +16,30 @@ * along with this program. If not, see . */ -package com.volmit.iris.util.oldnbt; +package com.volmit.iris.util.matter.slices; -/** - * The TAG_Int tag. - * - * @author Graham Edgecombe - */ -public final class IntTag extends Tag { +import com.volmit.iris.util.nbt.io.NBTUtil; +import com.volmit.iris.util.nbt.io.NamedTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.Tag; - /** - * The value. - */ - private final int value; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public IntTag(String name, int value) { - super(name); - this.value = value; +public class NBTMatter> extends RawMatter +{ + public NBTMatter(int width, int height, int depth, Class c) { + super(width, height, depth, c); } @Override - public Integer getValue() { - return value; + public void writeNode(T b, DataOutputStream dos) throws IOException { + NBTUtil.write(b, dos, false); } @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Int" + append + ": " + value; + public T readNode(DataInputStream din) throws IOException { + return (T) NBTUtil.read(din, false).getTag(); } - } diff --git a/src/main/java/com/volmit/iris/util/matter/slices/RawMatter.java b/src/main/java/com/volmit/iris/util/matter/slices/RawMatter.java new file mode 100644 index 000000000..e101fcb1b --- /dev/null +++ b/src/main/java/com/volmit/iris/util/matter/slices/RawMatter.java @@ -0,0 +1,56 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2021 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.matter.slices; + +import com.volmit.iris.util.matter.MatterHunk; +import com.volmit.iris.util.matter.MatterSlice; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.Getter; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public abstract class RawMatter extends MatterHunk implements MatterSlice { + @Getter + private final Class type; + + public RawMatter(int width, int height, int depth, Class type) + { + super(width, height, depth); + this.type = type; + } + + @Override + public void setRaw(int x, int y, int z, T t) { + + } + + @Override + public T getRaw(int x, int y, int z) { + return null; + } + + @Override + public abstract void writeNode(T b, DataOutputStream dos) throws IOException; + + @Override + public abstract T readNode(DataInputStream din) throws IOException; +} diff --git a/src/main/java/com/volmit/iris/util/matter/slices/StringMatter.java b/src/main/java/com/volmit/iris/util/matter/slices/StringMatter.java new file mode 100644 index 000000000..ae952c31b --- /dev/null +++ b/src/main/java/com/volmit/iris/util/matter/slices/StringMatter.java @@ -0,0 +1,42 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2021 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.matter.slices; + +import com.volmit.iris.util.matter.MatterSlice; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class StringMatter extends RawMatter +{ + public StringMatter(int width, int height, int depth) { + super(width, height, depth, String.class); + } + + @Override + public void writeNode(String b, DataOutputStream dos) throws IOException { + dos.writeUTF(b); + } + + @Override + public String readNode(DataInputStream din) throws IOException { + return din.readUTF(); + } +} diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTDeserializer.java b/src/main/java/com/volmit/iris/util/nbt/io/NBTDeserializer.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/NBTDeserializer.java rename to src/main/java/com/volmit/iris/util/nbt/io/NBTDeserializer.java index 2e04a48b5..1a72e75db 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTDeserializer.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/NBTDeserializer.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import com.volmit.iris.engine.data.io.Deserializer; -import com.volmit.iris.engine.data.nbt.tag.Tag; +import com.volmit.iris.util.nbt.tag.Tag; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTInputStream.java b/src/main/java/com/volmit/iris/util/nbt/io/NBTInputStream.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/NBTInputStream.java rename to src/main/java/com/volmit/iris/util/nbt/io/NBTInputStream.java index 06e51df97..1d60bc28a 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTInputStream.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/NBTInputStream.java @@ -16,11 +16,11 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import com.volmit.iris.engine.data.io.ExceptionBiFunction; import com.volmit.iris.engine.data.io.MaxDepthIO; -import com.volmit.iris.engine.data.nbt.tag.*; +import com.volmit.iris.util.nbt.tag.*; import java.io.DataInputStream; import java.io.IOException; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTOutputStream.java b/src/main/java/com/volmit/iris/util/nbt/io/NBTOutputStream.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/NBTOutputStream.java rename to src/main/java/com/volmit/iris/util/nbt/io/NBTOutputStream.java index da8de1673..79e1e9599 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTOutputStream.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/NBTOutputStream.java @@ -16,11 +16,11 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import com.volmit.iris.engine.data.io.ExceptionTriConsumer; import com.volmit.iris.engine.data.io.MaxDepthIO; -import com.volmit.iris.engine.data.nbt.tag.*; +import com.volmit.iris.util.nbt.tag.*; import java.io.DataOutputStream; import java.io.IOException; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTSerializer.java b/src/main/java/com/volmit/iris/util/nbt/io/NBTSerializer.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/NBTSerializer.java rename to src/main/java/com/volmit/iris/util/nbt/io/NBTSerializer.java index fb336e0f2..c4f3dd963 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTSerializer.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/NBTSerializer.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import com.volmit.iris.engine.data.io.Serializer; -import com.volmit.iris.engine.data.nbt.tag.Tag; +import com.volmit.iris.util.nbt.tag.Tag; import java.io.IOException; import java.io.OutputStream; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTUtil.java b/src/main/java/com/volmit/iris/util/nbt/io/NBTUtil.java similarity index 84% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/NBTUtil.java rename to src/main/java/com/volmit/iris/util/nbt/io/NBTUtil.java index 1cd70167c..3691bc6e1 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/NBTUtil.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/NBTUtil.java @@ -16,10 +16,11 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; -import com.volmit.iris.engine.data.nbt.tag.Tag; +import com.volmit.iris.util.nbt.tag.Tag; +import javax.inject.Named; import java.io.*; import java.util.zip.GZIPInputStream; @@ -34,6 +35,14 @@ public final class NBTUtil { } } + public static void write(NamedTag tag, OutputStream out, boolean compressed) throws IOException { + new NBTSerializer(compressed).toStream(tag, out); + } + + public static void write(Tag tag, OutputStream out, boolean compressed) throws IOException { + write(new NamedTag(null, tag), out, compressed); + } + public static void write(NamedTag tag, String file, boolean compressed) throws IOException { write(tag, new File(file), compressed); } @@ -68,6 +77,10 @@ public final class NBTUtil { } } + public static NamedTag read(InputStream in, boolean compressed) throws IOException { + return new NBTDeserializer(compressed).fromStream(in); + } + public static NamedTag read(String file, boolean compressed) throws IOException { return read(new File(file), compressed); } diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/NamedTag.java b/src/main/java/com/volmit/iris/util/nbt/io/NamedTag.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/NamedTag.java rename to src/main/java/com/volmit/iris/util/nbt/io/NamedTag.java index 57cfd0b25..5b4f4150b 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/NamedTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/NamedTag.java @@ -16,9 +16,9 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; -import com.volmit.iris.engine.data.nbt.tag.Tag; +import com.volmit.iris.util.nbt.tag.Tag; public class NamedTag { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/ParseException.java b/src/main/java/com/volmit/iris/util/nbt/io/ParseException.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/ParseException.java rename to src/main/java/com/volmit/iris/util/nbt/io/ParseException.java index f42a0e685..4502739f7 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/ParseException.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/ParseException.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import java.io.IOException; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTDeserializer.java b/src/main/java/com/volmit/iris/util/nbt/io/SNBTDeserializer.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTDeserializer.java rename to src/main/java/com/volmit/iris/util/nbt/io/SNBTDeserializer.java index 4037d4d95..8c128c92f 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTDeserializer.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/SNBTDeserializer.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import com.volmit.iris.engine.data.io.StringDeserializer; -import com.volmit.iris.engine.data.nbt.tag.Tag; +import com.volmit.iris.util.nbt.tag.Tag; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTParser.java b/src/main/java/com/volmit/iris/util/nbt/io/SNBTParser.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTParser.java rename to src/main/java/com/volmit/iris/util/nbt/io/SNBTParser.java index 9ecb18060..b0fcec6cd 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTParser.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/SNBTParser.java @@ -16,11 +16,11 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import com.volmit.iris.Iris; import com.volmit.iris.engine.data.io.MaxDepthIO; -import com.volmit.iris.engine.data.nbt.tag.*; +import com.volmit.iris.util.nbt.tag.*; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTSerializer.java b/src/main/java/com/volmit/iris/util/nbt/io/SNBTSerializer.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTSerializer.java rename to src/main/java/com/volmit/iris/util/nbt/io/SNBTSerializer.java index f284e6473..6e2fc9e27 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTSerializer.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/SNBTSerializer.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import com.volmit.iris.engine.data.io.StringSerializer; -import com.volmit.iris.engine.data.nbt.tag.Tag; +import com.volmit.iris.util.nbt.tag.Tag; import java.io.IOException; import java.io.Writer; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTUtil.java b/src/main/java/com/volmit/iris/util/nbt/io/SNBTUtil.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTUtil.java rename to src/main/java/com/volmit/iris/util/nbt/io/SNBTUtil.java index 151ee5aac..0c9506a70 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTUtil.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/SNBTUtil.java @@ -16,9 +16,9 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; -import com.volmit.iris.engine.data.nbt.tag.Tag; +import com.volmit.iris.util.nbt.tag.Tag; import java.io.IOException; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTWriter.java b/src/main/java/com/volmit/iris/util/nbt/io/SNBTWriter.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTWriter.java rename to src/main/java/com/volmit/iris/util/nbt/io/SNBTWriter.java index 636b2a15e..0bae8a7f3 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/SNBTWriter.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/SNBTWriter.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; import com.volmit.iris.engine.data.io.MaxDepthIO; -import com.volmit.iris.engine.data.nbt.tag.*; +import com.volmit.iris.util.nbt.tag.*; import java.io.IOException; import java.io.Writer; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/io/StringPointer.java b/src/main/java/com/volmit/iris/util/nbt/io/StringPointer.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/nbt/io/StringPointer.java rename to src/main/java/com/volmit/iris/util/nbt/io/StringPointer.java index 599984479..9978d6516 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/io/StringPointer.java +++ b/src/main/java/com/volmit/iris/util/nbt/io/StringPointer.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.io; +package com.volmit.iris.util.nbt.io; public class StringPointer { diff --git a/src/main/java/com/volmit/iris/engine/data/mca/Chunk.java b/src/main/java/com/volmit/iris/util/nbt/mca/Chunk.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/mca/Chunk.java rename to src/main/java/com/volmit/iris/util/nbt/mca/Chunk.java index ebee91bbd..3d91dc202 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/Chunk.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/Chunk.java @@ -16,19 +16,19 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.mca; +package com.volmit.iris.util.nbt.mca; -import com.volmit.iris.engine.data.nbt.io.NBTDeserializer; -import com.volmit.iris.engine.data.nbt.io.NBTSerializer; -import com.volmit.iris.engine.data.nbt.io.NamedTag; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; -import com.volmit.iris.engine.data.nbt.tag.ListTag; +import com.volmit.iris.util.nbt.io.NBTDeserializer; +import com.volmit.iris.util.nbt.io.NBTSerializer; +import com.volmit.iris.util.nbt.io.NamedTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.ListTag; import java.io.*; import java.util.Arrays; import java.util.concurrent.atomic.AtomicReferenceArray; -import static com.volmit.iris.engine.data.mca.LoadFlags.*; +import static com.volmit.iris.util.nbt.mca.LoadFlags.*; public class Chunk { diff --git a/src/main/java/com/volmit/iris/engine/data/mca/CompressionType.java b/src/main/java/com/volmit/iris/util/nbt/mca/CompressionType.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/mca/CompressionType.java rename to src/main/java/com/volmit/iris/util/nbt/mca/CompressionType.java index f4017c645..07388e9ee 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/CompressionType.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/CompressionType.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.mca; +package com.volmit.iris.util.nbt.mca; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/com/volmit/iris/engine/data/mca/ExceptionFunction.java b/src/main/java/com/volmit/iris/util/nbt/mca/ExceptionFunction.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/data/mca/ExceptionFunction.java rename to src/main/java/com/volmit/iris/util/nbt/mca/ExceptionFunction.java index 151134a71..b3101f3df 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/ExceptionFunction.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/ExceptionFunction.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.mca; +package com.volmit.iris.util.nbt.mca; @FunctionalInterface public interface ExceptionFunction { diff --git a/src/main/java/com/volmit/iris/engine/data/mca/LoadFlags.java b/src/main/java/com/volmit/iris/util/nbt/mca/LoadFlags.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/mca/LoadFlags.java rename to src/main/java/com/volmit/iris/util/nbt/mca/LoadFlags.java index cf40b3948..e4889a9e3 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/LoadFlags.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/LoadFlags.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.mca; +package com.volmit.iris.util.nbt.mca; public class LoadFlags { diff --git a/src/main/java/com/volmit/iris/engine/data/mca/MCAFile.java b/src/main/java/com/volmit/iris/util/nbt/mca/MCAFile.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/data/mca/MCAFile.java rename to src/main/java/com/volmit/iris/util/nbt/mca/MCAFile.java index 7e9f4df13..a02c1421c 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/MCAFile.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/MCAFile.java @@ -16,9 +16,9 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.mca; +package com.volmit.iris.util.nbt.mca; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.Position2; diff --git a/src/main/java/com/volmit/iris/engine/data/mca/MCAUtil.java b/src/main/java/com/volmit/iris/util/nbt/mca/MCAUtil.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/data/mca/MCAUtil.java rename to src/main/java/com/volmit/iris/util/nbt/mca/MCAUtil.java index 25351fef5..b06d3c0ab 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/MCAUtil.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/MCAUtil.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.mca; +package com.volmit.iris.util.nbt.mca; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.Position2; diff --git a/src/main/java/com/volmit/iris/engine/data/mca/NBTWorld.java b/src/main/java/com/volmit/iris/util/nbt/mca/NBTWorld.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/mca/NBTWorld.java rename to src/main/java/com/volmit/iris/util/nbt/mca/NBTWorld.java index 122815c18..592bad464 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/NBTWorld.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/NBTWorld.java @@ -16,14 +16,14 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.mca; +package com.volmit.iris.util.nbt.mca; import com.volmit.iris.Iris; import com.volmit.iris.core.nms.INMS; import com.volmit.iris.engine.data.cache.Cache; -import com.volmit.iris.engine.data.B; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; -import com.volmit.iris.engine.data.nbt.tag.StringTag; +import com.volmit.iris.util.data.B; +import com.volmit.iris.util.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.StringTag; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.format.C; import com.volmit.iris.util.math.M; diff --git a/src/main/java/com/volmit/iris/engine/data/mca/Section.java b/src/main/java/com/volmit/iris/util/nbt/mca/Section.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/mca/Section.java rename to src/main/java/com/volmit/iris/util/nbt/mca/Section.java index e7c606ff1..23c1ff656 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/Section.java +++ b/src/main/java/com/volmit/iris/util/nbt/mca/Section.java @@ -16,13 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.mca; +package com.volmit.iris.util.nbt.mca; import com.volmit.iris.Iris; -import com.volmit.iris.engine.data.nbt.tag.ByteArrayTag; -import com.volmit.iris.engine.data.nbt.tag.CompoundTag; -import com.volmit.iris.engine.data.nbt.tag.ListTag; -import com.volmit.iris.engine.data.nbt.tag.LongArrayTag; +import com.volmit.iris.util.nbt.tag.ByteArrayTag; +import com.volmit.iris.util.nbt.tag.CompoundTag; +import com.volmit.iris.util.nbt.tag.ListTag; +import com.volmit.iris.util.nbt.tag.LongArrayTag; import com.volmit.iris.util.collection.KMap; import java.util.ArrayList; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ArrayTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/ArrayTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/ArrayTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/ArrayTag.java index 455c97549..b1ff6da74 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ArrayTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/ArrayTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; import java.lang.reflect.Array; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ByteArrayTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/ByteArrayTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/ByteArrayTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/ByteArrayTag.java index 992ee0637..101368077 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ByteArrayTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/ByteArrayTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; import java.util.Arrays; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ByteTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/ByteTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/ByteTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/ByteTag.java index 24deab199..96ac32749 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ByteTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/ByteTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public class ByteTag extends NumberTag implements Comparable { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/CompoundTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/CompoundTag.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/CompoundTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/CompoundTag.java index 76e09ad01..806c79ab7 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/CompoundTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/CompoundTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; import com.volmit.iris.engine.data.io.MaxDepthIO; import com.volmit.iris.util.collection.KMap; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/DoubleTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/DoubleTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/DoubleTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/DoubleTag.java index a29026ef2..85093702c 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/DoubleTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/DoubleTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public class DoubleTag extends NumberTag implements Comparable { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/EndTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/EndTag.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/EndTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/EndTag.java index 7c9796d9c..b9a03bf64 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/EndTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/EndTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public final class EndTag extends Tag { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/FloatTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/FloatTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/FloatTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/FloatTag.java index 3ef1a3e3c..772bc656f 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/FloatTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/FloatTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public class FloatTag extends NumberTag implements Comparable { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/IntArrayTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/IntArrayTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/IntArrayTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/IntArrayTag.java index 73c2aa166..5c3545e60 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/IntArrayTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/IntArrayTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; import java.util.Arrays; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/IntTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/IntTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/IntTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/IntTag.java index c5d5bb9b8..497ce2a1f 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/IntTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/IntTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public class IntTag extends NumberTag implements Comparable { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ListTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/ListTag.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/ListTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/ListTag.java index 550ef5cf8..de9193954 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ListTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/ListTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; import com.volmit.iris.engine.data.io.MaxDepthIO; import com.volmit.iris.util.collection.KList; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/LongArrayTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/LongArrayTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/LongArrayTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/LongArrayTag.java index fe9b60f5f..53f011409 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/LongArrayTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/LongArrayTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; import java.util.Arrays; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/LongTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/LongTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/LongTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/LongTag.java index 003026d7d..8cf386ed1 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/LongTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/LongTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public class LongTag extends NumberTag implements Comparable { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/NonNullEntrySet.java b/src/main/java/com/volmit/iris/util/nbt/tag/NonNullEntrySet.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/NonNullEntrySet.java rename to src/main/java/com/volmit/iris/util/nbt/tag/NonNullEntrySet.java index 994e477db..b321fd0ee 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/NonNullEntrySet.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/NonNullEntrySet.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; import java.util.Collection; import java.util.Iterator; diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/NumberTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/NumberTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/NumberTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/NumberTag.java index 4c8ca15f5..e52174b27 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/NumberTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/NumberTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public abstract class NumberTag> extends Tag { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ShortTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/ShortTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/ShortTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/ShortTag.java index e021bb084..add63b7d7 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/ShortTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/ShortTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public class ShortTag extends NumberTag implements Comparable { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/StringTag.java b/src/main/java/com/volmit/iris/util/nbt/tag/StringTag.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/StringTag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/StringTag.java index 060b2495f..9dc340e5f 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/StringTag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/StringTag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; public class StringTag extends Tag implements Comparable { diff --git a/src/main/java/com/volmit/iris/engine/data/nbt/tag/Tag.java b/src/main/java/com/volmit/iris/util/nbt/tag/Tag.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/data/nbt/tag/Tag.java rename to src/main/java/com/volmit/iris/util/nbt/tag/Tag.java index f1f92ae46..fedbe2586 100644 --- a/src/main/java/com/volmit/iris/engine/data/nbt/tag/Tag.java +++ b/src/main/java/com/volmit/iris/util/nbt/tag/Tag.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.data.nbt.tag; +package com.volmit.iris.util.nbt.tag; import com.volmit.iris.engine.data.io.MaxDepthReachedException; diff --git a/src/main/java/com/volmit/iris/util/noise/ExpressionNoise.java b/src/main/java/com/volmit/iris/util/noise/ExpressionNoise.java index e9ce2ff70..e7589dc69 100644 --- a/src/main/java/com/volmit/iris/util/noise/ExpressionNoise.java +++ b/src/main/java/com/volmit/iris/util/noise/ExpressionNoise.java @@ -18,14 +18,14 @@ package com.volmit.iris.util.noise; -import com.volmit.iris.engine.object.noise.LoaderExpression; +import com.volmit.iris.engine.object.noise.IrisExpression; import com.volmit.iris.util.math.RNG; public class ExpressionNoise implements NoiseGenerator { private final RNG rng; - private final LoaderExpression expression; + private final IrisExpression expression; - public ExpressionNoise(RNG rng, LoaderExpression expression) { + public ExpressionNoise(RNG rng, IrisExpression expression) { this.rng = rng; this.expression = expression; } diff --git a/src/main/java/com/volmit/iris/util/oldnbt/ByteArrayTag.java b/src/main/java/com/volmit/iris/util/oldnbt/ByteArrayTag.java deleted file mode 100644 index 38ef3ff90..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/ByteArrayTag.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -/** - * The TAG_Byte_Array tag. - * - * @author Graham Edgecombe - */ -public final class ByteArrayTag extends Tag { - - /** - * The value. - */ - private final byte[] value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public ByteArrayTag(String name, byte[] value) { - super(name); - this.value = value; - } - - @Override - public byte[] getValue() { - return value; - } - - @Override - public String toString() { - StringBuilder hex = new StringBuilder(); - for (byte b : value) { - String hexDigits = Integer.toHexString(b).toUpperCase(); - if (hexDigits.length() == 1) { - hex.append("0"); - } - hex.append(hexDigits).append(" "); - } - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Byte_Array" + append + ": " + hex; - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/ByteTag.java b/src/main/java/com/volmit/iris/util/oldnbt/ByteTag.java deleted file mode 100644 index edb4bf2b6..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/ByteTag.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -/** - * The TAG_Byte tag. - * - * @author Graham Edgecombe - */ -public final class ByteTag extends Tag { - - /** - * The value. - */ - private final byte value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public ByteTag(String name, byte value) { - super(name); - this.value = value; - } - - @Override - public Byte getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Byte" + append + ": " + value; - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/CompoundTag.java b/src/main/java/com/volmit/iris/util/oldnbt/CompoundTag.java deleted file mode 100644 index 61d61d606..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/CompoundTag.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -import java.util.Map; - -/** - * The TAG_Compound tag. - * - * @author Graham Edgecombe - */ -public final class CompoundTag extends Tag { - - /** - * The value. - */ - private final Map value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public CompoundTag(String name, Map value) { - super(name); - this.value = value; - } - - @Override - public Map getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - StringBuilder bldr = new StringBuilder(); - bldr.append("TAG_Compound").append(append).append(": ").append(value.size()).append(" entries\r\n{\r\n"); - for (Map.Entry entry : value.entrySet()) { - bldr.append(" ").append(entry.getValue().toString().replaceAll("\r\n", "\r\n ")).append("\r\n"); - } - bldr.append("}"); - return bldr.toString(); - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/DoubleTag.java b/src/main/java/com/volmit/iris/util/oldnbt/DoubleTag.java deleted file mode 100644 index c7d0eaa7b..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/DoubleTag.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -/** - * The TAG_Double tag. - * - * @author Graham Edgecombe - */ -public final class DoubleTag extends Tag { - - /** - * The value. - */ - private final double value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public DoubleTag(String name, double value) { - super(name); - this.value = value; - } - - @Override - public Double getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Double" + append + ": " + value; - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/FloatTag.java b/src/main/java/com/volmit/iris/util/oldnbt/FloatTag.java deleted file mode 100644 index 17833b557..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/FloatTag.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -/** - * The TAG_Float tag. - * - * @author Graham Edgecombe - */ -public final class FloatTag extends Tag { - - /** - * The value. - */ - private final float value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public FloatTag(String name, float value) { - super(name); - this.value = value; - } - - @Override - public Float getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Float" + append + ": " + value; - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/IntArrayTag.java b/src/main/java/com/volmit/iris/util/oldnbt/IntArrayTag.java deleted file mode 100644 index a2e9ebef4..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/IntArrayTag.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -import java.util.Arrays; - -/** - * The TAG_Int_Array tag. - * - * @author Neil Wightman - */ -public final class IntArrayTag extends Tag { - - /** - * The value. - */ - private final int[] value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public IntArrayTag(String name, int[] value) { - super(name); - this.value = value; - } - - @Override - public int[] getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Int_Array" + append + ": " + Arrays.toString(value); - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/ListTag.java b/src/main/java/com/volmit/iris/util/oldnbt/ListTag.java deleted file mode 100644 index 71d144d75..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/ListTag.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -import java.util.Collections; -import java.util.List; - -/** - * The TAG_List tag. - * - * @author Graham Edgecombe - */ -public final class ListTag extends Tag { - - /** - * The type. - */ - private final Class type; - - /** - * The value. - */ - private final List value; - - /** - * Creates the tag. - * - * @param name The name. - * @param type The type of item in the list. - * @param value The value. - */ - public ListTag(String name, Class type, List value) { - super(name); - this.type = type; - this.value = Collections.unmodifiableList(value); - } - - /** - * Gets the type of item in this list. - * - * @return The type of item in this list. - */ - public Class getType() { - return type; - } - - @Override - public List getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - StringBuilder bldr = new StringBuilder(); - bldr.append("TAG_List").append(append).append(": ").append(value.size()).append(" entries of type ").append(NBTUtils.getTypeName(type)).append("\r\n{\r\n"); - for (Tag t : value) { - bldr.append(" ").append(t.toString().replaceAll("\r\n", "\r\n ")).append("\r\n"); - } - bldr.append("}"); - return bldr.toString(); - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/LongTag.java b/src/main/java/com/volmit/iris/util/oldnbt/LongTag.java deleted file mode 100644 index 59671da6d..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/LongTag.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -/** - * The TAG_Long tag. - * - * @author Graham Edgecombe - */ -public final class LongTag extends Tag { - - /** - * The value. - */ - private final long value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public LongTag(String name, long value) { - super(name); - this.value = value; - } - - @Override - public Long getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Long" + append + ": " + value; - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/NBTConstants.java b/src/main/java/com/volmit/iris/util/oldnbt/NBTConstants.java deleted file mode 100644 index 690bf1514..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/NBTConstants.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; - -/* - Changes : Neil Wightman - Support 19133 Tag_Int_Array tag - */ - -/** - * A class which holds constant values. - * - * @author Graham Edgecombe - */ -public final class NBTConstants { - - /** - * The character set used by NBT (UTF-8). - */ - public static final Charset CHARSET = StandardCharsets.UTF_8; - - /** - * Tag type constants. - */ - public static final int TYPE_END = 0, - TYPE_BYTE = 1, - TYPE_SHORT = 2, - TYPE_INT = 3, - TYPE_LONG = 4, - TYPE_FLOAT = 5, - TYPE_DOUBLE = 6, - TYPE_BYTE_ARRAY = 7, - TYPE_STRING = 8, - TYPE_LIST = 9, - TYPE_COMPOUND = 10, - TYPE_INT_ARRAY = 11; - - /** - * Default private constructor. - */ - private NBTConstants() { - - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/NBTInputStream.java b/src/main/java/com/volmit/iris/util/oldnbt/NBTInputStream.java deleted file mode 100644 index 55d6b35f1..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/NBTInputStream.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -import java.io.Closeable; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.zip.GZIPInputStream; - -/* - Changes : - Neil Wightman - Support 19133 Tag_Int_Array tag - */ - -/** - *

- * This class reads NBT, or - * Named Binary Tag streams, and produces an object graph of subclasses of the Tag object.

- * - *

- * The NBT format was created by Markus Persson, and the specification may be found at - * http://www.minecraft.net/docs/NBT.txt.

- * - * @author Graham Edgecombe - */ -public final class NBTInputStream implements Closeable { - - /** - * The data input stream. - */ - private final DataInputStream is; - - /** - * Create a new NBTInputStream, which will source its data from the specified input stream. - * - * @param is The output stream - */ - public NBTInputStream(DataInputStream is) { - this.is = is; - } - - /** - * Creates a new NBTInputStream, which will source its data from the specified input stream. - * The stream will be decompressed using GZIP. - * - * @param is The input stream. - * @throws IOException if an I/O error occurs. - */ - public NBTInputStream(InputStream is) throws IOException { - this.is = new DataInputStream(new GZIPInputStream(is)); - } - - /** - * Reads an NBT tag from the stream. - * - * @return The tag that was read. - * @throws IOException if an I/O error occurs. - */ - public Tag readTag() throws IOException { - return readTag(0); - } - - /** - * Reads an NBT from the stream. - * - * @param depth The depth of this tag. - * @return The tag that was read. - * @throws IOException if an I/O error occurs. - */ - private Tag readTag(int depth) throws IOException { - int type = is.readByte() & 0xFF; - - String name; - if (type != NBTConstants.TYPE_END) { - int nameLength = is.readShort() & 0xFFFF; - byte[] nameBytes = new byte[nameLength]; - is.readFully(nameBytes); - name = new String(nameBytes, NBTConstants.CHARSET); - } else { - name = ""; - } - - return readTagPayload(type, name, depth); - } - - /** - * Reads the payload of a tag, given the name and type. - * - * @param type The type. - * @param name The name. - * @param depth The depth. - * @return The tag. - * @throws IOException if an I/O error occurs. - */ - private Tag readTagPayload(int type, String name, int depth) throws IOException { - switch (type) { - case NBTConstants.TYPE_END: - if (depth == 0) { - throw new IOException("TAG_End found without a TAG_Compound/TAG_List tag preceding it."); - } else { - return new EndTag(); - } - case NBTConstants.TYPE_BYTE: - return new ByteTag(name, is.readByte()); - case NBTConstants.TYPE_SHORT: - return new ShortTag(name, is.readShort()); - case NBTConstants.TYPE_INT: - return new IntTag(name, is.readInt()); - case NBTConstants.TYPE_LONG: - return new LongTag(name, is.readLong()); - case NBTConstants.TYPE_FLOAT: - return new FloatTag(name, is.readFloat()); - case NBTConstants.TYPE_DOUBLE: - return new DoubleTag(name, is.readDouble()); - case NBTConstants.TYPE_BYTE_ARRAY: - int length = is.readInt(); - byte[] bytes = new byte[length]; - is.readFully(bytes); - return new ByteArrayTag(name, bytes); - case NBTConstants.TYPE_STRING: - length = is.readShort(); - bytes = new byte[length]; - is.readFully(bytes); - return new StringTag(name, new String(bytes, NBTConstants.CHARSET)); - case NBTConstants.TYPE_LIST: - int childType = is.readByte(); - length = is.readInt(); - - List tagList = new ArrayList<>(); - for (int i = 0; i < length; i++) { - Tag tag = readTagPayload(childType, "", depth + 1); - if (tag instanceof EndTag) { - throw new IOException("TAG_End not permitted in a list."); - } - tagList.add(tag); - } - - return new ListTag(name, NBTUtils.getTypeClass(childType), tagList); - case NBTConstants.TYPE_COMPOUND: - Map tagMap = new HashMap<>(); - while (true) { - Tag tag = readTag(depth + 1); - if (tag instanceof EndTag) { - break; - } else { - tagMap.put(tag.getName(), tag); - } - } - - return new CompoundTag(name, tagMap); - case NBTConstants.TYPE_INT_ARRAY: - length = is.readInt(); - int[] value = new int[length]; - for (int i = 0; i < length; i++) { - value[i] = is.readInt(); - } - return new IntArrayTag(name, value); - default: - throw new IOException("Invalid tag type: " + type + "."); - } - } - - @Override - public void close() throws IOException { - is.close(); - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/NBTOutputStream.java b/src/main/java/com/volmit/iris/util/oldnbt/NBTOutputStream.java deleted file mode 100644 index d2f05da65..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/NBTOutputStream.java +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -import java.io.Closeable; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.List; -import java.util.zip.GZIPOutputStream; -/* - Changes : Neil Wightman - Support 19133 Tag_Int_Array tag - */ - -/** - *

- * This class writes NBT, or - * Named Binary Tag Tag objects to an underlying OutputStream.

- * - *

- * The NBT format was created by Markus Persson, and the specification may be found at - * http://www.minecraft.net/docs/NBT.txt.

- * - * @author Graham Edgecombe - */ -@SuppressWarnings({"EmptyMethod", "JavaDoc"}) -public final class NBTOutputStream implements Closeable { - - /** - * The output stream. - */ - private final DataOutputStream os; - - /** - * Create a new NBTOutputStream, which will write data to the specified underlying output stream. - * - * @param os The output stream - */ - public NBTOutputStream(DataOutputStream os) { - this.os = os; - } - - /** - * Creates a new NBTOutputStream, which will write data to the specified underlying output stream. - * the stream will be compressed using GZIP. - * - * @param os The output stream. - * @throws IOException if an I/O error occurs. - */ - public NBTOutputStream(OutputStream os) throws IOException { - this.os = new DataOutputStream(new GZIPOutputStream(os)); - } - - /** - * Writes a tag. - * - * @param tag The tag to write. - * @throws IOException if an I/O error occurs. - */ - public void writeTag(Tag tag) throws IOException { - int type = NBTUtils.getTypeCode(tag.getClass()); - String name = tag.getName(); - byte[] nameBytes = name.getBytes(NBTConstants.CHARSET); - - os.writeByte(type); - os.writeShort(nameBytes.length); - os.write(nameBytes); - - if (type == NBTConstants.TYPE_END) { - throw new IOException("Named TAG_End not permitted."); - } - - writeTagPayload(tag); - } - - /** - * Writes tag payload. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeTagPayload(Tag tag) throws IOException { - int type = NBTUtils.getTypeCode(tag.getClass()); - switch (type) { - case NBTConstants.TYPE_END -> writeEndTagPayload((EndTag) tag); - case NBTConstants.TYPE_BYTE -> writeByteTagPayload((ByteTag) tag); - case NBTConstants.TYPE_SHORT -> writeShortTagPayload((ShortTag) tag); - case NBTConstants.TYPE_INT -> writeIntTagPayload((IntTag) tag); - case NBTConstants.TYPE_LONG -> writeLongTagPayload((LongTag) tag); - case NBTConstants.TYPE_FLOAT -> writeFloatTagPayload((FloatTag) tag); - case NBTConstants.TYPE_DOUBLE -> writeDoubleTagPayload((DoubleTag) tag); - case NBTConstants.TYPE_BYTE_ARRAY -> writeByteArrayTagPayload((ByteArrayTag) tag); - case NBTConstants.TYPE_STRING -> writeStringTagPayload((StringTag) tag); - case NBTConstants.TYPE_LIST -> writeListTagPayload((ListTag) tag); - case NBTConstants.TYPE_COMPOUND -> writeCompoundTagPayload((CompoundTag) tag); - case NBTConstants.TYPE_INT_ARRAY -> writeIntArrayTagPayload((IntArrayTag) tag); - default -> throw new IOException("Invalid tag type: " + type + "."); - } - } - - /** - * Writes a TAG_Byte tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeByteTagPayload(ByteTag tag) throws IOException { - os.writeByte(tag.getValue()); - } - - /** - * Writes a TAG_Byte_Array tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeByteArrayTagPayload(ByteArrayTag tag) throws IOException { - byte[] bytes = tag.getValue(); - os.writeInt(bytes.length); - os.write(bytes); - } - - - /** - * Writes a TAG_Compound tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeCompoundTagPayload(CompoundTag tag) throws IOException { - for (Tag childTag : tag.getValue().values()) { - writeTag(childTag); - } - os.writeByte((byte) 0); // end tag - better way? - } - - /** - * Writes a TAG_List tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeListTagPayload(ListTag tag) throws IOException { - Class clazz = tag.getType(); - List tags = tag.getValue(); - int size = tags.size(); - - os.writeByte(NBTUtils.getTypeCode(clazz)); - os.writeInt(size); - for (Tag value : tags) { - writeTagPayload(value); - } - } - - /** - * Writes a TAG_String tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeStringTagPayload(StringTag tag) throws IOException { - byte[] bytes = tag.getValue().getBytes(NBTConstants.CHARSET); - os.writeShort(bytes.length); - os.write(bytes); - } - - /** - * Writes a TAG_Double tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeDoubleTagPayload(DoubleTag tag) throws IOException { - os.writeDouble(tag.getValue()); - } - - /** - * Writes a TAG_Float tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeFloatTagPayload(FloatTag tag) throws IOException { - os.writeFloat(tag.getValue()); - } - - /** - * Writes a TAG_Long tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeLongTagPayload(LongTag tag) throws IOException { - os.writeLong(tag.getValue()); - } - - /** - * Writes a TAG_Int tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeIntTagPayload(IntTag tag) throws IOException { - os.writeInt(tag.getValue()); - } - - /** - * Writes a TAG_Short tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeShortTagPayload(ShortTag tag) throws IOException { - os.writeShort(tag.getValue()); - } - - /** - * Writes a TAG_Empty tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeEndTagPayload(EndTag tag) { - /* empty */ - } - - /** - * Writes a TAG_Int_Array tag. - * - * @param tag The tag. - * @throws IOException if an I/O error occurs. - */ - private void writeIntArrayTagPayload(IntArrayTag tag) throws IOException { - final int[] values = tag.getValue(); - os.writeInt(values.length); - for (final int value : values) { - os.writeInt(value); - } - } - - @Override - public void close() throws IOException { - os.close(); - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/NBTUtils.java b/src/main/java/com/volmit/iris/util/oldnbt/NBTUtils.java deleted file mode 100644 index 3062584a7..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/NBTUtils.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -/* - Changes : Neil Wightman - Support 19133 Tag_Int_Array tag - */ - -/** - * A class which contains NBT-related utility methods. This currently supports reading 19133 but only writing 19132. - * - * @author Graham Edgecombe - */ -public final class NBTUtils { - - /** - * Gets the type name of a tag. - * - * @param clazz The tag class. - * @return The type name. - */ - public static String getTypeName(Class clazz) { - if (clazz.equals(ByteArrayTag.class)) { - return "TAG_Byte_Array"; - } else if (clazz.equals(ByteTag.class)) { - return "TAG_Byte"; - } else if (clazz.equals(CompoundTag.class)) { - return "TAG_Compound"; - } else if (clazz.equals(DoubleTag.class)) { - return "TAG_Double"; - } else if (clazz.equals(EndTag.class)) { - return "TAG_End"; - } else if (clazz.equals(FloatTag.class)) { - return "TAG_Float"; - } else if (clazz.equals(IntTag.class)) { - return "TAG_Int"; - } else if (clazz.equals(ListTag.class)) { - return "TAG_List"; - } else if (clazz.equals(LongTag.class)) { - return "TAG_Long"; - } else if (clazz.equals(ShortTag.class)) { - return "TAG_Short"; - } else if (clazz.equals(StringTag.class)) { - return "TAG_String"; - } else if (clazz.equals(IntArrayTag.class)) { - return "TAG_Int_Array"; - } else { - throw new IllegalArgumentException("Invalid tag classs (" + clazz.getName() + ")."); - } - } - - /** - * Gets the type code of a tag class. - * - * @param clazz The tag class. - * @return The type code. - * @throws IllegalArgumentException if the tag class is invalid. - */ - public static int getTypeCode(Class clazz) { - if (clazz.equals(ByteArrayTag.class)) { - return NBTConstants.TYPE_BYTE_ARRAY; - } else if (clazz.equals(ByteTag.class)) { - return NBTConstants.TYPE_BYTE; - } else if (clazz.equals(CompoundTag.class)) { - return NBTConstants.TYPE_COMPOUND; - } else if (clazz.equals(DoubleTag.class)) { - return NBTConstants.TYPE_DOUBLE; - } else if (clazz.equals(EndTag.class)) { - return NBTConstants.TYPE_END; - } else if (clazz.equals(FloatTag.class)) { - return NBTConstants.TYPE_FLOAT; - } else if (clazz.equals(IntTag.class)) { - return NBTConstants.TYPE_INT; - } else if (clazz.equals(ListTag.class)) { - return NBTConstants.TYPE_LIST; - } else if (clazz.equals(LongTag.class)) { - return NBTConstants.TYPE_LONG; - } else if (clazz.equals(ShortTag.class)) { - return NBTConstants.TYPE_SHORT; - } else if (clazz.equals(StringTag.class)) { - return NBTConstants.TYPE_STRING; - } else if (clazz.equals(IntArrayTag.class)) { - return NBTConstants.TYPE_INT_ARRAY; - } else { - throw new IllegalArgumentException("Invalid tag classs (" + clazz.getName() + ")."); - } - } - - /** - * Gets the class of a type of tag. - * - * @param type The type. - * @return The class. - * @throws IllegalArgumentException if the tag type is invalid. - */ - public static Class getTypeClass(int type) { - return switch (type) { - case NBTConstants.TYPE_END -> EndTag.class; - case NBTConstants.TYPE_BYTE -> ByteTag.class; - case NBTConstants.TYPE_SHORT -> ShortTag.class; - case NBTConstants.TYPE_INT -> IntTag.class; - case NBTConstants.TYPE_LONG -> LongTag.class; - case NBTConstants.TYPE_FLOAT -> FloatTag.class; - case NBTConstants.TYPE_DOUBLE -> DoubleTag.class; - case NBTConstants.TYPE_BYTE_ARRAY -> ByteArrayTag.class; - case NBTConstants.TYPE_STRING -> StringTag.class; - case NBTConstants.TYPE_LIST -> ListTag.class; - case NBTConstants.TYPE_COMPOUND -> CompoundTag.class; - case NBTConstants.TYPE_INT_ARRAY -> IntArrayTag.class; - default -> throw new IllegalArgumentException("Invalid tag type : " + type + "."); - }; - } - - /** - * Default private constructor. - */ - private NBTUtils() { - - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/ShortTag.java b/src/main/java/com/volmit/iris/util/oldnbt/ShortTag.java deleted file mode 100644 index e1239e016..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/ShortTag.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -/** - * The TAG_Short tag. - * - * @author Graham Edgecombe - */ -public final class ShortTag extends Tag { - - /** - * The value. - */ - private final short value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public ShortTag(String name, short value) { - super(name); - this.value = value; - } - - @Override - public Short getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_Short" + append + ": " + value; - } - -} diff --git a/src/main/java/com/volmit/iris/util/oldnbt/StringTag.java b/src/main/java/com/volmit/iris/util/oldnbt/StringTag.java deleted file mode 100644 index 54ddce7da..000000000 --- a/src/main/java/com/volmit/iris/util/oldnbt/StringTag.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.util.oldnbt; - -/** - * The TAG_String tag. - * - * @author Graham Edgecombe - */ -public final class StringTag extends Tag { - - /** - * The value. - */ - private final String value; - - /** - * Creates the tag. - * - * @param name The name. - * @param value The value. - */ - public StringTag(String name, String value) { - super(name); - this.value = value; - } - - @Override - public String getValue() { - return value; - } - - @Override - public String toString() { - String name = getName(); - String append = ""; - if (name != null && !name.equals("")) { - append = "(\"" + this.getName() + "\")"; - } - return "TAG_String" + append + ": " + value; - } - -}