This commit is contained in:
Daniel Mills 2020-10-18 08:39:26 -04:00
parent ffecbb2298
commit d67596117f
9 changed files with 2449 additions and 13 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>bytecode.ninja</groupId>
<artifactId>Iris</artifactId>
<version>1.0.15</version>
<version>1.0.17</version>
<name>Iris</name>
<properties>
<skip.copy>false</skip.copy>

View File

@ -5,7 +5,6 @@ import org.bukkit.World;
import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisSettings;
import com.volmit.iris.gen.IrisTerrainProvider;
import com.volmit.iris.gen.provisions.ProvisionBukkit;
import com.volmit.iris.object.IrisBiome;
@ -26,15 +25,9 @@ public class CommandIrisStudioGoto extends MortarCommand
@Override
public boolean handle(MortarSender sender, String[] args)
{
if(!IrisSettings.get().isStudio())
{
sender.sendMessage("To use Iris Studio, please enable studio in Iris/settings.json");
return true;
}
if(args.length < 1)
{
sender.sendMessage("/iris world goto " + getArgsUsage());
sender.sendMessage("/iris std goto " + getArgsUsage());
return true;
}

View File

@ -7,6 +7,7 @@ import org.bukkit.inventory.Inventory;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisSettings;
import com.volmit.iris.gen.IrisTerrainProvider;
import com.volmit.iris.gen.scaffold.IrisWorlds;
import com.volmit.iris.object.InventorySlotType;
import com.volmit.iris.object.IrisLootTable;
@ -38,7 +39,14 @@ public class CommandIrisStudioLoot extends MortarCommand
if(sender.isPlayer())
{
Player p = sender.player();
IrisWorlds.getProvider(sender.player().getWorld()).getPopulators();
IrisTerrainProvider prov = IrisWorlds.getProvider(sender.player().getWorld());
if(prov == null)
{
sender.sendMessage("You can only use /iris loot in a studio world of iris.");
return true;
}
KList<IrisLootTable> tables = IrisWorlds.getProvider(sender.player().getWorld()).getGlUpdate().getLootTables(RNG.r, p.getLocation().getBlock());
Inventory inv = Bukkit.createInventory(null, 27 * 2);
Iris.proj.getActiveProject().getActiveProvider().getGlUpdate().addItems(true, inv, RNG.r, tables, InventorySlotType.STORAGE, p.getLocation().getBlockX(), p.getLocation().getBlockY(), p.getLocation().getBlockZ(), 1);

View File

@ -12,6 +12,9 @@ public class CommandIrisWhat extends MortarCommand
@Command
private CommandIrisWhatHand hand;
@Command
private CommandIrisWhatBiome biome;
public CommandIrisWhat()
{

View File

@ -0,0 +1,57 @@
package com.volmit.iris.command;
import org.bukkit.World;
import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
import com.volmit.iris.gen.IrisTerrainProvider;
import com.volmit.iris.gen.provisions.ProvisionBukkit;
import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.util.MortarCommand;
import com.volmit.iris.util.MortarSender;
public class CommandIrisWhatBiome extends MortarCommand
{
public CommandIrisWhatBiome()
{
super("biome", "bi");
setDescription("Get the biome data you are in.");
requiresPermission(Iris.perm.studio);
setCategory("Wut");
setDescription("What biome am i In");
}
@Override
public boolean handle(MortarSender sender, String[] args)
{
if(sender.isPlayer())
{
Player p = sender.player();
World w = p.getWorld();
try
{
IrisBiome b = ((IrisTerrainProvider) ((ProvisionBukkit) w.getGenerator()).getProvider()).sampleTrueBiome(p.getLocation().getBlockX(), p.getLocation().getBlockY(), p.getLocation().getBlockZ());
sender.sendMessage("IBiome: " + b.getLoadKey() + " (" + b.getDerivative().name() + ")");
}
catch(Throwable e)
{
sender.sendMessage("Non-Iris Biome: " + p.getLocation().getBlock().getBiome().name());
}
}
else
{
sender.sendMessage("Players only.");
}
return true;
}
@Override
protected String getArgsUsage()
{
return "";
}
}

View File

@ -489,6 +489,11 @@ public class IrisTerrainProvider extends SkyTerrainProvider implements IrisConte
@Override
protected void onSpawn(EntitySpawnEvent e)
{
if(getTarget().getRealWorld() == null || !getTarget().getRealWorld().equals(e.getEntity().getWorld()))
{
return;
}
if(isSpawnable())
{
if(!IrisSettings.get().isSystemEntitySpawnOverrides())

View File

@ -285,6 +285,7 @@ public class CNG
{
Iris.error("Failed to sample noise into array " + v.size() + " nodes");
Iris.error("Noise Source: " + generator.getClass().getSimpleName());
}
return v.get(0);

File diff suppressed because one or more lines are too long

View File

@ -4,16 +4,16 @@ import com.volmit.iris.util.RNG;
public class WhiteNoise implements NoiseGenerator
{
private final FastNoiseDouble n;
private final FastNoise n;
public WhiteNoise(long seed)
{
n = new FastNoiseDouble(new RNG(seed).lmax());
n = new FastNoise(new RNG(seed).imax());
}
private double f(double m)
{
return m;
return (m % 8192) * 1024;
}
@Override