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()
|
||||
{
|
||||
J.car(ticker);
|
||||
Iris.instance.unregisterListener(this);
|
||||
object.unplaceCenterY(origin);
|
||||
editors.remove(player);
|
||||
falling.v().forEach(Runnable::run);
|
||||
exit();
|
||||
try {
|
||||
IO.writeAll(targetSaveLocation, new JSONObject(new Gson().toJson(piece)).toString(4));
|
||||
} 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()
|
||||
{
|
||||
if(cl.flip())
|
||||
|
Loading…
x
Reference in New Issue
Block a user