mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 10:12:53 +00:00
Merge pull request #406 from CocoTheOwner/jigsawexit
Create a jigsaw exit command
This commit is contained in:
commit
e4ea01cfd2
@ -0,0 +1,59 @@
|
|||||||
|
package com.volmit.iris.manager.command.jigsaw;
|
||||||
|
|
||||||
|
import com.volmit.iris.Iris;
|
||||||
|
import com.volmit.iris.IrisSettings;
|
||||||
|
import com.volmit.iris.manager.edit.JigsawEditor;
|
||||||
|
import com.volmit.iris.util.KList;
|
||||||
|
import com.volmit.iris.util.MortarCommand;
|
||||||
|
import com.volmit.iris.util.MortarSender;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class CommandIrisJigsawExit extends MortarCommand
|
||||||
|
{
|
||||||
|
public CommandIrisJigsawExit()
|
||||||
|
{
|
||||||
|
super("exit", "x", "close", "stop");
|
||||||
|
requiresPermission(Iris.perm);
|
||||||
|
setCategory("Jigsaw");
|
||||||
|
setDescription("Close a currently open piece without saving");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 Jigsaw, please enable studio in Iris/settings.json");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!sender.isPlayer())
|
||||||
|
{
|
||||||
|
sender.sendMessage("Ingame only");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
JigsawEditor editor = JigsawEditor.editors.get(sender.player());
|
||||||
|
|
||||||
|
if(editor == null)
|
||||||
|
{
|
||||||
|
sender.sendMessage("You don't have any pieces open to close!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
editor.exit();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getArgsUsage()
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
@ -146,11 +146,7 @@ public class JigsawEditor implements Listener {
|
|||||||
|
|
||||||
public void close()
|
public void close()
|
||||||
{
|
{
|
||||||
J.car(ticker);
|
exit();
|
||||||
Iris.instance.unregisterListener(this);
|
|
||||||
object.unplaceCenterY(origin);
|
|
||||||
editors.remove(player);
|
|
||||||
falling.v().forEach(Runnable::run);
|
|
||||||
try {
|
try {
|
||||||
IO.writeAll(targetSaveLocation, new JSONObject(new Gson().toJson(piece)).toString(4));
|
IO.writeAll(targetSaveLocation, new JSONObject(new Gson().toJson(piece)).toString(4));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -158,6 +154,15 @@ public class JigsawEditor implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void exit()
|
||||||
|
{
|
||||||
|
J.car(ticker);
|
||||||
|
Iris.instance.unregisterListener(this);
|
||||||
|
object.unplaceCenterY(origin);
|
||||||
|
editors.remove(player);
|
||||||
|
falling.v().forEach(Runnable::run);
|
||||||
|
}
|
||||||
|
|
||||||
public void onTick()
|
public void onTick()
|
||||||
{
|
{
|
||||||
if(cl.flip())
|
if(cl.flip())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user