DimDoors/StevenDimDoors/mod_pocketDim/commands/CommandDeleteDimensionData.java
SenseiKiwi 6e3c93fa17 Temporary Fix to Commands
Temporarily patched up CommandDeleteAllLinks,
CommandDeleteDimensionData, and CommandDeleteRifts so they'll compile.
I'll be fixing some things for Steven and I'll come back to those
classes to finish overhauling them.
2013-06-25 23:24:21 -04:00

95 lines
No EOL
2.2 KiB
Java

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", "FIXME");
}
public static CommandDeleteDimensionData instance()
{
if (instance == null)
instance = new CommandDeleteDimensionData();
return instance;
}
@Override
protected DDCommandResult 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");
}
}
return DDCommandResult.SUCCESS; //TEMPORARY HACK
}
}