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.ChatColor;
|
||||
import org.bukkit.FluidCollisionMode;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.WorldCreator;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
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.IrisObject;
|
||||
import ninja.bytecode.iris.util.BiomeResult;
|
||||
import ninja.bytecode.iris.util.BlockDataTools;
|
||||
import ninja.bytecode.iris.util.BoardManager;
|
||||
import ninja.bytecode.iris.util.BoardProvider;
|
||||
import ninja.bytecode.iris.util.BoardSettings;
|
||||
@ -105,7 +108,7 @@ public class Iris extends JavaPlugin implements BoardProvider
|
||||
lines.add(ChatColor.GREEN + "Biome" + ChatColor.GRAY + ": " + b.getName());
|
||||
lines.add(ChatColor.GREEN + "File" + ChatColor.GRAY + ": " + b.getLoadKey() + ".json");
|
||||
}
|
||||
|
||||
|
||||
lines.add("&7&m-----------------");
|
||||
}
|
||||
|
||||
@ -139,6 +142,7 @@ public class Iris extends JavaPlugin implements BoardProvider
|
||||
if(args.length == 0)
|
||||
{
|
||||
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 save <name> - Save 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[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.length == 1)
|
||||
|
@ -14,6 +14,7 @@ import ninja.bytecode.iris.object.IrisGenerator;
|
||||
import ninja.bytecode.iris.object.IrisRegion;
|
||||
import ninja.bytecode.iris.util.BiomeResult;
|
||||
import ninja.bytecode.iris.util.CNG;
|
||||
import ninja.bytecode.iris.util.ChronoLatch;
|
||||
import ninja.bytecode.iris.util.ChunkPosition;
|
||||
import ninja.bytecode.iris.util.IrisInterpolation;
|
||||
import ninja.bytecode.iris.util.RNG;
|
||||
@ -30,6 +31,7 @@ public abstract class BiomeChunkGenerator extends DimensionChunkGenerator
|
||||
protected GenLayerBiome glBiome;
|
||||
protected CNG masterFracture;
|
||||
protected KMap<ChunkPosition, BiomeResult> biomeHitCache;
|
||||
protected ChronoLatch cwarn = new ChronoLatch(1000);
|
||||
|
||||
public BiomeChunkGenerator(String dimensionName)
|
||||
{
|
||||
@ -88,7 +90,7 @@ public abstract class BiomeChunkGenerator extends DimensionChunkGenerator
|
||||
{
|
||||
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()))
|
||||
{
|
||||
return i.getMax();
|
||||
return i.getMin();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3,8 +3,8 @@ package ninja.bytecode.iris.generator;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.data.Bisected;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.block.data.Bisected.Half;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -129,8 +129,8 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
||||
return glBiome.generateLandData(wx, wz, region);
|
||||
}
|
||||
|
||||
// Stop oceans from spawning on mountains
|
||||
if(current.isShore() && height <= getDimension().getFluidHeight())
|
||||
// Stop land & shore from spawning underwater
|
||||
if(current.isShore() || current.isLand() && height <= getDimension().getFluidHeight())
|
||||
{
|
||||
return glBiome.generateSeaData(wx, wz, region);
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public class GenLayerBiome extends GenLayer
|
||||
|
||||
public IrisRegion getRegion(double bx, double bz)
|
||||
{
|
||||
region.setShuffle(32);
|
||||
region.setShuffle(8);
|
||||
region.setCellScale(0.33 / iris.getDimension().getRegionZoom());
|
||||
double x = bx / 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));
|
||||
}
|
||||
|
||||
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());
|
||||
double x = bx / 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);
|
||||
}
|
||||
@ -75,21 +79,21 @@ public class GenLayerBiome extends GenLayer
|
||||
|
||||
public BiomeResult generateSeaData(double bx, double bz, IrisRegion regionData)
|
||||
{
|
||||
sea.setShuffle(32);
|
||||
sea.setShuffle(42);
|
||||
sea.setCellScale(0.56 / iris.getDimension().getSeaZoom());
|
||||
return generateBiomeData(bx, bz, regionData, sea, regionData.getSeaBiomes(), InferredType.SEA);
|
||||
}
|
||||
|
||||
public BiomeResult generateLandData(double bx, double bz, IrisRegion regionData)
|
||||
{
|
||||
land.setShuffle(32);
|
||||
land.setShuffle(12);
|
||||
land.setCellScale(0.6 / iris.getDimension().getLandZoom());
|
||||
return generateBiomeData(bx, bz, regionData, land, regionData.getLandBiomes(), InferredType.LAND);
|
||||
}
|
||||
|
||||
public BiomeResult generateShoreData(double bx, double bz, IrisRegion regionData)
|
||||
{
|
||||
shore.setShuffle(32);
|
||||
shore.setShuffle(4);
|
||||
shore.setCellScale(0.8 / iris.getDimension().getShoreZoom());
|
||||
return generateBiomeData(bx, bz, regionData, shore, regionData.getShoreBiomes(), InferredType.SHORE);
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package ninja.bytecode.iris.object;
|
||||
|
||||
import lombok.Data;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import ninja.bytecode.iris.Iris;
|
||||
import ninja.bytecode.iris.util.IrisInterpolation;
|
||||
|
||||
@ -28,8 +27,6 @@ public class IrisBiomeGeneratorLink
|
||||
{
|
||||
gen = new IrisGenerator();
|
||||
}
|
||||
|
||||
Iris.success("Registered Generator " + ChatColor.WHITE + gen.getLoadKey());
|
||||
}
|
||||
|
||||
return gen;
|
||||
|
@ -19,7 +19,7 @@ public class IrisDimension extends IrisRegistrant
|
||||
private double interpolationSurfaceScale = 4;
|
||||
private Environment environment = Environment.NORMAL;
|
||||
private KList<String> regions = new KList<>();
|
||||
private int fluidHeight = 127;
|
||||
private int fluidHeight = 63;
|
||||
private double biomeZoom = 5D;
|
||||
private double terrainZoom = 2D;
|
||||
private double dimensionAngleDeg = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user