Fix command issues with not in iris world

This commit is contained in:
Daniel Mills 2020-10-22 18:06:58 -04:00
parent bfe7cf0ed7
commit c191060b73
8 changed files with 28 additions and 22 deletions

View File

@ -228,7 +228,7 @@ public class Iris extends MortarPlugin
for(World i : Bukkit.getWorlds())
{
if(i.getGenerator() instanceof ProvisionBukkit)
if(IrisWorlds.isIrisWorld(i))
{
IrisWorlds.getProvider(i).close();
}

View File

@ -5,7 +5,6 @@ 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.gen.scaffold.IrisWorlds;
import com.volmit.iris.util.MortarCommand;
import com.volmit.iris.util.MortarSender;
@ -34,7 +33,7 @@ public class CommandIrisCTC extends MortarCommand
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof ProvisionBukkit))
if(!IrisWorlds.isIrisWorld(world))
{
sender.sendMessage("You must be in an iris world.");
return true;
@ -44,6 +43,7 @@ public class CommandIrisCTC extends MortarCommand
int m = Math.min(Math.max(Integer.valueOf(args[0]), 2), 256);
g.changeThreadCount(m);
sender.sendMessage("Thread count changed to " + m);
rejectAny(1, sender, args);
return true;
}

View File

@ -5,7 +5,6 @@ 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.gen.scaffold.IrisMetrics;
import com.volmit.iris.gen.scaffold.IrisWorlds;
import com.volmit.iris.util.C;
@ -30,7 +29,7 @@ public class CommandIrisMetrics extends MortarCommand
{
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof ProvisionBukkit))
if(!IrisWorlds.isIrisWorld(world))
{
sender.sendMessage("You must be in an iris world.");
return true;

View File

@ -4,9 +4,7 @@ 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.gen.scaffold.Provisioned;
import com.volmit.iris.gen.scaffold.IrisWorlds;
import com.volmit.iris.util.MortarCommand;
import com.volmit.iris.util.MortarSender;
import com.volmit.iris.util.Spiraler;
@ -28,25 +26,23 @@ public class CommandIrisRegen extends MortarCommand
{
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof ProvisionBukkit))
if(!IrisWorlds.isIrisWorld(world))
{
sender.sendMessage("You must be in an iris world.");
return true;
}
Provisioned pr = (Provisioned) world.getGenerator();
if(((IrisTerrainProvider) pr.getProvider()).isFailing())
if(IrisWorlds.getProvider(world).isFailing())
{
sender.sendMessage("This world is in a failed state! Cannot Regenerate!");
return true;
}
pr.clearRegeneratedLists();
IrisWorlds.getProvisioned(world).clearRegeneratedLists();
if(args.length == 0)
{
sender.sendMessage("Regenerating your chunk");
pr.regenerate(p.getLocation().getChunk().getX(), p.getLocation().getChunk().getZ());
IrisWorlds.getProvisioned(world).regenerate(p.getLocation().getChunk().getX(), p.getLocation().getChunk().getZ());
return true;
}
@ -54,7 +50,7 @@ public class CommandIrisRegen extends MortarCommand
{
int m = Integer.valueOf(args[0]);
sender.sendMessage("Regenerating " + (m * m) + " Chunks Surrounding you");
new Spiraler(m, m, (a, b) -> pr.regenerate(a + p.getLocation().getChunk().getX(), b + p.getLocation().getChunk().getZ())).drain();
new Spiraler(m, m, (a, b) -> IrisWorlds.getProvisioned(world).regenerate(a + p.getLocation().getChunk().getX(), b + p.getLocation().getChunk().getZ())).drain();
}
catch(Throwable e)

View File

@ -37,7 +37,7 @@ public class CommandIrisStudioGoto extends MortarCommand
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof ProvisionBukkit))
if(!IrisWorlds.isIrisWorld(world))
{
sender.sendMessage("You must be in an iris world.");
return true;

View File

@ -34,7 +34,7 @@ public class CommandIrisStudioHotload extends MortarCommand
{
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof ProvisionBukkit))
if(!IrisWorlds.isIrisWorld(world))
{
sender.sendMessage("You must be in an iris world.");
return true;

View File

@ -35,7 +35,7 @@ public class CommandIrisStudioSummon extends MortarCommand
{
Player p = sender.player();
World world = p.getWorld();
if(!(world.getGenerator() instanceof ProvisionBukkit))
if(!IrisWorlds.isIrisWorld(world))
{
sender.sendMessage("You must be in an iris world.");
return true;

View File

@ -50,7 +50,9 @@ public abstract class MortarCommand implements ICommand
continue;
}
}
b = true;
sender.sendMessage(C.GREEN + i.getNode() + " " + C.WHITE + i.getArgsUsage() + C.GRAY + " - " + i.getDescription());
}
@ -92,18 +94,27 @@ public abstract class MortarCommand implements ICommand
requiredPermissions.add(node);
}
public void rejectAny(MortarSender sender, String[] a)
public void rejectAny(int past, MortarSender sender, String[] a)
{
if(a.length > 0)
if(a.length > past)
{
int p = past;
String m = "";
for(String i : a)
{
m += i + " ";
p--;
if(p < 0)
{
m += i + ", ";
}
}
sender.sendMessage("Unknown Parameters: " + m);
if(!m.trim().isEmpty())
{
sender.sendMessage("Parameters Ignored: " + m);
}
}
}