mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Fixes
This commit is contained in:
parent
27ce6ad5ba
commit
5b8d812fc8
@ -9,12 +9,14 @@ import java.util.UUID;
|
|||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.FluidCollisionMode;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.WorldCreator;
|
import org.bukkit.WorldCreator;
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -30,6 +32,7 @@ import ninja.bytecode.iris.object.IrisBiome;
|
|||||||
import ninja.bytecode.iris.object.IrisDimension;
|
import ninja.bytecode.iris.object.IrisDimension;
|
||||||
import ninja.bytecode.iris.object.IrisObject;
|
import ninja.bytecode.iris.object.IrisObject;
|
||||||
import ninja.bytecode.iris.util.BiomeResult;
|
import ninja.bytecode.iris.util.BiomeResult;
|
||||||
|
import ninja.bytecode.iris.util.BlockDataTools;
|
||||||
import ninja.bytecode.iris.util.BoardManager;
|
import ninja.bytecode.iris.util.BoardManager;
|
||||||
import ninja.bytecode.iris.util.BoardProvider;
|
import ninja.bytecode.iris.util.BoardProvider;
|
||||||
import ninja.bytecode.iris.util.BoardSettings;
|
import ninja.bytecode.iris.util.BoardSettings;
|
||||||
@ -139,6 +142,7 @@ public class Iris extends JavaPlugin implements BoardProvider
|
|||||||
if(args.length == 0)
|
if(args.length == 0)
|
||||||
{
|
{
|
||||||
imsg(sender, "/iris dev [dimension] - Create a new dev world");
|
imsg(sender, "/iris dev [dimension] - Create a new dev world");
|
||||||
|
imsg(sender, "/iris what <look/hand> - Data about items & blocks");
|
||||||
imsg(sender, "/iris wand [?] - Get a wand / help");
|
imsg(sender, "/iris wand [?] - Get a wand / help");
|
||||||
imsg(sender, "/iris save <name> - Save object");
|
imsg(sender, "/iris save <name> - Save object");
|
||||||
imsg(sender, "/iris load <name> - Load & place object");
|
imsg(sender, "/iris load <name> - Load & place object");
|
||||||
@ -146,6 +150,47 @@ public class Iris extends JavaPlugin implements BoardProvider
|
|||||||
|
|
||||||
if(args.length >= 1)
|
if(args.length >= 1)
|
||||||
{
|
{
|
||||||
|
if(args[0].equalsIgnoreCase("what"))
|
||||||
|
{
|
||||||
|
if(args.length != 2)
|
||||||
|
{
|
||||||
|
imsg(sender, "/iris what <look/hand> - Data about items & blocks");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
BlockData bd = null;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if(args[1].toLowerCase().startsWith("h"))
|
||||||
|
{
|
||||||
|
bd = BlockDataTools.getBlockData(((Player) sender).getInventory().getItemInMainHand().getType().name());
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bd = ((Player) sender).getTargetBlockExact(128, FluidCollisionMode.NEVER).getBlockData();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
catch(Throwable e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(bd == null)
|
||||||
|
{
|
||||||
|
imsg(sender, "No data found.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
imsg(sender, "Material: " + ChatColor.GREEN + bd.getMaterial().name());
|
||||||
|
imsg(sender, "Full: " + ChatColor.WHITE + bd.getAsString(true));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if(args[0].equalsIgnoreCase("wand"))
|
if(args[0].equalsIgnoreCase("wand"))
|
||||||
{
|
{
|
||||||
if(args.length == 1)
|
if(args.length == 1)
|
||||||
|
@ -14,6 +14,7 @@ import ninja.bytecode.iris.object.IrisGenerator;
|
|||||||
import ninja.bytecode.iris.object.IrisRegion;
|
import ninja.bytecode.iris.object.IrisRegion;
|
||||||
import ninja.bytecode.iris.util.BiomeResult;
|
import ninja.bytecode.iris.util.BiomeResult;
|
||||||
import ninja.bytecode.iris.util.CNG;
|
import ninja.bytecode.iris.util.CNG;
|
||||||
|
import ninja.bytecode.iris.util.ChronoLatch;
|
||||||
import ninja.bytecode.iris.util.ChunkPosition;
|
import ninja.bytecode.iris.util.ChunkPosition;
|
||||||
import ninja.bytecode.iris.util.IrisInterpolation;
|
import ninja.bytecode.iris.util.IrisInterpolation;
|
||||||
import ninja.bytecode.iris.util.RNG;
|
import ninja.bytecode.iris.util.RNG;
|
||||||
@ -30,6 +31,7 @@ public abstract class BiomeChunkGenerator extends DimensionChunkGenerator
|
|||||||
protected GenLayerBiome glBiome;
|
protected GenLayerBiome glBiome;
|
||||||
protected CNG masterFracture;
|
protected CNG masterFracture;
|
||||||
protected KMap<ChunkPosition, BiomeResult> biomeHitCache;
|
protected KMap<ChunkPosition, BiomeResult> biomeHitCache;
|
||||||
|
protected ChronoLatch cwarn = new ChronoLatch(1000);
|
||||||
|
|
||||||
public BiomeChunkGenerator(String dimensionName)
|
public BiomeChunkGenerator(String dimensionName)
|
||||||
{
|
{
|
||||||
@ -88,7 +90,7 @@ public abstract class BiomeChunkGenerator extends DimensionChunkGenerator
|
|||||||
{
|
{
|
||||||
if(i.getGenerator().equals(gen.getLoadKey()))
|
if(i.getGenerator().equals(gen.getLoadKey()))
|
||||||
{
|
{
|
||||||
return i.getMin();
|
return i.getMax();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,7 +105,7 @@ public abstract class BiomeChunkGenerator extends DimensionChunkGenerator
|
|||||||
{
|
{
|
||||||
if(i.getGenerator().equals(gen.getLoadKey()))
|
if(i.getGenerator().equals(gen.getLoadKey()))
|
||||||
{
|
{
|
||||||
return i.getMax();
|
return i.getMin();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@ package ninja.bytecode.iris.generator;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.data.Bisected;
|
import org.bukkit.block.data.Bisected;
|
||||||
import org.bukkit.block.data.BlockData;
|
|
||||||
import org.bukkit.block.data.Bisected.Half;
|
import org.bukkit.block.data.Bisected.Half;
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@ -129,8 +129,8 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
|||||||
return glBiome.generateLandData(wx, wz, region);
|
return glBiome.generateLandData(wx, wz, region);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop oceans from spawning on mountains
|
// Stop land & shore from spawning underwater
|
||||||
if(current.isShore() && height <= getDimension().getFluidHeight())
|
if(current.isShore() || current.isLand() && height <= getDimension().getFluidHeight())
|
||||||
{
|
{
|
||||||
return glBiome.generateSeaData(wx, wz, region);
|
return glBiome.generateSeaData(wx, wz, region);
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ public class GenLayerBiome extends GenLayer
|
|||||||
|
|
||||||
public IrisRegion getRegion(double bx, double bz)
|
public IrisRegion getRegion(double bx, double bz)
|
||||||
{
|
{
|
||||||
region.setShuffle(32);
|
region.setShuffle(8);
|
||||||
region.setCellScale(0.33 / iris.getDimension().getRegionZoom());
|
region.setCellScale(0.33 / iris.getDimension().getRegionZoom());
|
||||||
double x = bx / iris.getDimension().getBiomeZoom();
|
double x = bx / iris.getDimension().getBiomeZoom();
|
||||||
double z = bz / iris.getDimension().getBiomeZoom();
|
double z = bz / iris.getDimension().getBiomeZoom();
|
||||||
@ -45,14 +45,18 @@ public class GenLayerBiome extends GenLayer
|
|||||||
return generateRegionData(bx, bz, getRegion(bx, bz));
|
return generateRegionData(bx, bz, getRegion(bx, bz));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BiomeResult generateRegionData(double bx, double bz, IrisRegion regionData)
|
public boolean isSea(double bx, double bz, IrisRegion regionData)
|
||||||
{
|
{
|
||||||
bridge.setShuffle(32);
|
bridge.setShuffle(0);
|
||||||
bridge.setCellScale(0.33 / iris.getDimension().getContinentZoom());
|
bridge.setCellScale(0.33 / iris.getDimension().getContinentZoom());
|
||||||
double x = bx / iris.getDimension().getBiomeZoom();
|
double x = bx / iris.getDimension().getBiomeZoom();
|
||||||
double z = bz / iris.getDimension().getBiomeZoom();
|
double z = bz / iris.getDimension().getBiomeZoom();
|
||||||
|
return bridge.getIndex(x, z, 5) == 1;
|
||||||
|
}
|
||||||
|
|
||||||
if(bridge.getIndex(x, z, 5) == 1)
|
public BiomeResult generateRegionData(double bx, double bz, IrisRegion regionData)
|
||||||
|
{
|
||||||
|
if(isSea(bx, bz, regionData))
|
||||||
{
|
{
|
||||||
return generateSeaData(bx, bz, regionData);
|
return generateSeaData(bx, bz, regionData);
|
||||||
}
|
}
|
||||||
@ -75,21 +79,21 @@ public class GenLayerBiome extends GenLayer
|
|||||||
|
|
||||||
public BiomeResult generateSeaData(double bx, double bz, IrisRegion regionData)
|
public BiomeResult generateSeaData(double bx, double bz, IrisRegion regionData)
|
||||||
{
|
{
|
||||||
sea.setShuffle(32);
|
sea.setShuffle(42);
|
||||||
sea.setCellScale(0.56 / iris.getDimension().getSeaZoom());
|
sea.setCellScale(0.56 / iris.getDimension().getSeaZoom());
|
||||||
return generateBiomeData(bx, bz, regionData, sea, regionData.getSeaBiomes(), InferredType.SEA);
|
return generateBiomeData(bx, bz, regionData, sea, regionData.getSeaBiomes(), InferredType.SEA);
|
||||||
}
|
}
|
||||||
|
|
||||||
public BiomeResult generateLandData(double bx, double bz, IrisRegion regionData)
|
public BiomeResult generateLandData(double bx, double bz, IrisRegion regionData)
|
||||||
{
|
{
|
||||||
land.setShuffle(32);
|
land.setShuffle(12);
|
||||||
land.setCellScale(0.6 / iris.getDimension().getLandZoom());
|
land.setCellScale(0.6 / iris.getDimension().getLandZoom());
|
||||||
return generateBiomeData(bx, bz, regionData, land, regionData.getLandBiomes(), InferredType.LAND);
|
return generateBiomeData(bx, bz, regionData, land, regionData.getLandBiomes(), InferredType.LAND);
|
||||||
}
|
}
|
||||||
|
|
||||||
public BiomeResult generateShoreData(double bx, double bz, IrisRegion regionData)
|
public BiomeResult generateShoreData(double bx, double bz, IrisRegion regionData)
|
||||||
{
|
{
|
||||||
shore.setShuffle(32);
|
shore.setShuffle(4);
|
||||||
shore.setCellScale(0.8 / iris.getDimension().getShoreZoom());
|
shore.setCellScale(0.8 / iris.getDimension().getShoreZoom());
|
||||||
return generateBiomeData(bx, bz, regionData, shore, regionData.getShoreBiomes(), InferredType.SHORE);
|
return generateBiomeData(bx, bz, regionData, shore, regionData.getShoreBiomes(), InferredType.SHORE);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package ninja.bytecode.iris.object;
|
package ninja.bytecode.iris.object;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import net.md_5.bungee.api.ChatColor;
|
|
||||||
import ninja.bytecode.iris.Iris;
|
import ninja.bytecode.iris.Iris;
|
||||||
import ninja.bytecode.iris.util.IrisInterpolation;
|
import ninja.bytecode.iris.util.IrisInterpolation;
|
||||||
|
|
||||||
@ -28,8 +27,6 @@ public class IrisBiomeGeneratorLink
|
|||||||
{
|
{
|
||||||
gen = new IrisGenerator();
|
gen = new IrisGenerator();
|
||||||
}
|
}
|
||||||
|
|
||||||
Iris.success("Registered Generator " + ChatColor.WHITE + gen.getLoadKey());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return gen;
|
return gen;
|
||||||
|
@ -19,7 +19,7 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
private double interpolationSurfaceScale = 4;
|
private double interpolationSurfaceScale = 4;
|
||||||
private Environment environment = Environment.NORMAL;
|
private Environment environment = Environment.NORMAL;
|
||||||
private KList<String> regions = new KList<>();
|
private KList<String> regions = new KList<>();
|
||||||
private int fluidHeight = 127;
|
private int fluidHeight = 63;
|
||||||
private double biomeZoom = 5D;
|
private double biomeZoom = 5D;
|
||||||
private double terrainZoom = 2D;
|
private double terrainZoom = 2D;
|
||||||
private double dimensionAngleDeg = 0;
|
private double dimensionAngleDeg = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user