Merge pull request #28 from SenseiKiwi/master
Partially Overhauled Commands
This commit is contained in:
@@ -8,6 +8,7 @@ import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
import StevenDimDoors.mod_pocketDim.items.ItemRiftBlade;
|
||||
import StevenDimDoors.mod_pocketDim.world.LimboProvider;
|
||||
import StevenDimDoors.mod_pocketDim.world.pocketProvider;
|
||||
import cpw.mods.fml.common.IWorldGenerator;
|
||||
|
||||
@@ -35,7 +36,8 @@ public class RiftGenerator implements IWorldGenerator
|
||||
{
|
||||
//Don't generate rifts or gateways if the rift generation flag is disabled,
|
||||
//the current world is a pocket dimension, or the world is remote.
|
||||
if (!properties.WorldRiftGenerationEnabled || world.provider instanceof pocketProvider || world.isRemote)
|
||||
if ((!properties.WorldRiftGenerationEnabled && !(world.provider instanceof LimboProvider)) ||
|
||||
world.provider instanceof pocketProvider || world.isRemote)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,146 +0,0 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import StevenDimDoors.mod_pocketDim.DungeonGenerator;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
|
||||
public class CommandAddDungeonRift extends CommandBase
|
||||
{
|
||||
public String getCommandName()//the name of our command
|
||||
{
|
||||
return "dimdoors-genDungeonRift";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
{
|
||||
DungeonHelper dungeonHelper = DungeonHelper.instance();
|
||||
|
||||
if(var2==null||this.getCommandSenderAsPlayer(var1).worldObj.isRemote)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
LinkData link = new LinkData(this.getCommandSenderAsPlayer(var1).worldObj.provider.dimensionId, 0,
|
||||
MathHelper.floor_double(this.getCommandSenderAsPlayer(var1).posX),
|
||||
MathHelper.floor_double(this.getCommandSenderAsPlayer(var1).posY)+1,
|
||||
MathHelper.floor_double(this.getCommandSenderAsPlayer(var1).posZ),
|
||||
MathHelper.floor_double(this.getCommandSenderAsPlayer(var1).posX),
|
||||
MathHelper.floor_double(this.getCommandSenderAsPlayer(var1).posY)+1,
|
||||
MathHelper.floor_double(this.getCommandSenderAsPlayer(var1).posZ),true,3);
|
||||
|
||||
|
||||
|
||||
|
||||
if(var2.length!=0&&var2[0].equals("random"))
|
||||
{
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Created dungeon rift");
|
||||
dimHelper.instance.createLink(link);
|
||||
link = dimHelper.instance.createPocket(link,true, true);
|
||||
|
||||
}
|
||||
else if (var2.length != 0 && var2[0].equals("list"))
|
||||
{
|
||||
Collection<String> dungeonNames = dungeonHelper.getDungeonNames();
|
||||
for (String name : dungeonNames)
|
||||
{
|
||||
getCommandSenderAsPlayer(var1).sendChatToPlayer(name);
|
||||
}
|
||||
}
|
||||
|
||||
else if(var2.length!=0)
|
||||
{
|
||||
for(DungeonGenerator dungeonGen : dungeonHelper.registeredDungeons)
|
||||
{
|
||||
String dungeonName =dungeonGen.schematicPath.toLowerCase();
|
||||
|
||||
|
||||
|
||||
if(dungeonName.contains(var2[0].toLowerCase()))
|
||||
{
|
||||
|
||||
link = dimHelper.instance.createPocket(link,true, true);
|
||||
|
||||
dimHelper.dimList.get(link.destDimID).dungeonGenerator=dungeonGen;
|
||||
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Genned dungeon " +dungeonName);
|
||||
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
for(DungeonGenerator dungeonGen : dungeonHelper.customDungeons)
|
||||
{
|
||||
String dungeonName =dungeonGen.schematicPath.toLowerCase();
|
||||
|
||||
|
||||
|
||||
if(dungeonName.contains(var2[0].toLowerCase()))
|
||||
{
|
||||
|
||||
link = dimHelper.instance.createPocket(link,true, true);
|
||||
|
||||
dimHelper.dimList.get(link.destDimID).dungeonGenerator=dungeonGen;
|
||||
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Genned dungeon " +dungeonName);
|
||||
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(var2!=null&&!var2[0].equals("random"))
|
||||
{
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("could not find dungeon, 'list' for list of dungeons");
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("invalid arguments- 'random' for random dungeon, or 'list' for dungeon names");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2.length));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+linksRemoved+" rifts.");
|
||||
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import StevenDimDoors.mod_pocketDim.DungeonGenerator;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
|
||||
public class CommandCreateDungeonRift extends DDCommandBase
|
||||
{
|
||||
private static CommandCreateDungeonRift instance = null;
|
||||
|
||||
private CommandCreateDungeonRift()
|
||||
{
|
||||
super("dd-rift");
|
||||
}
|
||||
|
||||
public static CommandCreateDungeonRift instance()
|
||||
{
|
||||
if (instance == null)
|
||||
instance = new CommandCreateDungeonRift();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCommand(EntityPlayer sender, String[] command)
|
||||
{
|
||||
DungeonHelper dungeonHelper = DungeonHelper.instance();
|
||||
|
||||
if(command==null||sender.worldObj.isRemote)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
LinkData link = new LinkData(sender.worldObj.provider.dimensionId, 0,
|
||||
(int) sender.posX,
|
||||
(int) sender.posY + 1,
|
||||
(int) sender.posZ,
|
||||
(int) sender.posX,
|
||||
(int) sender.posY + 1,
|
||||
(int) sender.posZ,true,3);
|
||||
|
||||
if(command.length!=0&&command[0].equals("random"))
|
||||
{
|
||||
sender.sendChatToPlayer("Created dungeon rift");
|
||||
dimHelper.instance.createLink(link);
|
||||
link = dimHelper.instance.createPocket(link,true, true);
|
||||
}
|
||||
else if (command.length != 0 && command[0].equals("list"))
|
||||
{
|
||||
Collection<String> dungeonNames = dungeonHelper.getDungeonNames();
|
||||
for (String name : dungeonNames)
|
||||
{
|
||||
getCommandSenderAsPlayer(sender).sendChatToPlayer(name);
|
||||
}
|
||||
}
|
||||
else if(command.length!=0)
|
||||
{
|
||||
for(DungeonGenerator dungeonGen : dungeonHelper.registeredDungeons)
|
||||
{
|
||||
String dungeonName =dungeonGen.schematicPath.toLowerCase();
|
||||
|
||||
if(dungeonName.contains(command[0].toLowerCase()))
|
||||
{
|
||||
link = dimHelper.instance.createPocket(link,true, true);
|
||||
dimHelper.dimList.get(link.destDimID).dungeonGenerator=dungeonGen;
|
||||
sender.sendChatToPlayer("Genned dungeon " +dungeonName);
|
||||
return;
|
||||
}
|
||||
}
|
||||
for(DungeonGenerator dungeonGen : dungeonHelper.customDungeons)
|
||||
{
|
||||
String dungeonName =dungeonGen.schematicPath.toLowerCase();
|
||||
|
||||
if(dungeonName.contains(command[0].toLowerCase()))
|
||||
{
|
||||
link = dimHelper.instance.createPocket(link,true, true);
|
||||
dimHelper.dimList.get(link.destDimID).dungeonGenerator=dungeonGen;
|
||||
sender.sendChatToPlayer("Genned dungeon " +dungeonName);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(command!=null&&!command[0].equals("random"))
|
||||
{
|
||||
sender.sendChatToPlayer("could not find dungeon, 'list' for list of dungeons");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sender.sendChatToPlayer("invalid arguments- 'random' for random dungeon, or 'list' for dungeon names");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,69 +2,64 @@ package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CommandDeleteAllLinks extends CommandBase
|
||||
public class CommandDeleteAllLinks extends DDCommandBase
|
||||
{
|
||||
public String getCommandName()//the name of our command
|
||||
private static CommandDeleteAllLinks instance = null;
|
||||
|
||||
private CommandDeleteAllLinks()
|
||||
{
|
||||
return "dimdoors-deleteLinksInDim";
|
||||
super("dd-deletelinks");
|
||||
}
|
||||
|
||||
public static CommandDeleteAllLinks instance()
|
||||
{
|
||||
if (instance == null)
|
||||
instance = new CommandDeleteAllLinks();
|
||||
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
|
||||
protected void processCommand(EntityPlayer sender, String[] command)
|
||||
{
|
||||
int linksRemoved=0;
|
||||
int targetDim;
|
||||
boolean shouldGo= true;
|
||||
|
||||
if(var2.length==0)
|
||||
if(command.length==0)
|
||||
{
|
||||
targetDim= this.getCommandSenderAsPlayer(var1).worldObj.provider.dimensionId;
|
||||
targetDim= sender.worldObj.provider.dimensionId;
|
||||
}
|
||||
else if(var2.length==1)
|
||||
else if(command.length==1)
|
||||
{
|
||||
targetDim= this.parseInt(var1, var2[0]);
|
||||
targetDim = parseInt(sender, command[0]);
|
||||
if(!dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||
sender.sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||
shouldGo=false;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
targetDim=0;
|
||||
shouldGo=false;
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error-Invalid argument, delete_all_links <targetDimID> or blank for current dim");
|
||||
|
||||
|
||||
sender.sendChatToPlayer("Error-Invalid argument, delete_all_links <targetDimID> or blank for current dim");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(shouldGo)
|
||||
{
|
||||
if(dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
DimData dim = dimHelper.dimList.get(targetDim);
|
||||
|
||||
ArrayList<LinkData> linksInDim = dim.printAllLinkData();
|
||||
|
||||
for(LinkData link : linksInDim)
|
||||
for (LinkData link : linksInDim)
|
||||
{
|
||||
World targetWorld = dimHelper.getWorld(targetDim);
|
||||
|
||||
@@ -76,36 +71,14 @@ public class CommandDeleteAllLinks extends CommandBase
|
||||
{
|
||||
dimHelper.initDimension(targetDim);
|
||||
}
|
||||
|
||||
|
||||
targetWorld = dimHelper.getWorld(targetDim);
|
||||
|
||||
{
|
||||
dim.removeLinkAtCoords(link);
|
||||
|
||||
|
||||
|
||||
targetWorld.setBlock(link.locXCoord, link.locYCoord, link.locZCoord, 0);
|
||||
|
||||
|
||||
linksRemoved++;
|
||||
}
|
||||
|
||||
dim.removeLinkAtCoords(link);
|
||||
targetWorld.setBlock(link.locXCoord, link.locYCoord, link.locZCoord, 0);
|
||||
linksRemoved++;
|
||||
}
|
||||
|
||||
//dim.linksInThisDim.clear();
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+linksRemoved+" links.");
|
||||
|
||||
sender.sendChatToPlayer("Removed " + linksRemoved + " links.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2.length));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+linksRemoved+" rifts.");
|
||||
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CommandDeleteDimData extends CommandBase
|
||||
{
|
||||
public String getCommandName()//the name of our command
|
||||
{
|
||||
return "dimdoors-deleteDimData";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
|
||||
{
|
||||
int linksRemoved=0;
|
||||
int targetDim;
|
||||
boolean shouldGo= true;
|
||||
|
||||
if(var2.length==0)
|
||||
{
|
||||
targetDim= this.getCommandSenderAsPlayer(var1).worldObj.provider.dimensionId;
|
||||
}
|
||||
else if(var2.length==1)
|
||||
{
|
||||
targetDim= this.parseInt(var1, var2[0]);
|
||||
if(!dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||
shouldGo=false;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
targetDim=0;
|
||||
shouldGo=false;
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error-Invalid argument, delete_dim_data <targetDimID> or blank for current dim");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(shouldGo)
|
||||
{
|
||||
if(dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
try
|
||||
{
|
||||
for(DimData dimData :dimHelper.dimList.values())
|
||||
{
|
||||
Collection<LinkData> links= new ArrayList();
|
||||
links.addAll( dimData.printAllLinkData());
|
||||
|
||||
for(LinkData link : links)
|
||||
{
|
||||
if(link.destDimID==targetDim)
|
||||
{
|
||||
dimHelper.dimList.get(link.locDimID).removeLinkAtCoords(link);
|
||||
linksRemoved++;
|
||||
}
|
||||
if(dimData.dimID==targetDim)
|
||||
{
|
||||
linksRemoved++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
|
||||
dimHelper.dimList.remove(targetDim);
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed dimension "+targetDim+" from DimDoors and deleted "+linksRemoved+" links");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error- dimension "+targetDim+" not registered with dimDoors");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2.length));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+linksRemoved+" rifts.");
|
||||
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
|
||||
public class CommandDeleteDimensionData extends DDCommandBase
|
||||
{
|
||||
private static CommandDeleteDimensionData instance = null;
|
||||
|
||||
private CommandDeleteDimensionData()
|
||||
{
|
||||
super("dd-deletedimension");
|
||||
}
|
||||
|
||||
public static CommandDeleteDimensionData instance()
|
||||
{
|
||||
if (instance == null)
|
||||
instance = new CommandDeleteDimensionData();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processCommand(EntityPlayer sender, String[] command)
|
||||
{
|
||||
int linksRemoved=0;
|
||||
int targetDim;
|
||||
boolean shouldGo= true;
|
||||
|
||||
if (command.length==0)
|
||||
{
|
||||
targetDim= sender.worldObj.provider.dimensionId;
|
||||
}
|
||||
else if (command.length==1)
|
||||
{
|
||||
targetDim = parseInt(sender, command[0]);
|
||||
if(!dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
sender.sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||
shouldGo=false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
targetDim=0;
|
||||
shouldGo=false;
|
||||
sender.sendChatToPlayer("Error-Invalid argument, delete_dim_data <targetDimID> or blank for current dim");
|
||||
}
|
||||
|
||||
if(shouldGo)
|
||||
{
|
||||
if(dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
try
|
||||
{
|
||||
for(DimData dimData :dimHelper.dimList.values())
|
||||
{
|
||||
Collection<LinkData> links= new ArrayList<LinkData>();
|
||||
links.addAll( dimData.printAllLinkData());
|
||||
|
||||
for(LinkData link : links)
|
||||
{
|
||||
if(link.destDimID==targetDim)
|
||||
{
|
||||
dimHelper.dimList.get(link.locDimID).removeLinkAtCoords(link);
|
||||
linksRemoved++;
|
||||
}
|
||||
if(dimData.dimID==targetDim)
|
||||
{
|
||||
linksRemoved++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
dimHelper.dimList.remove(targetDim);
|
||||
sender.sendChatToPlayer("Removed dimension " + targetDim + " from DimDoors and deleted " + linksRemoved + " links");
|
||||
}
|
||||
else
|
||||
{
|
||||
sender.sendChatToPlayer("Error- dimension "+targetDim+" not registered with dimDoors");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,72 +2,62 @@ package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CommandDeleteRifts extends CommandBase
|
||||
public class CommandDeleteRifts extends DDCommandBase
|
||||
{
|
||||
public CommandDeleteRifts()
|
||||
private static CommandDeleteRifts instance = null;
|
||||
|
||||
private CommandDeleteRifts()
|
||||
{
|
||||
if (properties == null)
|
||||
properties = DDProperties.instance();
|
||||
super("dd-???");
|
||||
}
|
||||
|
||||
private static DDProperties properties = null;
|
||||
|
||||
public String getCommandName()//the name of our command
|
||||
public static CommandDeleteRifts instance()
|
||||
{
|
||||
return "dimdoors-cleanupRifts";
|
||||
if (instance == null)
|
||||
instance = new CommandDeleteRifts();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
|
||||
protected void processCommand(EntityPlayer sender, String[] command)
|
||||
{
|
||||
int linksRemoved=0;
|
||||
int targetDim;
|
||||
boolean shouldGo= true;
|
||||
|
||||
if(var2.length==0)
|
||||
if(command.length==0)
|
||||
{
|
||||
targetDim= this.getCommandSenderAsPlayer(var1).worldObj.provider.dimensionId;
|
||||
targetDim= sender.worldObj.provider.dimensionId;
|
||||
}
|
||||
else if(var2.length==1)
|
||||
else if(command.length==1)
|
||||
{
|
||||
targetDim= this.parseInt(var1, var2[0]);
|
||||
targetDim = parseInt(sender, command[0]);
|
||||
if(!dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||
sender.sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||
shouldGo=false;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
targetDim=0;
|
||||
shouldGo=false;
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error-Invalid argument, delete_links <targetDimID> or blank for current dim");
|
||||
|
||||
|
||||
sender.sendChatToPlayer("Error-Invalid argument, delete_links <targetDimID> or blank for current dim");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(shouldGo)
|
||||
{
|
||||
if(dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
DimData dim = dimHelper.dimList.get(targetDim);
|
||||
|
||||
ArrayList<LinkData> linksInDim = dim.printAllLinkData();
|
||||
|
||||
for(LinkData link : linksInDim)
|
||||
@@ -81,37 +71,18 @@ public class CommandDeleteRifts extends CommandBase
|
||||
else if(targetWorld.provider==null)
|
||||
{
|
||||
dimHelper.initDimension(targetDim);
|
||||
|
||||
}
|
||||
targetWorld = dimHelper.getWorld(targetDim);
|
||||
targetWorld = dimHelper.getWorld(targetDim);
|
||||
|
||||
if(targetWorld.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord)==properties.RiftBlockID)
|
||||
if (targetWorld.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord) == mod_pocketDim.blockRift.blockID)
|
||||
{
|
||||
dim.removeLinkAtCoords(link);
|
||||
|
||||
|
||||
|
||||
targetWorld.setBlock(link.locXCoord, link.locYCoord, link.locZCoord, 0);
|
||||
|
||||
|
||||
linksRemoved++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//dim.linksInThisDim.clear();
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+linksRemoved+" rifts.");
|
||||
|
||||
sender.sendChatToPlayer("Removed "+linksRemoved+" rifts.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2.length));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+linksRemoved+" rifts.");
|
||||
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
@@ -2,91 +2,79 @@ package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||
|
||||
public class CommandEndDungeonCreation extends CommandBase
|
||||
public class CommandEndDungeonCreation extends DDCommandBase
|
||||
{
|
||||
private static DDProperties properties = null;
|
||||
private static CommandEndDungeonCreation instance = null;
|
||||
|
||||
public CommandEndDungeonCreation()
|
||||
private CommandEndDungeonCreation()
|
||||
{
|
||||
if (properties == null)
|
||||
properties = DDProperties.instance();
|
||||
super("dd-export");
|
||||
}
|
||||
|
||||
public String getCommandName()//the name of our command
|
||||
public static CommandEndDungeonCreation instance()
|
||||
{
|
||||
return "dimdoors-endDungeonCreation";
|
||||
if (instance == null)
|
||||
instance = new CommandEndDungeonCreation();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
protected void processCommand(EntityPlayer sender, String[] command)
|
||||
{
|
||||
DungeonHelper dungeonHelper = DungeonHelper.instance();
|
||||
DDProperties properties = DDProperties.instance();
|
||||
|
||||
EntityPlayer player = this.getCommandSenderAsPlayer(var1);
|
||||
|
||||
if (!dungeonHelper.customDungeonStatus.containsKey(player.worldObj.provider.dimensionId))
|
||||
if (!dungeonHelper.isCustomDungeon(sender.worldObj.provider.dimensionId))
|
||||
{
|
||||
if (var2.length < 2)
|
||||
if (command.length < 2)
|
||||
{
|
||||
player.sendChatToPlayer("Must have started dungeon creation, use argument OVERRIDE to export anyway");
|
||||
sender.sendChatToPlayer("Must have started dungeon creation, use argument OVERRIDE to export anyway");
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
else if (!var2[1].contains("OVERRIDE"))
|
||||
else if (!command[1].contains("OVERRIDE"))
|
||||
{
|
||||
player.sendChatToPlayer("Must have started dungeon creation, use argument OVERRIDE to export anyway");
|
||||
sender.sendChatToPlayer("Must have started dungeon creation, use argument OVERRIDE to export anyway");
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int x = (int) player.posX;
|
||||
int y = (int) player.posY;
|
||||
int z = (int) player.posZ;
|
||||
int x = (int) sender.posX;
|
||||
int y = (int) sender.posY;
|
||||
int z = (int) sender.posZ;
|
||||
|
||||
if(var2.length==0)
|
||||
if (command.length == 0)
|
||||
{
|
||||
player.sendChatToPlayer("Must name file");
|
||||
sender.sendChatToPlayer("Must name file");
|
||||
}
|
||||
else if(!player.worldObj.isRemote)
|
||||
else if(!sender.worldObj.isRemote)
|
||||
{
|
||||
//Check that the dungeon name is valid to prevent directory traversal and other forms of abuse
|
||||
if (DungeonHelper.NamePattern.matcher(var2[0]).matches())
|
||||
if (DungeonHelper.NamePattern.matcher(command[0]).matches())
|
||||
{
|
||||
String exportPath = properties.CustomSchematicDirectory + "/" + var2[0] + ".schematic";
|
||||
if (dungeonHelper.exportDungeon(player.worldObj, x, y, z, exportPath))
|
||||
String exportPath = properties.CustomSchematicDirectory + "/" + command[0] + ".schematic";
|
||||
if (dungeonHelper.exportDungeon(sender.worldObj, x, y, z, exportPath))
|
||||
{
|
||||
player.sendChatToPlayer("Saved dungeon schematic in " + exportPath);
|
||||
sender.sendChatToPlayer("Saved dungeon schematic in " + exportPath);
|
||||
dungeonHelper.registerCustomDungeon(new File(exportPath));
|
||||
|
||||
if (dungeonHelper.customDungeonStatus.containsKey(player.worldObj.provider.dimensionId) && !player.worldObj.isRemote)
|
||||
{
|
||||
// mod_pocketDim.dungeonHelper.customDungeonStatus.remove(player.worldObj.provider.dimensionId);
|
||||
// dimHelper.instance.teleportToPocket(player.worldObj, mod_pocketDim.dungeonHelper.customDungeonStatus.get(player.worldObj.provider.dimensionId), player);
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
player.sendChatToPlayer("Failed to save dungeon schematic!");
|
||||
sender.sendChatToPlayer("Failed to save dungeon schematic!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
player.sendChatToPlayer("Invalid schematic name. Please use only letters, numbers, and underscores.");
|
||||
sender.sendChatToPlayer("Invalid schematic name. Please use only letters, numbers, and underscores.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CommandPrintDimData extends CommandBase
|
||||
{
|
||||
public String getCommandName()//the name of our command
|
||||
{
|
||||
return "dimdoors-printDimData";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
|
||||
{
|
||||
int linksRemoved=0;
|
||||
int targetDim;
|
||||
boolean shouldGo= true;
|
||||
|
||||
if(var2.length==0)
|
||||
{
|
||||
targetDim= this.getCommandSenderAsPlayer(var1).worldObj.provider.dimensionId;
|
||||
}
|
||||
else if(var2.length==1)
|
||||
{
|
||||
targetDim= this.parseInt(var1, var2[0]);
|
||||
if(!dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||
shouldGo=false;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
targetDim=0;
|
||||
shouldGo=false;
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error-Invalid argument, print_dim_data <targetDimID> or blank for current dim");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(shouldGo)
|
||||
{
|
||||
if(dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
DimData dimData = dimHelper.dimList.get(targetDim);
|
||||
Collection<LinkData> links= new ArrayList();
|
||||
links.addAll( dimData.printAllLinkData());
|
||||
|
||||
for(LinkData link : links)
|
||||
{
|
||||
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer( link.printLinkData());
|
||||
}
|
||||
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("DimID= "+dimData.dimID+"Dim depth = "+dimData.depth);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer(String.valueOf(var2.length));
|
||||
// this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+linksRemoved+" rifts.");
|
||||
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
|
||||
public class CommandPrintDimensionData extends DDCommandBase
|
||||
{
|
||||
private static CommandPrintDimensionData instance = null;
|
||||
|
||||
private CommandPrintDimensionData()
|
||||
{
|
||||
super("dd-dimensiondata");
|
||||
}
|
||||
|
||||
public static CommandPrintDimensionData instance()
|
||||
{
|
||||
if (instance == null)
|
||||
instance = new CommandPrintDimensionData();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processCommand(EntityPlayer sender, String[] command)
|
||||
{
|
||||
int targetDim;
|
||||
boolean shouldGo= true;
|
||||
|
||||
if(command.length==0)
|
||||
{
|
||||
targetDim= sender.worldObj.provider.dimensionId;
|
||||
}
|
||||
else if(command.length==1)
|
||||
{
|
||||
targetDim = parseInt(sender, command[0]);
|
||||
if(!dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
sender.sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||
shouldGo=false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
targetDim=0;
|
||||
shouldGo=false;
|
||||
sender.sendChatToPlayer("Error-Invalid argument, print_dim_data <targetDimID> or blank for current dim");
|
||||
}
|
||||
|
||||
if(shouldGo)
|
||||
{
|
||||
if(dimHelper.dimList.containsKey(targetDim))
|
||||
{
|
||||
DimData dimData = dimHelper.dimList.get(targetDim);
|
||||
Collection<LinkData> links = new ArrayList<LinkData>();
|
||||
links.addAll( dimData.printAllLinkData());
|
||||
|
||||
for (LinkData link : links)
|
||||
{
|
||||
sender.sendChatToPlayer(link.printLinkData());
|
||||
}
|
||||
sender.sendChatToPlayer("DimID= "+dimData.dimID+"Dim depth = "+dimData.depth);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CommandPrintDungeonData extends CommandBase
|
||||
{
|
||||
public String getCommandName()//the name of our command
|
||||
{
|
||||
return "print_dungeon_data";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
|
||||
{
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3,33 +3,37 @@ package StevenDimDoors.mod_pocketDim.commands;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
|
||||
public class CommandPruneDims extends CommandBase
|
||||
public class CommandPruneDimensions extends DDCommandBase
|
||||
{
|
||||
public String getCommandName()//the name of our command
|
||||
private static CommandPruneDimensions instance = null;
|
||||
|
||||
private CommandPruneDimensions()
|
||||
{
|
||||
return "dimdoors-prunePockets";
|
||||
super("dd-prune");
|
||||
}
|
||||
|
||||
public static CommandPruneDimensions instance()
|
||||
{
|
||||
if (instance == null)
|
||||
instance = new CommandPruneDimensions();
|
||||
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
|
||||
protected void processCommand(EntityPlayer sender, String[] command)
|
||||
{
|
||||
int numRemoved=0;
|
||||
ArrayList dimsWithLinks=new ArrayList();
|
||||
Collection<DimData> allDims = new ArrayList();
|
||||
ArrayList<Integer> dimsWithLinks = new ArrayList<Integer>();
|
||||
Collection<DimData> allDims = new ArrayList<DimData>();
|
||||
allDims.addAll(dimHelper.dimList.values());
|
||||
for(DimData data: allDims)
|
||||
{
|
||||
|
||||
for(LinkData link:data.printAllLinkData())
|
||||
{
|
||||
if(!dimsWithLinks.contains(link.destDimID))
|
||||
@@ -38,7 +42,6 @@ public class CommandPruneDims extends CommandBase
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(LinkData link : dimHelper.instance.interDimLinkList.values())
|
||||
{
|
||||
if(!dimsWithLinks.contains(link.destDimID))
|
||||
@@ -46,7 +49,6 @@ public class CommandPruneDims extends CommandBase
|
||||
dimsWithLinks.add(link.destDimID);
|
||||
}
|
||||
}
|
||||
|
||||
for(DimData data : allDims)
|
||||
{
|
||||
if(!dimsWithLinks.contains(data.dimID))
|
||||
@@ -56,14 +58,6 @@ public class CommandPruneDims extends CommandBase
|
||||
}
|
||||
}
|
||||
dimHelper.instance.save();
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+numRemoved+" unreachable pocket dims.");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sender.sendChatToPlayer("Removed " + numRemoved + " unreachable pocket dims.");
|
||||
}
|
||||
}
|
||||
@@ -1,62 +1,40 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
||||
import StevenDimDoors.mod_pocketDim.DimData;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
import StevenDimDoors.mod_pocketDim.items.itemDimDoor;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||
|
||||
public class CommandStartDungeonCreation extends CommandBase
|
||||
public class CommandStartDungeonCreation extends DDCommandBase
|
||||
{
|
||||
public CommandStartDungeonCreation()
|
||||
private static CommandStartDungeonCreation instance = null;
|
||||
|
||||
private CommandStartDungeonCreation()
|
||||
{
|
||||
if (properties == null)
|
||||
properties = DDProperties.instance();
|
||||
super("dd-create");
|
||||
}
|
||||
|
||||
private static DDProperties properties = null;
|
||||
|
||||
public String getCommandName()//the name of our command
|
||||
public static CommandStartDungeonCreation instance()
|
||||
{
|
||||
return "dimdoors-startDungeonCreation";
|
||||
if (instance == null)
|
||||
instance = new CommandStartDungeonCreation();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCommand(ICommandSender var1, String[] var2)
|
||||
protected void processCommand(EntityPlayer sender, String[] command)
|
||||
{
|
||||
|
||||
EntityPlayer player = this.getCommandSenderAsPlayer(var1);
|
||||
|
||||
int x = (int) player.posX;
|
||||
int y = (int) player.posY;
|
||||
int z = (int) player.posZ;
|
||||
|
||||
if(!player.worldObj.isRemote)
|
||||
if (!sender.worldObj.isRemote)
|
||||
{
|
||||
//Place a door leading to a pocket dimension where the player is standing.
|
||||
//The pocket dimension will be serve as a room for the player to build a dungeon.
|
||||
int x = (int) sender.posX;
|
||||
int y = (int) sender.posY;
|
||||
int z = (int) sender.posZ;
|
||||
LinkData link = DungeonHelper.instance().createCustomDungeonDoor(sender.worldObj, x, y, z);
|
||||
|
||||
LinkData link = new LinkData(player.worldObj.provider.dimensionId, 0, x, y+1, z, x, y+1, z, true, 3);
|
||||
|
||||
link = dimHelper.instance.createPocket(link,true, false);
|
||||
|
||||
itemDimDoor.placeDoorBlock(player.worldObj, x, y, z, 3, Block.blocksList[properties.WarpDoorID]);
|
||||
|
||||
// dimHelper.instance.teleportToPocket(player.worldObj, link, player);
|
||||
|
||||
DungeonHelper.instance().customDungeonStatus.put(link.destDimID, dimHelper.instance.getLinkDataFromCoords(link.destXCoord, link.destYCoord, link.destZCoord, link.destDimID));
|
||||
|
||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("DimID = "+ link.destDimID);
|
||||
//Notify the player
|
||||
sender.sendChatToPlayer("Created a door to a pocket dimension (ID = " + link.destDimID + "). Please build your dungeon there.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
48
StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java
Normal file
48
StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package StevenDimDoors.mod_pocketDim.commands;
|
||||
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import cpw.mods.fml.common.event.FMLServerStartingEvent;
|
||||
|
||||
/*
|
||||
* An abstract base class for our Dimensional Doors commands. This cleans up the code a little and provides
|
||||
* some convenience improvements.
|
||||
*/
|
||||
public abstract class DDCommandBase extends CommandBase
|
||||
{
|
||||
private String name;
|
||||
|
||||
public DDCommandBase(String name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/*
|
||||
* When overridden in a derived class, processes the command sent by the server.
|
||||
*/
|
||||
protected abstract void processCommand(EntityPlayer sender, String[] command);
|
||||
|
||||
public final String getCommandName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
/*
|
||||
* Registers the command at server startup.
|
||||
*/
|
||||
public void register(FMLServerStartingEvent event)
|
||||
{
|
||||
event.registerServerCommand(this);
|
||||
}
|
||||
|
||||
/*
|
||||
* Method invoked by the server to execute a command. The call is forwarded to a derived class
|
||||
* to provide the sending player directly.
|
||||
*/
|
||||
public final void processCommand(ICommandSender sender, String[] command)
|
||||
{
|
||||
//Forward the command
|
||||
processCommand(getCommandSenderAsPlayer(sender), command);
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,7 @@ import StevenDimDoors.mod_pocketDim.helpers.jnbt.ListTag;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.jnbt.NBTOutputStream;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.jnbt.ShortTag;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.jnbt.Tag;
|
||||
import StevenDimDoors.mod_pocketDim.items.itemDimDoor;
|
||||
import StevenDimDoors.mod_pocketDim.util.WeightedContainer;
|
||||
|
||||
public class DungeonHelper
|
||||
@@ -58,7 +59,7 @@ public class DungeonHelper
|
||||
|
||||
private Random rand = new Random();
|
||||
|
||||
public HashMap<Integer, LinkData> customDungeonStatus = new HashMap<Integer, LinkData>();
|
||||
private HashMap<Integer, LinkData> customDungeonStatus = new HashMap<Integer, LinkData>();
|
||||
|
||||
public ArrayList<DungeonGenerator> customDungeons = new ArrayList<DungeonGenerator>();
|
||||
public ArrayList<DungeonGenerator> registeredDungeons = new ArrayList<DungeonGenerator>();
|
||||
@@ -103,10 +104,10 @@ public class DungeonHelper
|
||||
if (properties == null)
|
||||
properties = DDProperties.instance();
|
||||
|
||||
initializeDungeons();
|
||||
registerCustomDungeons();
|
||||
}
|
||||
|
||||
private void initializeDungeons()
|
||||
private void registerCustomDungeons()
|
||||
{
|
||||
File file = new File(properties.CustomSchematicDirectory);
|
||||
if (file.exists() || file.mkdir())
|
||||
@@ -143,6 +144,28 @@ public class DungeonHelper
|
||||
return instance;
|
||||
}
|
||||
|
||||
public LinkData createCustomDungeonDoor(World world, int x, int y, int z)
|
||||
{
|
||||
//Create a link above the specified position. Link to a new pocket dimension.
|
||||
LinkData link = new LinkData(world.provider.dimensionId, 0, x, y + 1, z, x, y + 1, z, true, 3);
|
||||
link = dimHelper.instance.createPocket(link, true, false);
|
||||
|
||||
//Place a Warp Door linked to that pocket
|
||||
itemDimDoor.placeDoorBlock(world, x, y, z, 3, mod_pocketDim.ExitDoor);
|
||||
|
||||
//Register the pocket as a custom dungeon
|
||||
customDungeonStatus.put(link.destDimID,
|
||||
dimHelper.instance.getLinkDataFromCoords(link.destXCoord, link.destYCoord, link.destZCoord, link.destDimID));
|
||||
|
||||
return link;
|
||||
}
|
||||
|
||||
public boolean isCustomDungeon(int dimensionID)
|
||||
{
|
||||
//TODO: Should we simply treat all pocket dimensions as valid custom dungeons? ~SenseiKiwi
|
||||
return customDungeonStatus.containsKey(dimensionID);
|
||||
}
|
||||
|
||||
public boolean validateSchematicName(String name)
|
||||
{
|
||||
String[] dungeonData = name.split("_");
|
||||
|
||||
@@ -6,7 +6,6 @@ import java.util.HashMap;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.command.ICommand;
|
||||
import net.minecraft.entity.EntityEggInfo;
|
||||
import net.minecraft.entity.EntityList;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
@@ -23,13 +22,13 @@ import StevenDimDoors.mod_pocketDim.blocks.ChaosDoor;
|
||||
import StevenDimDoors.mod_pocketDim.blocks.ExitDoor;
|
||||
import StevenDimDoors.mod_pocketDim.blocks.dimDoor;
|
||||
import StevenDimDoors.mod_pocketDim.blocks.dimHatch;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandAddDungeonRift;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandCreateDungeonRift;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandDeleteAllLinks;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandDeleteDimData;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandDeleteDimensionData;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandDeleteRifts;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandEndDungeonCreation;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandPrintDimData;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandPruneDims;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandPrintDimensionData;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandPruneDimensions;
|
||||
import StevenDimDoors.mod_pocketDim.commands.CommandStartDungeonCreation;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||
@@ -95,15 +94,6 @@ public class mod_pocketDim
|
||||
public static SchematicLoader loader;
|
||||
public static pocketTeleporter teleporter;
|
||||
|
||||
public static ICommand printDimData;
|
||||
public static ICommand removeRiftsCommand;
|
||||
public static ICommand pruneDimsCommand;
|
||||
public static ICommand removeAllLinksCommand;
|
||||
public static ICommand deleteDimDataCommand;
|
||||
public static ICommand addDungeonRift;
|
||||
public static ICommand endDungeonCreation;
|
||||
public static ICommand startDungeonCreation;
|
||||
|
||||
public static Block transientDoor;
|
||||
public static Block ExitDoor;
|
||||
public static Block chaosDoor;
|
||||
@@ -155,15 +145,6 @@ public class mod_pocketDim
|
||||
|
||||
loader = new SchematicLoader();
|
||||
teleporter = new pocketTeleporter();
|
||||
|
||||
printDimData = new CommandPrintDimData();
|
||||
removeRiftsCommand = new CommandDeleteRifts();
|
||||
pruneDimsCommand = new CommandPruneDims();
|
||||
removeAllLinksCommand = new CommandDeleteAllLinks();
|
||||
deleteDimDataCommand = new CommandDeleteDimData();
|
||||
addDungeonRift = new CommandAddDungeonRift();
|
||||
endDungeonCreation = new CommandEndDungeonCreation();
|
||||
startDungeonCreation = new CommandStartDungeonCreation();
|
||||
tracker = new PlayerRespawnTracker();
|
||||
riftGen = new RiftGenerator();
|
||||
}
|
||||
@@ -409,14 +390,14 @@ public class mod_pocketDim
|
||||
@ServerStarting
|
||||
public void serverStarting(FMLServerStartingEvent event)
|
||||
{
|
||||
event.registerServerCommand(removeRiftsCommand);
|
||||
event.registerServerCommand(pruneDimsCommand);
|
||||
event.registerServerCommand(removeAllLinksCommand);
|
||||
event.registerServerCommand(deleteDimDataCommand);
|
||||
event.registerServerCommand(addDungeonRift);
|
||||
event.registerServerCommand(mod_pocketDim.startDungeonCreation);
|
||||
event.registerServerCommand(mod_pocketDim.printDimData);
|
||||
event.registerServerCommand(mod_pocketDim.endDungeonCreation);
|
||||
CommandCreateDungeonRift.instance().register(event);
|
||||
CommandDeleteAllLinks.instance().register(event);
|
||||
CommandDeleteDimensionData.instance().register(event);
|
||||
CommandDeleteRifts.instance().register(event);
|
||||
CommandEndDungeonCreation.instance().register(event);
|
||||
CommandPrintDimensionData.instance().register(event);
|
||||
CommandPruneDimensions.instance().register(event);
|
||||
CommandStartDungeonCreation.instance().register(event);
|
||||
|
||||
dimHelper.instance.load();
|
||||
if(!dimHelper.dimList.containsKey(properties.LimboDimensionID))
|
||||
|
||||
Reference in New Issue
Block a user