mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-25 10:09:14 +00:00
Delete fbd
This commit is contained in:
@@ -15,7 +15,6 @@ import org.bukkit.util.BlockVector;
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.object.IrisObject;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
|
||||
public class StructureObject implements Serializable
|
||||
{
|
||||
|
||||
@@ -7,7 +7,6 @@ import org.bukkit.entity.Player;
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ import com.volmit.iris.object.IrisBiome;
|
||||
import com.volmit.iris.object.IrisDimension;
|
||||
import com.volmit.iris.object.IrisRegion;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
import com.volmit.iris.util.RNG;
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@ import com.volmit.iris.object.IrisEffect;
|
||||
import com.volmit.iris.object.IrisEntityInitialSpawn;
|
||||
import com.volmit.iris.object.IrisEntitySpawnOverride;
|
||||
import com.volmit.iris.object.IrisRegion;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.Form;
|
||||
import com.volmit.iris.util.IrisStructureResult;
|
||||
import com.volmit.iris.util.J;
|
||||
|
||||
@@ -28,7 +28,6 @@ import com.volmit.iris.util.BiomeMap;
|
||||
import com.volmit.iris.util.CarveResult;
|
||||
import com.volmit.iris.util.CaveResult;
|
||||
import com.volmit.iris.util.ChunkPosition;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.HeightMap;
|
||||
import com.volmit.iris.util.IObjectPlacer;
|
||||
import com.volmit.iris.util.IrisLock;
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.volmit.iris.gen.scaffold.GeneratedChunk;
|
||||
import com.volmit.iris.gen.scaffold.TerrainChunk;
|
||||
import com.volmit.iris.gen.scaffold.TerrainTarget;
|
||||
import com.volmit.iris.util.CaveResult;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.IPostBlockAccess;
|
||||
import com.volmit.iris.util.IrisLock;
|
||||
import com.volmit.iris.util.KList;
|
||||
|
||||
@@ -30,7 +30,6 @@ import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.BiomeMap;
|
||||
import com.volmit.iris.util.CaveResult;
|
||||
import com.volmit.iris.util.ChronoLatch;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.HeightMap;
|
||||
import com.volmit.iris.util.IrisLock;
|
||||
import com.volmit.iris.util.KList;
|
||||
|
||||
@@ -11,7 +11,6 @@ import org.bukkit.generator.ChunkGenerator.ChunkData;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.HeightMap;
|
||||
import com.volmit.iris.util.IrisLock;
|
||||
import com.volmit.iris.util.KList;
|
||||
|
||||
@@ -13,7 +13,6 @@ import com.volmit.iris.noise.FastNoiseDouble.NoiseType;
|
||||
import com.volmit.iris.object.IrisCaveLayer;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.CaveResult;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.GenLayer;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.RNG;
|
||||
|
||||
@@ -11,7 +11,6 @@ import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.BiomeMap;
|
||||
import com.volmit.iris.util.BlockPosition;
|
||||
import com.volmit.iris.util.ChunkPosition;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.GenLayer;
|
||||
import com.volmit.iris.util.HeightMap;
|
||||
import com.volmit.iris.util.MathHelper;
|
||||
|
||||
@@ -11,7 +11,6 @@ import com.volmit.iris.gen.atomics.AtomicCache;
|
||||
import com.volmit.iris.object.IrisMaterialPalette;
|
||||
import com.volmit.iris.object.IrisObject;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.GenLayer;
|
||||
import com.volmit.iris.util.RNG;
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@ import com.volmit.iris.object.IrisLootTable;
|
||||
import com.volmit.iris.object.IrisRegion;
|
||||
import com.volmit.iris.object.LootMode;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.IrisStructureResult;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.PrecisionStopwatch;
|
||||
|
||||
@@ -12,7 +12,6 @@ import com.volmit.iris.object.IrisBiome;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.CaveResult;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.RNG;
|
||||
|
||||
@@ -21,7 +21,6 @@ import com.volmit.iris.gen.scaffold.Provisioned;
|
||||
import com.volmit.iris.gen.scaffold.TerrainChunk;
|
||||
import com.volmit.iris.gen.scaffold.TerrainProvider;
|
||||
import com.volmit.iris.util.ChunkPosition;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.KMap;
|
||||
import com.volmit.iris.util.RNG;
|
||||
|
||||
@@ -17,7 +17,6 @@ import com.volmit.iris.object.IrisBiomePaletteLayer;
|
||||
import com.volmit.iris.object.IrisDimension;
|
||||
import com.volmit.iris.object.IrisGenerator;
|
||||
import com.volmit.iris.object.IrisRegion;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.M;
|
||||
import com.volmit.iris.util.RNG;
|
||||
|
||||
@@ -5,7 +5,6 @@ import org.bukkit.Chunk;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
|
||||
public class ChunkHunkView implements Hunk<BlockData>
|
||||
{
|
||||
|
||||
@@ -12,7 +12,6 @@ import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.edit.BlockEditor;
|
||||
import com.volmit.iris.edit.BukkitBlockEditor;
|
||||
import com.volmit.iris.edit.WEBlockEditor;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KMap;
|
||||
import com.volmit.iris.util.M;
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.object.IrisObject;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.Cuboid;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.M;
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.DependsOn;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.IRare;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.KMap;
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.DependsOn;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.MaxNumber;
|
||||
import com.volmit.iris.util.MinNumber;
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.volmit.iris.manager.IrisDataManager;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.KMap;
|
||||
import com.volmit.iris.util.MaxNumber;
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.volmit.iris.manager.IrisDataManager;
|
||||
import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.RNG;
|
||||
import com.volmit.iris.util.Required;
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.volmit.iris.manager.IrisDataManager;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.MaxNumber;
|
||||
import com.volmit.iris.util.MinNumber;
|
||||
import com.volmit.iris.util.Required;
|
||||
|
||||
@@ -8,7 +8,6 @@ import org.bukkit.Material;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonSyntaxException;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.IO;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.KMap;
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.volmit.iris.gen.atomics.AtomicCache;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.Required;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.DependsOn;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.MaxNumber;
|
||||
import com.volmit.iris.util.MinNumber;
|
||||
|
||||
@@ -12,7 +12,6 @@ import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.HeightMap;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.MaxNumber;
|
||||
|
||||
@@ -14,7 +14,6 @@ import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.ChunkPosition;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.Form;
|
||||
import com.volmit.iris.util.IrisLock;
|
||||
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.volmit.iris.noise.CNG;
|
||||
import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.MinNumber;
|
||||
import com.volmit.iris.util.RNG;
|
||||
|
||||
@@ -22,7 +22,6 @@ import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.BlockPosition;
|
||||
import com.volmit.iris.util.CarveResult;
|
||||
import com.volmit.iris.util.ChunkPosition;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.IObjectPlacer;
|
||||
import com.volmit.iris.util.IrisLock;
|
||||
import com.volmit.iris.util.KMap;
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.volmit.iris.noise.CNG;
|
||||
import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.RNG;
|
||||
import com.volmit.iris.util.Required;
|
||||
|
||||
@@ -11,7 +11,6 @@ import org.bukkit.util.BlockVector;
|
||||
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.KList;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
@@ -41,7 +41,6 @@ import com.volmit.iris.util.B;
|
||||
import com.volmit.iris.util.C;
|
||||
import com.volmit.iris.util.ChronoLatch;
|
||||
import com.volmit.iris.util.Cuboid;
|
||||
import com.volmit.iris.util.FastBlockData;
|
||||
import com.volmit.iris.util.Form;
|
||||
import com.volmit.iris.util.IO;
|
||||
import com.volmit.iris.util.IObjectPlacer;
|
||||
|
||||
@@ -1,142 +0,0 @@
|
||||
package com.volmit.iris.util;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
public class FastBlockData
|
||||
{
|
||||
private static final KMap<Material, BlockData> defaultBlockData = new KMap<>();
|
||||
private BlockData blockData;
|
||||
private Material type;
|
||||
|
||||
private FastBlockData(BlockData d)
|
||||
{
|
||||
this.blockData = d;
|
||||
this.type = null;
|
||||
optimize();
|
||||
}
|
||||
|
||||
private FastBlockData(Material m)
|
||||
{
|
||||
this.type = m;
|
||||
this.blockData = null;
|
||||
}
|
||||
|
||||
public Material getMaterial()
|
||||
{
|
||||
return type != null ? type : blockData.getMaterial();
|
||||
}
|
||||
|
||||
public static FastBlockData of(Material type)
|
||||
{
|
||||
return new FastBlockData(type);
|
||||
}
|
||||
|
||||
public static FastBlockData of(BlockData type)
|
||||
{
|
||||
return new FastBlockData(type);
|
||||
}
|
||||
|
||||
public Material getType()
|
||||
{
|
||||
return type != null ? type : blockData.getMaterial();
|
||||
}
|
||||
|
||||
public FastBlockData optimize()
|
||||
{
|
||||
if(hasBlockData())
|
||||
{
|
||||
BlockData f = getDefaultBlockData(getMaterial());
|
||||
|
||||
if(f.hashCode() == getBlockData().hashCode())
|
||||
{
|
||||
type = getBlockData().getMaterial();
|
||||
blockData = null;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
private static BlockData getDefaultBlockData(Material type)
|
||||
{
|
||||
return defaultBlockData.compute(type, (k, v) -> v != null ? v : type.createBlockData());
|
||||
}
|
||||
|
||||
public boolean hasBlockData()
|
||||
{
|
||||
return blockData != null;
|
||||
}
|
||||
|
||||
public BlockData createBlockData()
|
||||
{
|
||||
if(blockData != null)
|
||||
{
|
||||
return blockData;
|
||||
}
|
||||
|
||||
return type.createBlockData();
|
||||
}
|
||||
|
||||
public BlockData getBlockData()
|
||||
{
|
||||
if(blockData == null)
|
||||
{
|
||||
blockData = createBlockData();
|
||||
}
|
||||
|
||||
return blockData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
if(hasBlockData())
|
||||
{
|
||||
return getBlockData().hashCode();
|
||||
}
|
||||
|
||||
return getType().hashCode();
|
||||
}
|
||||
|
||||
public boolean matEquals(FastBlockData obj)
|
||||
{
|
||||
return getMaterial().equals(obj.getMaterial());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if(this == obj)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(obj == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if(getClass() != obj.getClass())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
FastBlockData other = (FastBlockData) obj;
|
||||
|
||||
if(other.hashCode() == hashCode())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public FastBlockData clone()
|
||||
{
|
||||
return hasBlockData() ? new FastBlockData(blockData.clone()) : new FastBlockData(getType());
|
||||
}
|
||||
|
||||
public boolean matches(FastBlockData data)
|
||||
{
|
||||
return (data.hasBlockData() && hasBlockData() && getBlockData().matches(data.getBlockData())) || (!data.hasBlockData() && !hasBlockData() && getType().equals(data.getType()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user