mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-29 20:19:06 +00:00
Fixes
This commit is contained in:
@@ -12,6 +12,9 @@ public class CommandIrisStudio extends MortarCommand
|
||||
@Command
|
||||
private CommandIrisStudioCreate create;
|
||||
|
||||
@Command
|
||||
private CommandIrisStudioFix fix;
|
||||
|
||||
@Command
|
||||
private CommandIrisStudioOpen open;
|
||||
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.scaffold.hunk.Hunk;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
public class CommandIrisStudioFix extends MortarCommand
|
||||
{
|
||||
public CommandIrisStudioFix()
|
||||
{
|
||||
super("fix");
|
||||
requiresPermission(Iris.perm.studio);
|
||||
setDescription("Go to the spawn of the currently open studio world.");
|
||||
setCategory("Studio");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTabOptions(MortarSender sender, String[] args, KList<String> list) {
|
||||
|
||||
}
|
||||
|
||||
@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(!Iris.proj.isProjectOpen())
|
||||
{
|
||||
sender.sendMessage("There is not a studio currently loaded.");
|
||||
return true;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Chunk c = sender.player().getLocation().getChunk();
|
||||
int cx = c.getX() * 16;
|
||||
int cz = c.getZ() * 16;
|
||||
Hunk<BlockData> bd = Hunk.viewBlocks(c);
|
||||
Iris.proj.getActiveProject().getActiveProvider().getCompound().getDefaultEngine().getFramework().getEngineParallax().insertParallax(cx, cz, bd);
|
||||
sender.sendMessage("Done!");
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
sender.sendMessage("Failed to teleport to the studio world. Try re-opening the project.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.volmit.iris.manager.edit;
|
||||
|
||||
import com.volmit.iris.util.*;
|
||||
import com.volmit.iris.scaffold.engine.EngineCompositeGenerator;
|
||||
import com.volmit.iris.scaffold.IrisWorlds;
|
||||
import com.volmit.iris.scaffold.engine.IrisAccess;
|
||||
import com.volmit.iris.scaffold.parallax.ParallaxAccess;
|
||||
import com.volmit.iris.util.*;
|
||||
import lombok.Data;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
@@ -18,10 +19,11 @@ public class DustRevealer {
|
||||
public static void spawn(Block block, MortarSender sender)
|
||||
{
|
||||
World world = block.getWorld();
|
||||
IrisAccess access = IrisWorlds.access(world);
|
||||
|
||||
if(world.getGenerator() instanceof EngineCompositeGenerator)
|
||||
if(access != null)
|
||||
{
|
||||
ParallaxAccess a = ((EngineCompositeGenerator)world.getGenerator()).getComposite().getEngineForHeight(block.getY()).getParallax();
|
||||
ParallaxAccess a = access.getEngineAccess(block.getY()).getParallaxAccess();
|
||||
|
||||
if(a.getObject(block.getX(), block.getY(), block.getZ()) != null)
|
||||
{
|
||||
@@ -43,32 +45,39 @@ public class DustRevealer {
|
||||
J.s(() -> {
|
||||
new BlockSignal(world.getBlockAt(block.getX(), block.getY(), block.getZ()), 100);
|
||||
J.a(() -> {
|
||||
is(new BlockPosition(block.getX() + 1, block.getY(), block.getZ()));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY(), block.getZ()));
|
||||
is(new BlockPosition(block.getX(), block.getY() + 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX(), block.getY() - 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX(), block.getY(), block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX(), block.getY(), block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX() + 1, block.getY(), block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX() + 1, block.getY(), block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY(), block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY(), block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX() + 1, block.getY() + 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX() + 1, block.getY() - 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY() + 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY() - 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX(), block.getY() + 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX(), block.getY() + 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX(), block.getY() - 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX(), block.getY() - 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX()-1, block.getY() + 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX()-1, block.getY() + 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX()-1, block.getY() - 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX()-1, block.getY() - 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX()+1, block.getY() + 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX()+1, block.getY() + 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX()+1, block.getY() - 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX()+1, block.getY() - 1, block.getZ() + 1));
|
||||
try {
|
||||
is(new BlockPosition(block.getX() + 1, block.getY(), block.getZ()));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY(), block.getZ()));
|
||||
is(new BlockPosition(block.getX(), block.getY() + 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX(), block.getY() - 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX(), block.getY(), block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX(), block.getY(), block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX() + 1, block.getY(), block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX() + 1, block.getY(), block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY(), block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY(), block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX() + 1, block.getY() + 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX() + 1, block.getY() - 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY() + 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX() - 1, block.getY() - 1, block.getZ()));
|
||||
is(new BlockPosition(block.getX(), block.getY() + 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX(), block.getY() + 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX(), block.getY() - 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX(), block.getY() - 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX()-1, block.getY() + 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX()-1, block.getY() + 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX()-1, block.getY() - 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX()-1, block.getY() - 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX()+1, block.getY() + 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX()+1, block.getY() + 1, block.getZ() + 1));
|
||||
is(new BlockPosition(block.getX()+1, block.getY() - 1, block.getZ() - 1));
|
||||
is(new BlockPosition(block.getX()+1, block.getY() - 1, block.getZ() + 1));
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}, RNG.r.i(3,6));
|
||||
}
|
||||
@@ -78,6 +87,7 @@ public class DustRevealer {
|
||||
{
|
||||
hits.add(a);
|
||||
new DustRevealer(parallax, world, a, key, hits);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user