mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-29 12:09:07 +00:00
Eradicate the old structure system
This commit is contained in:
@@ -18,7 +18,6 @@ public class IrisDataManager
|
||||
private ResourceLoader<IrisRegion> regionLoader;
|
||||
private ResourceLoader<IrisDimension> dimensionLoader;
|
||||
private ResourceLoader<IrisGenerator> generatorLoader;
|
||||
private ResourceLoader<IrisStructure> structureLoader;
|
||||
private ResourceLoader<IrisJigsawPiece> jigsawPieceLoader;
|
||||
private ResourceLoader<IrisJigsawPool> jigsawPoolLoader;
|
||||
private ResourceLoader<IrisJigsawStructure> jigsawStructureLoader;
|
||||
@@ -51,7 +50,6 @@ public class IrisDataManager
|
||||
this.regionLoader = null;
|
||||
this.biomeLoader = null;
|
||||
this.dimensionLoader = null;
|
||||
this.structureLoader = null;
|
||||
this.jigsawPoolLoader = null;
|
||||
this.jigsawPieceLoader = null;
|
||||
this.generatorLoader = null;
|
||||
@@ -83,7 +81,6 @@ public class IrisDataManager
|
||||
this.regionLoader = new ResourceLoader<>(packs, this, "regions", "Region", IrisRegion.class);
|
||||
this.biomeLoader = new ResourceLoader<>(packs, this, "biomes", "Biome", IrisBiome.class);
|
||||
this.dimensionLoader = new ResourceLoader<>(packs, this, "dimensions", "Dimension", IrisDimension.class);
|
||||
this.structureLoader = new ResourceLoader<>(packs, this, "structures", "Structure", IrisStructure.class);
|
||||
this.jigsawPoolLoader = new ResourceLoader<>(packs, this, "jigsaw-pools", "Jigsaw Pool", IrisJigsawPool.class);
|
||||
this.jigsawStructureLoader = new ResourceLoader<>(packs, this, "jigsaw-structures", "Jigsaw Structure", IrisJigsawStructure.class);
|
||||
this.jigsawPieceLoader = new ResourceLoader<>(packs, this, "jigsaw-pieces", "Jigsaw Piece", IrisJigsawPiece.class);
|
||||
@@ -109,7 +106,6 @@ public class IrisDataManager
|
||||
dimensionLoader.clearCache();
|
||||
entityLoader.clearCache();
|
||||
generatorLoader.clearCache();
|
||||
structureLoader.clearCache();
|
||||
}
|
||||
|
||||
public void clearLists()
|
||||
@@ -127,7 +123,6 @@ public class IrisDataManager
|
||||
dimensionLoader.clearList();
|
||||
generatorLoader.clearList();
|
||||
jigsawStructureLoader.clearList();
|
||||
structureLoader.clearList();
|
||||
jigsawPoolLoader.clearList();
|
||||
jigsawPieceLoader.clearList();
|
||||
objectLoader.clearList();
|
||||
@@ -143,11 +138,6 @@ public class IrisDataManager
|
||||
return loadAny(key, (dm) -> dm.getBiomeLoader().load(key, false));
|
||||
}
|
||||
|
||||
public static IrisStructure loadAnyStructure(String key)
|
||||
{
|
||||
return loadAny(key, (dm) -> dm.getStructureLoader().load(key, false));
|
||||
}
|
||||
|
||||
public static IrisJigsawPiece loadAnyJigsawPiece(String key)
|
||||
{
|
||||
return loadAny(key, (dm) -> dm.getJigsawPieceLoader().load(key, false));
|
||||
|
||||
@@ -281,7 +281,6 @@ public class IrisProject
|
||||
schemas.put(getSchemaEntry(IrisBiome.class, dm, "/biomes/*.json"));
|
||||
schemas.put(getSchemaEntry(IrisRegion.class, dm, "/regions/*.json"));
|
||||
schemas.put(getSchemaEntry(IrisGenerator.class,dm, "/generators/*.json"));
|
||||
schemas.put(getSchemaEntry(IrisStructure.class, dm, "/structures/*.json"));
|
||||
schemas.put(getSchemaEntry(IrisJigsawPiece.class, dm, "/jigsaw-pieces/*.json"));
|
||||
schemas.put(getSchemaEntry(IrisJigsawPool.class, dm, "/jigsaw-pools/*.json"));
|
||||
schemas.put(getSchemaEntry(IrisJigsawStructure.class, dm, "/jigsaw-structures/*.json"));
|
||||
@@ -315,7 +314,6 @@ public class IrisProject
|
||||
KSet<IrisRegion> regions = new KSet<>();
|
||||
KSet<IrisBiome> biomes = new KSet<>();
|
||||
KSet<IrisEntity> entities = new KSet<>();
|
||||
KSet<IrisStructure> structures = new KSet<>();
|
||||
KSet<IrisGenerator> generators = new KSet<>();
|
||||
KSet<IrisLootTable> loot = new KSet<>();
|
||||
KSet<IrisBlockData> blocks = new KSet<>();
|
||||
@@ -330,19 +328,11 @@ public class IrisProject
|
||||
dimension.getLoot().getTables().forEach((i) -> loot.add(dm.getLootLoader().load(i)));
|
||||
regions.forEach((i) -> biomes.addAll(i.getAllBiomes(null)));
|
||||
biomes.forEach((i) -> i.getGenerators().forEach((j) -> generators.add(j.getCachedGenerator(null))));
|
||||
regions.forEach((i) -> i.getStructures().forEach((j) -> structures.add(j.getStructure(null))));
|
||||
biomes.forEach((i) -> i.getStructures().forEach((j) -> structures.add(j.getStructure(null))));
|
||||
regions.forEach((r) -> r.getLoot().getTables().forEach((i) -> loot.add(dm.getLootLoader().load(i))));
|
||||
biomes.forEach((r) -> r.getLoot().getTables().forEach((i) -> loot.add(dm.getLootLoader().load(i))));
|
||||
structures.forEach((r) -> r.getLoot().getTables().forEach((i) -> loot.add(dm.getLootLoader().load(i))));
|
||||
structures.forEach((b) -> b.getTiles().forEach((r) -> r.getLoot().getTables().forEach((i) -> loot.add(dm.getLootLoader().load(i)))));
|
||||
structures.forEach((r) -> r.getEntitySpawnOverrides().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity()))));
|
||||
structures.forEach((s) -> s.getTiles().forEach((r) -> r.getEntitySpawnOverrides().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity())))));
|
||||
biomes.forEach((r) -> r.getEntitySpawnOverrides().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity()))));
|
||||
regions.forEach((r) -> r.getEntitySpawnOverrides().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity()))));
|
||||
dimension.getEntitySpawnOverrides().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity())));
|
||||
structures.forEach((r) -> r.getEntityInitialSpawns().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity()))));
|
||||
structures.forEach((s) -> s.getTiles().forEach((r) -> r.getEntityInitialSpawns().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity())))));
|
||||
biomes.forEach((r) -> r.getEntityInitialSpawns().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity()))));
|
||||
regions.forEach((r) -> r.getEntityInitialSpawns().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity()))));
|
||||
dimension.getEntityInitialSpawns().forEach((sp) -> entities.add(dm.getEntityLoader().load(sp.getEntity())));
|
||||
@@ -352,31 +342,6 @@ public class IrisProject
|
||||
StringBuilder c = new StringBuilder();
|
||||
sender.sendMessage("Serializing Objects");
|
||||
|
||||
for(IrisStructure i : structures)
|
||||
{
|
||||
for(IrisStructureTile j : i.getTiles())
|
||||
{
|
||||
b.append(j.hashCode());
|
||||
KList<String> newNames = new KList<>();
|
||||
|
||||
for(String k : j.getObjects())
|
||||
{
|
||||
if(renameObjects.containsKey(k))
|
||||
{
|
||||
newNames.add(renameObjects.get(k));
|
||||
continue;
|
||||
}
|
||||
|
||||
String name = !obfuscate ? k : UUID.randomUUID().toString().replaceAll("-", "");
|
||||
b.append(name);
|
||||
newNames.add(name);
|
||||
renameObjects.put(k, name);
|
||||
}
|
||||
|
||||
j.setObjects(newNames);
|
||||
}
|
||||
}
|
||||
|
||||
for(IrisBiome i : biomes)
|
||||
{
|
||||
for(IrisObjectPlacement j : i.getObjects())
|
||||
@@ -455,29 +420,6 @@ public class IrisProject
|
||||
}
|
||||
})));
|
||||
|
||||
structures.forEach((i) -> i.getTiles().forEach((j) -> j.getObjects().forEach((k) ->
|
||||
{
|
||||
try
|
||||
{
|
||||
File f = dm.getObjectLoader().findFile(lookupObjects.get(k).get(0));
|
||||
IO.copyFile(f, new File(folder, "objects/" + k + ".iob"));
|
||||
gb.append(IO.hash(f));
|
||||
ggg.set(ggg.get() + 1);
|
||||
|
||||
if(cl.flip())
|
||||
{
|
||||
int g = ggg.get();
|
||||
ggg.set(0);
|
||||
sender.sendMessage("Wrote another " + g + " Objects");
|
||||
}
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
|
||||
}
|
||||
})));
|
||||
|
||||
dimension.getMutations().forEach((i) -> i.getObjects().forEach((j) -> j.getPlace().forEach((k) ->
|
||||
{
|
||||
try
|
||||
@@ -537,13 +479,6 @@ public class IrisProject
|
||||
b.append(IO.hash(a));
|
||||
}
|
||||
|
||||
for(IrisStructure i : structures)
|
||||
{
|
||||
a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4);
|
||||
IO.writeAll(new File(folder, "structures/" + i.getLoadKey() + ".json"), a);
|
||||
b.append(IO.hash(a));
|
||||
}
|
||||
|
||||
for(IrisBiome i : biomes)
|
||||
{
|
||||
a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4);
|
||||
|
||||
@@ -366,22 +366,6 @@ public class SchemaBuilder
|
||||
|
||||
}
|
||||
|
||||
else if(k.isAnnotationPresent(RegistryListStructure.class))
|
||||
{
|
||||
String key = "enum-reg-structure-tileset";
|
||||
|
||||
if(!definitions.containsKey(key))
|
||||
{
|
||||
JSONObject j = new JSONObject();
|
||||
j.put("enum", new JSONArray(data.getStructureLoader().getPossibleKeys()));
|
||||
definitions.put(key, j);
|
||||
}
|
||||
|
||||
fancyType = "Iris Structure Tileset";
|
||||
prop.put("$ref", "#/definitions/" + key);
|
||||
description.add(SYMBOL_TYPE__N + " Must be a valid Structure Tileset (use ctrl+space for auto complete!)");
|
||||
}
|
||||
|
||||
else if(k.isAnnotationPresent(RegistryListJigsawPiece.class))
|
||||
{
|
||||
String key = "enum-reg-structure-piece";
|
||||
@@ -795,24 +779,6 @@ public class SchemaBuilder
|
||||
description.add(SYMBOL_TYPE__N + " Must be a valid Region (use ctrl+space for auto complete!)");
|
||||
}
|
||||
|
||||
else if(k.isAnnotationPresent(RegistryListStructure.class))
|
||||
{
|
||||
fancyType = "List of Iris Structure Tilesets";
|
||||
String key = "enum-reg-structure-tileset";
|
||||
|
||||
if(!definitions.containsKey(key))
|
||||
{
|
||||
JSONObject j = new JSONObject();
|
||||
j.put("enum", new JSONArray(data.getStructureLoader().getPossibleKeys()));
|
||||
definitions.put(key, j);
|
||||
}
|
||||
|
||||
JSONObject items = new JSONObject();
|
||||
items.put("$ref", "#/definitions/" + key);
|
||||
prop.put("items", items);
|
||||
description.add(SYMBOL_TYPE__N + " Must be a valid Structure Tileset (use ctrl+space for auto complete!)");
|
||||
}
|
||||
|
||||
else if(k.isAnnotationPresent(RegistryListJigsawPiece.class))
|
||||
{
|
||||
fancyType = "List of Iris Jigsaw Pieces";
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
package com.volmit.iris.manager;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.manager.structure.StructureTemplate;
|
||||
import com.volmit.iris.util.KList;
|
||||
|
||||
public class StructureManager
|
||||
{
|
||||
private KList<StructureTemplate> openEditors;
|
||||
|
||||
public StructureManager()
|
||||
{
|
||||
this.openEditors = new KList<>();
|
||||
}
|
||||
|
||||
public void closeall()
|
||||
{
|
||||
for(StructureTemplate i : openEditors.copy())
|
||||
{
|
||||
i.close();
|
||||
}
|
||||
}
|
||||
|
||||
public void open(StructureTemplate t)
|
||||
{
|
||||
for(StructureTemplate i : openEditors.copy())
|
||||
{
|
||||
if(t.getWorker().equals(i.getWorker()))
|
||||
{
|
||||
i.close();
|
||||
}
|
||||
}
|
||||
|
||||
openEditors.add(t);
|
||||
}
|
||||
|
||||
public void remove(StructureTemplate s)
|
||||
{
|
||||
openEditors.remove(s);
|
||||
}
|
||||
|
||||
public StructureTemplate get(Player p)
|
||||
{
|
||||
for(StructureTemplate i : openEditors)
|
||||
{
|
||||
if(i.getWorker().equals(p))
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -20,9 +20,6 @@ public class CommandIris extends MortarCommand
|
||||
@Command
|
||||
private CommandIrisJigsaw jigsaw;
|
||||
|
||||
@Command
|
||||
private CommandIrisStructure structure;
|
||||
|
||||
@Command
|
||||
private CommandIrisObject object;
|
||||
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.util.Command;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisStructure extends MortarCommand
|
||||
{
|
||||
@Command
|
||||
private CommandIrisStructureCreate create;
|
||||
|
||||
@Command
|
||||
private CommandIrisStructureOpen open;
|
||||
|
||||
@Command
|
||||
private CommandIrisStructureSave save;
|
||||
|
||||
@Command
|
||||
private CommandIrisStructureMove more;
|
||||
|
||||
@Command
|
||||
private CommandIrisStructureExpand expand;
|
||||
|
||||
@Command
|
||||
private CommandIrisStructureVariants variants;
|
||||
|
||||
@Command
|
||||
private CommandIrisStructureClose close;
|
||||
|
||||
public CommandIrisStructure()
|
||||
{
|
||||
super("structure", "struct", "str");
|
||||
requiresPermission(Iris.perm);
|
||||
setCategory("Structure");
|
||||
setDescription("Structure Commands");
|
||||
}
|
||||
|
||||
@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 Structures, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
sender.sendMessage("Iris Structure Commands");
|
||||
printHelp(sender);
|
||||
sender.sendMessage("Note: This is a Procedural Structure creator,");
|
||||
sender.sendMessage("not an object creator, see '/iris object'.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "[subcommand]";
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.manager.structure.StructureTemplate;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisStructureClose extends MortarCommand
|
||||
{
|
||||
public CommandIrisStructureClose()
|
||||
{
|
||||
super("close", "x");
|
||||
requiresPermission(Iris.perm);
|
||||
setCategory("Structure");
|
||||
setDescription("Close a structure");
|
||||
}
|
||||
|
||||
@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 Structures, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!sender.isPlayer())
|
||||
{
|
||||
sender.sendMessage("You don't have a wand");
|
||||
return true;
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
StructureTemplate m = Iris.struct.get(p);
|
||||
|
||||
if(m == null)
|
||||
{
|
||||
sender.sendMessage("You do not have an open structure");
|
||||
return true;
|
||||
}
|
||||
|
||||
m.close();
|
||||
sender.sendMessage("Saved & Closed!");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.manager.structure.StructureTemplate;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisStructureCreate extends MortarCommand
|
||||
{
|
||||
public CommandIrisStructureCreate()
|
||||
{
|
||||
super("new", "create", "+");
|
||||
requiresPermission(Iris.perm);
|
||||
setCategory("Structure");
|
||||
setDescription("Create a structure");
|
||||
}
|
||||
|
||||
@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 Structures, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!sender.isPlayer()) {
|
||||
sender.sendMessage("You cannot run this from console");
|
||||
return true;
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
|
||||
boolean d3 = false;
|
||||
int width;
|
||||
int height;
|
||||
|
||||
|
||||
if (args.length == 0){
|
||||
sender.sendMessage("Please specify the name of the object you wish to create");
|
||||
return true;
|
||||
} else if (args.length == 1){
|
||||
sender.sendMessage("Please specify the name of the dimension you are in");
|
||||
return true;
|
||||
} else if (args.length == 2){
|
||||
sender.sendMessage("No width and height specified. Taking defaults (5 and 5)");
|
||||
width = 5;
|
||||
height = 5;
|
||||
} else if (args.length == 3){
|
||||
if (args[2].equalsIgnoreCase("-3d"))
|
||||
{
|
||||
sender.sendMessage("No width and height specified. Taking defaults (5 and 5)");
|
||||
width = 5;
|
||||
height = 5;
|
||||
d3 = true;
|
||||
} else {
|
||||
sender.sendMessage("No height specified, taking width as height");
|
||||
width = Integer.parseInt(args[2]);
|
||||
height = Integer.parseInt(args[2]);
|
||||
}
|
||||
} else if (args.length == 4){
|
||||
width = Integer.parseInt(args[2]);
|
||||
|
||||
if (args[3].equalsIgnoreCase("-3d"))
|
||||
{
|
||||
sender.sendMessage("No height specified, taking width as height");
|
||||
height = Integer.parseInt(args[2]);
|
||||
} else {
|
||||
height = Integer.parseInt(args[3]);
|
||||
}
|
||||
} else {
|
||||
for (String i : args){
|
||||
if (i.equalsIgnoreCase("-3d")){
|
||||
d3 = true;
|
||||
}
|
||||
}
|
||||
width = Integer.parseInt(args[2]);
|
||||
height = Integer.parseInt(args[3]);
|
||||
}
|
||||
|
||||
if (width % 2 == 0){
|
||||
sender.sendMessage("Width is an even number. Adding one");
|
||||
width += width % 2 == 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
sender.sendMessage("Creating new Structure");
|
||||
new StructureTemplate(args[0], args[1], p, p.getLocation(), 5, width, height, d3);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "<name> <dimension> <tile-width> <tile-height> [-3d]";
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.manager.structure.StructureTemplate;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisStructureExpand extends MortarCommand
|
||||
{
|
||||
public CommandIrisStructureExpand()
|
||||
{
|
||||
super("expand", "++");
|
||||
requiresPermission(Iris.perm);
|
||||
setCategory("Structure");
|
||||
setDescription("Expand out more of the structure");
|
||||
}
|
||||
|
||||
@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 Structures, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!sender.isPlayer())
|
||||
{
|
||||
sender.sendMessage("You don't have a wand");
|
||||
return true;
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
StructureTemplate m = Iris.struct.get(p);
|
||||
|
||||
if(m == null)
|
||||
{
|
||||
sender.sendMessage("You do not have an open structure");
|
||||
return true;
|
||||
}
|
||||
|
||||
m.expand();
|
||||
sender.sendMessage("Loading More!");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.manager.structure.StructureTemplate;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisStructureMove extends MortarCommand
|
||||
{
|
||||
public CommandIrisStructureMove()
|
||||
{
|
||||
super("move", "here");
|
||||
requiresPermission(Iris.perm);
|
||||
setCategory("Structure");
|
||||
setDescription("Load more of the structure");
|
||||
}
|
||||
|
||||
@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 Structures, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!sender.isPlayer())
|
||||
{
|
||||
sender.sendMessage("You don't have a wand");
|
||||
return true;
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
StructureTemplate m = Iris.struct.get(p);
|
||||
|
||||
if(m == null)
|
||||
{
|
||||
sender.sendMessage("You do not have an open structure");
|
||||
return true;
|
||||
}
|
||||
|
||||
m.more();
|
||||
sender.sendMessage("Moving Structure Builder!");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.manager.IrisDataManager;
|
||||
import com.volmit.iris.util.KList;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.object.IrisStructure;
|
||||
import com.volmit.iris.manager.structure.StructureTemplate;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisStructureOpen extends MortarCommand
|
||||
{
|
||||
public CommandIrisStructureOpen()
|
||||
{
|
||||
super("load", "open", "o");
|
||||
requiresPermission(Iris.perm);
|
||||
setCategory("Structure");
|
||||
setDescription("Open an existing structure");
|
||||
}
|
||||
|
||||
@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 Structures, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!sender.isPlayer())
|
||||
{
|
||||
sender.sendMessage("You don't have a wand");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(args.length == 0){
|
||||
sender.sendMessage("Please specify the structure you wish to load");
|
||||
return true;
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
|
||||
IrisStructure structure = IrisDataManager.loadAnyStructure(args[0]);
|
||||
|
||||
if(structure == null)
|
||||
{
|
||||
sender.sendMessage("Can't find " + args[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
String dimensionGuess = structure.getLoadFile().getParentFile().getParentFile().getName();
|
||||
new StructureTemplate(structure.getName(), dimensionGuess, p, p.getLocation(), 9, structure.getGridSize(), structure.getGridHeight(), structure.getMaxLayers() > 1).loadStructures(structure);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "<structure>";
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.manager.structure.StructureTemplate;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisStructureSave extends MortarCommand
|
||||
{
|
||||
public CommandIrisStructureSave()
|
||||
{
|
||||
super("save", "s");
|
||||
requiresPermission(Iris.perm);
|
||||
setCategory("Structure");
|
||||
setDescription("Save a structure");
|
||||
}
|
||||
|
||||
@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 Structures, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!sender.isPlayer())
|
||||
{
|
||||
sender.sendMessage("You don't have a wand");
|
||||
return true;
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
StructureTemplate m = Iris.struct.get(p);
|
||||
|
||||
if(m == null)
|
||||
{
|
||||
sender.sendMessage("You do not have an open structure");
|
||||
return true;
|
||||
}
|
||||
|
||||
m.saveStructure();
|
||||
sender.sendMessage("Saved!");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
package com.volmit.iris.manager.command;
|
||||
|
||||
import com.volmit.iris.util.KList;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.util.MortarCommand;
|
||||
import com.volmit.iris.util.MortarSender;
|
||||
|
||||
public class CommandIrisStructureVariants extends MortarCommand
|
||||
{
|
||||
public CommandIrisStructureVariants()
|
||||
{
|
||||
super("variants", "var", "v");
|
||||
requiresPermission(Iris.perm);
|
||||
setCategory("Structure");
|
||||
setDescription("Change or add variants in tile looking at");
|
||||
}
|
||||
|
||||
@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 Structures, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!sender.isPlayer())
|
||||
{
|
||||
sender.sendMessage("You don't have a wand");
|
||||
return true;
|
||||
}
|
||||
|
||||
Player p = sender.player();
|
||||
|
||||
try
|
||||
{
|
||||
Iris.struct.get(p).openVariants();
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
sender.sendMessage("You do not have an open structure");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ public class MultiverseCoreLink
|
||||
Method m = mvWorldManager.getClass().getDeclaredMethod("addWorld",
|
||||
|
||||
String.class, World.Environment.class, String.class, WorldType.class, Boolean.class, String.class, boolean.class);
|
||||
boolean b = (boolean) m.invoke(mvWorldManager, worldName, dim.getEnvironment(), seed, WorldType.NORMAL, dim.isVanillaStructures(), "Iris", false);
|
||||
boolean b = (boolean) m.invoke(mvWorldManager, worldName, dim.getEnvironment(), seed, WorldType.NORMAL, false, "Iris", false);
|
||||
saveConfig();
|
||||
return b;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user