diff --git a/src/main/java/com/dfsek/terra/EventListener.java b/src/main/java/com/dfsek/terra/EventListener.java index a26f350b8..9dcf6fa62 100644 --- a/src/main/java/com/dfsek/terra/EventListener.java +++ b/src/main/java/com/dfsek/terra/EventListener.java @@ -6,6 +6,7 @@ import com.dfsek.terra.config.genconfig.TreeConfig; import com.dfsek.terra.config.genconfig.structure.StructureConfig; import com.dfsek.terra.registry.TreeRegistry; import com.dfsek.terra.util.StructureTypeEnum; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.data.BlockData; @@ -23,9 +24,6 @@ import org.bukkit.event.world.StructureGrowEvent; import org.polydev.gaea.GaeaPlugin; import org.polydev.gaea.tree.Tree; import org.polydev.gaea.tree.TreeType; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; - -import java.util.Random; public class EventListener implements Listener { private final GaeaPlugin main; @@ -83,9 +81,9 @@ public class EventListener implements Listener { Tree tree = registry.get(TreeType.fromBukkit(e.getSpecies()).toString()); Debug.info("Overriding tree type: " + e.getSpecies()); if(tree instanceof TreeConfig) { - if(!((TreeConfig) tree).plantBlockCheck(e.getLocation(), new XoRoShiRo128PlusRandom())) { + if(!((TreeConfig) tree).plantBlockCheck(e.getLocation(), new XoRoShiRo128PlusPlusRandom())) { block.setBlockData(data); } - } else if(!tree.plant(e.getLocation(), new XoRoShiRo128PlusRandom(), Terra.getInstance())) block.setBlockData(data); + } else if(!tree.plant(e.getLocation(), new XoRoShiRo128PlusPlusRandom(), Terra.getInstance())) block.setBlockData(data); } } diff --git a/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java b/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java index 77dbbc7c1..c3ed76555 100644 --- a/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java +++ b/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java @@ -6,7 +6,7 @@ import com.dfsek.terra.biome.grid.TerraBiomeGrid; import com.dfsek.terra.config.genconfig.structure.StructureConfig; import com.dfsek.terra.structure.Rotation; import com.dfsek.terra.structure.Structure; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.util.Vector; @@ -36,7 +36,7 @@ public class AsyncStructureFinder extends AsyncFeatureFinder { Location spawn = target.getSpawn().getChunkSpawn(x, z, world.getSeed()).toLocation(world); if(!TerraWorld.getWorld(world).getConfig().getBiome((UserDefinedBiome) getGrid().getBiome(spawn)).getStructures().contains(target)) return false; - Random r2 = new XoRoShiRo128PlusRandom(spawn.hashCode()); + Random r2 = new XoRoShiRo128PlusPlusRandom(spawn.hashCode()); Structure struc = target.getStructure(r2); Rotation rotation = Rotation.fromDegrees(r2.nextInt(4) * 90); for(int y = target.getSearchStart().get(r2); y > 0; y--) { diff --git a/src/main/java/com/dfsek/terra/carving/Cavern.java b/src/main/java/com/dfsek/terra/carving/Cavern.java index f0bac8e2e..d963e95b9 100644 --- a/src/main/java/com/dfsek/terra/carving/Cavern.java +++ b/src/main/java/com/dfsek/terra/carving/Cavern.java @@ -4,7 +4,7 @@ import com.dfsek.terra.procgen.GridSpawn; import com.dfsek.terra.procgen.voxel.DeformedSphere; import com.dfsek.terra.procgen.voxel.Tube; import com.dfsek.terra.procgen.voxel.VoxelGeometry; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.util.Vector; @@ -24,7 +24,7 @@ public class Cavern { public VoxelGeometry carveChunk(int chunkX, int chunkZ) { long seedC = MathUtil.getCarverChunkSeed(chunkX, chunkZ, seed); - Random chunk = new XoRoShiRo128PlusRandom(seedC); + Random chunk = new XoRoShiRo128PlusPlusRandom(seedC); Vector org = node.getNodeLocation((chunkX << 4) + 8, (chunkZ << 4) + 8).clone().setY(chunk.nextInt(128)); VoxelGeometry carve = VoxelGeometry.getBlank(); @@ -34,7 +34,7 @@ public class Cavern { Bukkit.getLogger().info("Cavern: " + org.toString()); carve.merge(new DeformedSphere(org.clone(), chunk.nextInt(4) + 3, 0.75, smpl)); - Vector _00 = new Vector(org.getX() + 16, new XoRoShiRo128PlusRandom(MathUtil.getCarverChunkSeed(chunkX + 1, chunkZ, seed)).nextInt(128), org.getZ()); + Vector _00 = new Vector(org.getX() + 16, new XoRoShiRo128PlusPlusRandom(MathUtil.getCarverChunkSeed(chunkX + 1, chunkZ, seed)).nextInt(128), org.getZ()); carve.merge(new Tube(org, _00, 4)); return carve; diff --git a/src/main/java/com/dfsek/terra/carving/UserDefinedCarver.java b/src/main/java/com/dfsek/terra/carving/UserDefinedCarver.java index f438a8a30..1df4c251c 100644 --- a/src/main/java/com/dfsek/terra/carving/UserDefinedCarver.java +++ b/src/main/java/com/dfsek/terra/carving/UserDefinedCarver.java @@ -3,7 +3,7 @@ package com.dfsek.terra.carving; import com.dfsek.terra.TerraWorld; import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.config.base.ConfigPack; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.apache.commons.math3.util.FastMath; import org.bukkit.World; import org.bukkit.util.Vector; @@ -41,7 +41,7 @@ public class UserDefinedCarver extends Carver { @Override public Worm getWorm(long l, Vector vector) { - Random r = new XoRoShiRo128PlusRandom(l + hash); + Random r = new XoRoShiRo128PlusPlusRandom(l + hash); return new UserDefinedWorm(length.get(r) / 2, r, vector, radius.getMax(), topCut, bottomCut); } @@ -60,7 +60,7 @@ public class UserDefinedCarver extends Carver { @Override public boolean isChunkCarved(World w, int chunkX, int chunkZ, Random random) { ConfigPack c = TerraWorld.getWorld(w).getConfig(); - return new XoRoShiRo128PlusRandom(random.nextLong() + hash).nextInt(100) < c.getBiome((UserDefinedBiome) TerraWorld.getWorld(w).getGrid().getBiome(chunkX << 4, chunkZ << 4, GenerationPhase.POPULATE)).getCarverChance(this); + return new XoRoShiRo128PlusPlusRandom(random.nextLong() + hash).nextInt(100) < c.getBiome((UserDefinedBiome) TerraWorld.getWorld(w).getGrid().getBiome(chunkX << 4, chunkZ << 4, GenerationPhase.POPULATE)).getCarverChance(this); } private class UserDefinedWorm extends Worm { diff --git a/src/main/java/com/dfsek/terra/command/OreCommand.java b/src/main/java/com/dfsek/terra/command/OreCommand.java index 8bd6c9125..dfae3ec5b 100644 --- a/src/main/java/com/dfsek/terra/command/OreCommand.java +++ b/src/main/java/com/dfsek/terra/command/OreCommand.java @@ -3,7 +3,7 @@ package com.dfsek.terra.command; import com.dfsek.terra.TerraWorld; import com.dfsek.terra.config.genconfig.OreConfig; import com.dfsek.terra.config.lang.LangUtil; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.apache.commons.math3.util.FastMath; import org.bukkit.World; import org.bukkit.block.Block; @@ -16,7 +16,6 @@ import org.polydev.gaea.command.WorldCommand; import java.util.Collections; import java.util.List; -import java.util.Random; public class OreCommand extends WorldCommand { public OreCommand(org.polydev.gaea.command.Command parent) { @@ -37,7 +36,7 @@ public class OreCommand extends WorldCommand { return true; } Vector source = new Vector(FastMath.floorMod(bl.getX(), 16), bl.getY(), FastMath.floorMod(bl.getZ(), 16)); - ore.doVein(source, bl.getChunk(), new XoRoShiRo128PlusRandom()); + ore.doVein(source, bl.getChunk(), new XoRoShiRo128PlusPlusRandom()); } else { LangUtil.send("command.ore.main-menu", sender); } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/FloraConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/FloraConfig.java index 6edecb4ee..338a22940 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/FloraConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/FloraConfig.java @@ -4,7 +4,7 @@ import com.dfsek.terra.config.TerraConfig; import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.base.ConfigUtil; import com.dfsek.terra.config.exception.ConfigException; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.apache.commons.math3.util.FastMath; import org.bukkit.Chunk; import org.bukkit.Location; @@ -22,7 +22,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.Random; import java.util.Set; public class FloraConfig extends TerraConfig implements Flora { @@ -54,7 +53,7 @@ public class FloraConfig extends TerraConfig implements Flora { physics = getBoolean("physics", false); ceiling = getBoolean("ceiling", false); - Palette p = new RandomPalette<>(new XoRoShiRo128PlusRandom(getInt("seed", 4))); + Palette p = new RandomPalette<>(new XoRoShiRo128PlusPlusRandom(getInt("seed", 4))); floraPalette = PaletteConfig.getPalette(getMapList("layers"), p); } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/PaletteConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/PaletteConfig.java index 6e218359d..412d11bb9 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/PaletteConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/PaletteConfig.java @@ -4,7 +4,7 @@ import com.dfsek.terra.Debug; import com.dfsek.terra.config.TerraConfig; import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.exception.ConfigException; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.Bukkit; import org.bukkit.block.data.BlockData; import org.bukkit.configuration.InvalidConfigurationException; @@ -18,7 +18,6 @@ import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; -import java.util.Random; public class PaletteConfig extends TerraConfig { private final Palette palette; @@ -37,7 +36,7 @@ public class PaletteConfig extends TerraConfig { pNoise.setFractalOctaves(4); pNoise.setFrequency(getDouble("frequency", 0.02)); pal = new SimplexPalette<>(pNoise); - } else pal = new RandomPalette<>(new XoRoShiRo128PlusRandom(getInt("seed", 2403))); + } else pal = new RandomPalette<>(new XoRoShiRo128PlusPlusRandom(getInt("seed", 2403))); palette = getPalette(getMapList("layers"), pal); } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeOceanConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeOceanConfig.java index 01520333d..de316e4af 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeOceanConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeOceanConfig.java @@ -4,7 +4,7 @@ import com.dfsek.terra.config.TerraConfig; import com.dfsek.terra.config.TerraConfigSection; import com.dfsek.terra.config.exception.ConfigException; import com.dfsek.terra.config.exception.NotFoundException; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.data.BlockData; @@ -14,10 +14,8 @@ import org.polydev.gaea.math.ProbabilityCollection; import org.polydev.gaea.world.palette.Palette; import org.polydev.gaea.world.palette.RandomPalette; -import java.util.Random; - public class BiomeOceanConfig extends TerraConfigSection { - private static final Palette oceanDefault = new RandomPalette(new XoRoShiRo128PlusRandom(0)).add(Material.WATER.createBlockData(), 1); + private static final Palette oceanDefault = new RandomPalette(new XoRoShiRo128PlusPlusRandom(0)).add(Material.WATER.createBlockData(), 1); private final Palette ocean; private final int seaLevel; @@ -28,7 +26,7 @@ public class BiomeOceanConfig extends TerraConfigSection { if(oceanN != null) { if(oceanN.startsWith("BLOCK:")) { try { - ocean = new RandomPalette(new XoRoShiRo128PlusRandom(0)).add(new ProbabilityCollection().add(Bukkit.createBlockData(oceanN.substring(6)), 1), 1); + ocean = new RandomPalette(new XoRoShiRo128PlusPlusRandom(0)).add(new ProbabilityCollection().add(Bukkit.createBlockData(oceanN.substring(6)), 1), 1); } catch(IllegalArgumentException ex) { throw new ConfigException("BlockData \"" + oceanN + "\" is invalid! (Ocean Palette)", parent.getID()); } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomePaletteConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomePaletteConfig.java index 77afb8581..315bddd14 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomePaletteConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomePaletteConfig.java @@ -4,7 +4,7 @@ import com.dfsek.terra.config.TerraConfig; import com.dfsek.terra.config.TerraConfigSection; import com.dfsek.terra.config.exception.ConfigException; import com.dfsek.terra.config.exception.NotFoundException; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.Bukkit; import org.bukkit.block.data.BlockData; import org.bukkit.configuration.InvalidConfigurationException; @@ -14,7 +14,6 @@ import org.polydev.gaea.world.palette.RandomPalette; import java.util.List; import java.util.Map; -import java.util.Random; import java.util.TreeMap; public class BiomePaletteConfig extends TerraConfigSection { @@ -30,7 +29,7 @@ public class BiomePaletteConfig extends TerraConfigSection { try { if(((String) entry.getKey()).startsWith("BLOCK:")) { try { - paletteMap.put((Integer) entry.getValue(), new RandomPalette(new XoRoShiRo128PlusRandom(0)).add(new ProbabilityCollection().add(Bukkit.createBlockData(((String) entry.getKey()).substring(6)), 1), 1)); + paletteMap.put((Integer) entry.getValue(), new RandomPalette(new XoRoShiRo128PlusPlusRandom(0)).add(new ProbabilityCollection().add(Bukkit.createBlockData(((String) entry.getKey()).substring(6)), 1), 1)); } catch(IllegalArgumentException ex) { throw new ConfigException("BlockData " + entry.getKey() + " is invalid! (Palettes)", parent.getID()); } diff --git a/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeSlabConfig.java b/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeSlabConfig.java index e0197f94a..ca15aef79 100644 --- a/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeSlabConfig.java +++ b/src/main/java/com/dfsek/terra/config/genconfig/biome/BiomeSlabConfig.java @@ -5,7 +5,7 @@ import com.dfsek.terra.config.TerraConfig; import com.dfsek.terra.config.TerraConfigSection; import com.dfsek.terra.config.exception.ConfigException; import com.dfsek.terra.config.exception.NotFoundException; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.data.BlockData; @@ -18,7 +18,6 @@ import org.polydev.gaea.world.palette.RandomPalette; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Random; public class BiomeSlabConfig extends TerraConfigSection { private final Map> slabs; @@ -43,7 +42,7 @@ public class BiomeSlabConfig extends TerraConfigSection { if(((String) entry.getValue()).startsWith("BLOCK:")) { try { Debug.info("Adding slab palette with single material " + entry.getKey()); - paletteMap.put(Bukkit.createBlockData((String) entry.getKey()).getMaterial(), new RandomPalette(new XoRoShiRo128PlusRandom(0)).add(new ProbabilityCollection().add(Bukkit.createBlockData(((String) entry.getValue()).substring(6)), 1), 1)); + paletteMap.put(Bukkit.createBlockData((String) entry.getKey()).getMaterial(), new RandomPalette(new XoRoShiRo128PlusPlusRandom(0)).add(new ProbabilityCollection().add(Bukkit.createBlockData(((String) entry.getValue()).substring(6)), 1), 1)); } catch(IllegalArgumentException ex) { throw new ConfigException("Invalid BlockData in slab configuration: " + ex.getMessage(), getParent().getConfig().getID()); } diff --git a/src/main/java/com/dfsek/terra/population/StructurePopulator.java b/src/main/java/com/dfsek/terra/population/StructurePopulator.java index 8a3b524fc..7b1d7aefa 100644 --- a/src/main/java/com/dfsek/terra/population/StructurePopulator.java +++ b/src/main/java/com/dfsek/terra/population/StructurePopulator.java @@ -13,7 +13,7 @@ import com.dfsek.terra.structure.Structure; import com.dfsek.terra.structure.StructureContainedInventory; import com.dfsek.terra.structure.features.Feature; import com.dfsek.terra.util.structure.RotationUtil; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.apache.commons.math3.util.FastMath; import org.bukkit.Chunk; import org.bukkit.Location; @@ -42,7 +42,7 @@ public class StructurePopulator extends BlockPopulator { for(StructureConfig conf : config.getAllStructures()) { Location spawn = conf.getSpawn().getNearestSpawn(cx + 8, cz + 8, world.getSeed()).toLocation(world); if(!config.getBiome((UserDefinedBiome) grid.getBiome(spawn)).getStructures().contains(conf)) continue; - Random r2 = new XoRoShiRo128PlusRandom(spawn.hashCode()); + Random r2 = new XoRoShiRo128PlusPlusRandom(spawn.hashCode()); Structure struc = conf.getStructure(r2); Rotation rotation = Rotation.fromDegrees(r2.nextInt(4) * 90); for(int y = conf.getSearchStart().get(r2); y > 0; y--) { diff --git a/src/main/java/com/dfsek/terra/procgen/GridSpawn.java b/src/main/java/com/dfsek/terra/procgen/GridSpawn.java index 696751fd0..70e4a6f47 100644 --- a/src/main/java/com/dfsek/terra/procgen/GridSpawn.java +++ b/src/main/java/com/dfsek/terra/procgen/GridSpawn.java @@ -1,6 +1,6 @@ package com.dfsek.terra.procgen; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.util.Vector; import org.polydev.gaea.math.MathUtil; @@ -54,7 +54,7 @@ public class GridSpawn { * @return Vector representing spawnpoint */ public Vector getChunkSpawn(int structureChunkX, int structureChunkZ, long seed) { - Random r = new XoRoShiRo128PlusRandom(MathUtil.getCarverChunkSeed(structureChunkX, structureChunkZ, seed)); + Random r = new XoRoShiRo128PlusPlusRandom(MathUtil.getCarverChunkSeed(structureChunkX, structureChunkZ, seed)); int offsetX = r.nextInt(width); int offsetZ = r.nextInt(width); int sx = structureChunkX * (width + 2 * separation) + offsetX; diff --git a/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java b/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java index da4fa10e6..65ce8f51a 100644 --- a/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java +++ b/src/main/java/com/dfsek/terra/structure/features/EntityFeature.java @@ -4,7 +4,7 @@ import com.dfsek.terra.Debug; import com.dfsek.terra.structure.Rotation; import com.dfsek.terra.structure.Structure; import com.dfsek.terra.structure.StructureInfo; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.apache.commons.math3.util.FastMath; import org.bukkit.Chunk; import org.bukkit.Location; @@ -56,7 +56,7 @@ public class EntityFeature implements Feature { @Override public void apply(Structure structure, Rotation r, Location l, Chunk chunk) { - Random random = new XoRoShiRo128PlusRandom(MathUtil.getCarverChunkSeed(chunk.getX(), chunk.getZ(), chunk.getWorld().getSeed())); + Random random = new XoRoShiRo128PlusPlusRandom(MathUtil.getCarverChunkSeed(chunk.getX(), chunk.getZ(), chunk.getWorld().getSeed())); for(Location attempt : getLocations(structure, r, l, random, amount.get(random))) { if(!isInChunk(chunk, attempt)) continue; // Don't attempt spawn if not in current chunk. attemptSpawn(attempt, l); diff --git a/src/main/java/com/dfsek/terra/util/DataUtil.java b/src/main/java/com/dfsek/terra/util/DataUtil.java index c02dec1eb..b2091c6a1 100644 --- a/src/main/java/com/dfsek/terra/util/DataUtil.java +++ b/src/main/java/com/dfsek/terra/util/DataUtil.java @@ -1,17 +1,15 @@ package com.dfsek.terra.util; -import it.unimi.dsi.util.XoRoShiRo128PlusRandom; +import it.unimi.dsi.util.XoRoShiRo128PlusPlusRandom; import org.bukkit.Material; import org.bukkit.block.data.BlockData; import org.polydev.gaea.world.palette.Palette; import org.polydev.gaea.world.palette.RandomPalette; -import java.util.Random; - public final class DataUtil { public static final BlockData STONE = Material.STONE.createBlockData(); public static final BlockData SNOW = Material.SNOW.createBlockData(); public static final BlockData WATER = Material.WATER.createBlockData(); public static final BlockData AIR = Material.AIR.createBlockData(); - public static final Palette BLANK_PALETTE = new RandomPalette(new XoRoShiRo128PlusRandom(2403)).add(AIR, 1); + public static final Palette BLANK_PALETTE = new RandomPalette(new XoRoShiRo128PlusPlusRandom(2403)).add(AIR, 1); }