mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-30 04:29:05 +00:00
Object writing and whatnot
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Location;
|
||||
@@ -36,7 +35,7 @@ public class CommandIrisObjectPaste extends MortarCommand
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
File file = new File(Iris.instance.getDataFolder(), "objects/" + args[0] + ".iob");
|
||||
File file = Iris.globaldata.getObjectLoader().findFile(args[0]);
|
||||
boolean intoWand = false;
|
||||
|
||||
for(String i : args)
|
||||
@@ -47,38 +46,33 @@ public class CommandIrisObjectPaste extends MortarCommand
|
||||
}
|
||||
}
|
||||
|
||||
if(!file.exists())
|
||||
if(file == null || !file.exists())
|
||||
{
|
||||
sender.sendMessage("Can't find " + "objects/" + args[0] + ".iob");
|
||||
sender.sendMessage("Can't find " + args[0] + " in the packs folder");
|
||||
}
|
||||
|
||||
ItemStack wand = sender.player().getInventory().getItemInMainHand();
|
||||
IrisObject o = new IrisObject(0, 0, 0);
|
||||
|
||||
try
|
||||
IrisObject o = Iris.globaldata.getObjectLoader().load(args[0]);
|
||||
if(o == null)
|
||||
{
|
||||
o.read(new File(Iris.instance.getDataFolder(), "objects/" + args[0] + ".iob"));
|
||||
sender.sendMessage("Loaded " + "objects/" + args[0] + ".iob");
|
||||
sender.sendMessage("Error, cant find");
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage("Loaded " + "objects/" + args[0] + ".iob");
|
||||
|
||||
sender.player().getWorld().playSound(sender.player().getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1f, 1.5f);
|
||||
Location block = sender.player().getTargetBlock((Set<Material>) null, 256).getLocation().clone().add(0, 1, 0);
|
||||
sender.player().getWorld().playSound(sender.player().getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1f, 1.5f);
|
||||
Location block = sender.player().getTargetBlock((Set<Material>) null, 256).getLocation().clone().add(0, 1, 0);
|
||||
|
||||
if(intoWand && WandController.isWand(wand))
|
||||
{
|
||||
wand = WandController.createWand(block.clone().subtract(o.getCenter()).add(o.getW() - 1, o.getH(), o.getD() - 1), block.clone().subtract(o.getCenter()));
|
||||
p.getInventory().setItemInMainHand(wand);
|
||||
sender.sendMessage("Updated wand for " + "objects/" + args[0] + ".iob");
|
||||
}
|
||||
|
||||
WandController.pasteSchematic(o, block);
|
||||
sender.sendMessage("Placed " + "objects/" + args[0] + ".iob");
|
||||
if(intoWand && WandController.isWand(wand))
|
||||
{
|
||||
wand = WandController.createWand(block.clone().subtract(o.getCenter()).add(o.getW() - 1, o.getH(), o.getD() - 1), block.clone().subtract(o.getCenter()));
|
||||
p.getInventory().setItemInMainHand(wand);
|
||||
sender.sendMessage("Updated wand for " + "objects/" + args[0] + ".iob");
|
||||
}
|
||||
|
||||
catch(IOException e)
|
||||
{
|
||||
sender.sendMessage("Failed to load " + "objects/" + args[0] + ".iob");
|
||||
e.printStackTrace();
|
||||
}
|
||||
WandController.pasteSchematic(o, block);
|
||||
sender.sendMessage("Placed " + "objects/" + args[0] + ".iob");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.volmit.iris.command;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -32,20 +31,40 @@ public class CommandIrisObjectSave extends MortarCommand
|
||||
return true;
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
ItemStack wand = p.getInventory().getItemInMainHand();
|
||||
IrisObject o = WandController.createSchematic(wand);
|
||||
|
||||
try
|
||||
{
|
||||
o.write(new File(Iris.instance.getDataFolder(), "objects/" + args[0] + ".iob"));
|
||||
sender.sendMessage("Saved " + "objects/" + args[0] + ".iob");
|
||||
boolean overwrite = false;
|
||||
|
||||
for(String i : args)
|
||||
{
|
||||
if(i.equals("-o"))
|
||||
{
|
||||
overwrite = true;
|
||||
}
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
ItemStack wand = p.getInventory().getItemInMainHand();
|
||||
IrisObject o = WandController.createSchematic(wand);
|
||||
File file = Iris.instance.getDataFile("packs", args[0], "objects", args[1] + ".iob");
|
||||
|
||||
if(file.exists())
|
||||
{
|
||||
if(!overwrite)
|
||||
{
|
||||
sender.sendMessage("File Exists. Overwrite by adding -o");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
o.write(file);
|
||||
sender.sendMessage("Saved " + args[1]);
|
||||
p.getWorld().playSound(p.getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1f, 1.5f);
|
||||
}
|
||||
|
||||
catch(IOException e)
|
||||
catch(Throwable e)
|
||||
{
|
||||
sender.sendMessage("Failed to save " + "objects/" + args[0] + ".iob. Are you holding your wand?");
|
||||
sender.sendMessage("Failed to save " + args[1] + ". Are you holding your wand?");
|
||||
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -56,6 +75,6 @@ public class CommandIrisObjectSave extends MortarCommand
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "[name]";
|
||||
return "[project] [name]";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user