9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-30 04:29:05 +00:00

Iris doesnt need worlds anymore

This commit is contained in:
Daniel Mills
2020-09-06 03:19:01 -04:00
parent 035f2a0236
commit 036dc289d5
41 changed files with 2640 additions and 413 deletions

View File

@@ -5,6 +5,7 @@ import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
import com.volmit.iris.gen.IrisChunkGenerator;
import com.volmit.iris.gen.provisions.ProvisionBukkit;
import com.volmit.iris.util.MortarCommand;
import com.volmit.iris.util.MortarSender;
@@ -26,13 +27,13 @@ public class CommandIrisCTC extends MortarCommand
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof IrisChunkGenerator))
if(!(world.getGenerator() instanceof ProvisionBukkit))
{
sender.sendMessage("You must be in an iris world.");
return true;
}
IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator();
IrisChunkGenerator g = (IrisChunkGenerator) ((ProvisionBukkit) world.getGenerator()).getProvider();
int m = Math.min(Math.max(Integer.valueOf(args[0]), 2), 256);
g.changeThreadCount(m);
sender.sendMessage("Thread count changed to " + m);

View File

@@ -14,6 +14,10 @@ import com.volmit.iris.Iris;
import com.volmit.iris.IrisDataManager;
import com.volmit.iris.IrisSettings;
import com.volmit.iris.gen.IrisChunkGenerator;
import com.volmit.iris.gen.nms.NMSCreator;
import com.volmit.iris.gen.provisions.ProvisionBukkit;
import com.volmit.iris.gen.scaffold.IrisGenConfiguration;
import com.volmit.iris.gen.scaffold.TerrainTarget;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.util.Form;
import com.volmit.iris.util.IO;
@@ -138,7 +142,20 @@ public class CommandIrisCreate extends MortarCommand
}
sender.sendMessage(worldName + " type installed. Generating Spawn Area...");
IrisChunkGenerator gen = new IrisChunkGenerator("", 16);
//@builder
ProvisionBukkit gen = Iris.instance.createProvisionBukkit(
IrisGenConfiguration.builder()
.threads(IrisSettings.get().threads)
.dimension(dim.getLoadKey())
.target(TerrainTarget
.builder()
.environment(dim.getEnvironment())
.folder(folder)
.name(worldName)
.seed(seed)
.build()
).build());
//@done
sender.sendMessage("Generating with " + IrisSettings.get().threads + " threads per chunk");
O<Boolean> done = new O<Boolean>();
@@ -151,7 +168,7 @@ public class CommandIrisCreate extends MortarCommand
while(!done.get())
{
boolean derp = false;
double v = (double) gen.getGenerated() / (double) req;
double v = (double) ((IrisChunkGenerator) gen.getProvider()).getGenerated() / (double) req;
if(last > v || v > 1)
{
@@ -169,7 +186,10 @@ public class CommandIrisCreate extends MortarCommand
}
});
World world = Bukkit.createWorld(new WorldCreator(worldName).seed(seed).generator(gen).type(WorldType.NORMAL).environment(dim.getEnvironment()));
WorldCreator wc = new WorldCreator(worldName).seed(seed).generator(gen).type(WorldType.NORMAL).environment(dim.getEnvironment());
World world = NMSCreator.createWorld(wc, false);
done.set(true);
sender.sendMessage(worldName + " Spawn Area generated.");

View File

@@ -6,6 +6,7 @@ import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisMetrics;
import com.volmit.iris.gen.IrisChunkGenerator;
import com.volmit.iris.gen.provisions.ProvisionBukkit;
import com.volmit.iris.util.C;
import com.volmit.iris.util.Form;
import com.volmit.iris.util.MortarCommand;
@@ -28,7 +29,13 @@ public class CommandIrisMetrics extends MortarCommand
{
Player p = sender.player();
World world = p.getWorld();
IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator();
if(!(world.getGenerator() instanceof ProvisionBukkit))
{
sender.sendMessage("You must be in an iris world.");
return true;
}
IrisChunkGenerator g = (IrisChunkGenerator) ((ProvisionBukkit) world.getGenerator()).getProvider();
IrisMetrics m = g.getMetrics();
sender.sendMessage("Thread Count: " + C.BOLD + "" + C.WHITE + g.getThreads());
sender.sendMessage("Total : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTotal().getAverage(), 2));

View File

@@ -40,7 +40,7 @@ public class CommandIrisStudioClose extends MortarCommand
for(World i : Bukkit.getWorlds())
{
if(i.getWorldFolder().getAbsolutePath().equals(Iris.proj.getCurrentProject().getWorld().getWorldFolder().getAbsolutePath()))
if(i.getWorldFolder().getAbsolutePath().equals(Iris.proj.getCurrentProject().getTarget().getFolder().getAbsolutePath()))
{
continue;
}
@@ -51,7 +51,7 @@ public class CommandIrisStudioClose extends MortarCommand
if(f == null)
{
for(Player i : Iris.proj.getCurrentProject().getWorld().getPlayers())
for(Player i : Iris.proj.getCurrentProject().getTarget().getPlayers())
{
i.kickPlayer("Project Closing, No other world to put you in. Rejoin Please!");
}
@@ -59,7 +59,7 @@ public class CommandIrisStudioClose extends MortarCommand
else
{
for(Player i : Iris.proj.getCurrentProject().getWorld().getPlayers())
for(Player i : Iris.proj.getCurrentProject().getTarget().getPlayers())
{
i.teleport(f.getSpawnLocation());
}

View File

@@ -7,6 +7,7 @@ import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisSettings;
import com.volmit.iris.gen.IrisChunkGenerator;
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;
@@ -30,7 +31,7 @@ public class CommandIrisStudioGoto extends MortarCommand
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());
@@ -42,13 +43,13 @@ public class CommandIrisStudioGoto extends MortarCommand
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof IrisChunkGenerator))
if(!(world.getGenerator() instanceof ProvisionBukkit))
{
sender.sendMessage("You must be in an iris world.");
return true;
}
IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator();
IrisChunkGenerator g = (IrisChunkGenerator) ((ProvisionBukkit) world.getGenerator()).getProvider();
int tries = 10000;
boolean cave = false;
IrisBiome biome2 = null;

View File

@@ -6,6 +6,7 @@ import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisSettings;
import com.volmit.iris.gen.IrisChunkGenerator;
import com.volmit.iris.gen.provisions.ProvisionBukkit;
import com.volmit.iris.util.MortarCommand;
import com.volmit.iris.util.MortarSender;
@@ -27,19 +28,18 @@ public class CommandIrisStudioHotload extends MortarCommand
sender.sendMessage("To use Iris Studio, please enable studio in Iris/settings.json");
return true;
}
if(sender.isPlayer())
{
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof IrisChunkGenerator))
if(!(world.getGenerator() instanceof ProvisionBukkit))
{
sender.sendMessage("You must be in an iris world.");
return true;
}
IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator();
IrisChunkGenerator g = (IrisChunkGenerator) ((ProvisionBukkit) world.getGenerator()).getProvider();
g.onHotload();
sender.sendMessage("Hotloaded!");
return true;

View File

@@ -1,14 +1,7 @@
package com.volmit.iris.command;
import org.bukkit.World;
import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisMetrics;
import com.volmit.iris.gen.IrisChunkGenerator;
import com.volmit.iris.util.C;
import com.volmit.iris.util.Command;
import com.volmit.iris.util.Form;
import com.volmit.iris.util.MortarCommand;
import com.volmit.iris.util.MortarSender;
@@ -32,26 +25,7 @@ public class CommandIrisWhat extends MortarCommand
@Override
public boolean handle(MortarSender sender, String[] args)
{
if(sender.isPlayer())
{
Player p = (Player) sender;
World world = p.getWorld();
IrisChunkGenerator g = (IrisChunkGenerator) world.getGenerator();
IrisMetrics m = g.getMetrics();
sender.sendMessage("Thread Count: " + C.BOLD + "" + C.WHITE + g.getThreads());
sender.sendMessage("Total : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTotal().getAverage(), 2));
sender.sendMessage(" Terrain : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTerrain().getAverage(), 2));
sender.sendMessage(" Parallax: " + C.BOLD + "" + C.WHITE + Form.duration(m.getParallax().getAverage(), 2));
sender.sendMessage(" Post : " + C.BOLD + "" + C.WHITE + Form.duration(m.getPost().getAverage(), 2));
return true;
}
else
{
sender.sendMessage("Players only.");
}
printHelp(sender);
return true;
}