From 37d82207d7c9d86b96e27f2e936d94b9cffd4609 Mon Sep 17 00:00:00 2001 From: StevenRS11 Date: Sat, 23 Mar 2013 02:29:20 -0400 Subject: [PATCH] added another command- delete_all_links Signed-off-by: StevenRS11 --- .../commands/CommandDeleteAllLinks.java | 112 ++++++++++++++++++ .../commands/CommandDeleteRifts.java | 19 ++- .../mod_pocketDim/mod_pocketDim.java | 3 + .../mod_pocketDim/pocketProvider.java | 2 +- 4 files changed, 131 insertions(+), 5 deletions(-) create mode 100644 StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java diff --git a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java new file mode 100644 index 0000000..cd89d06 --- /dev/null +++ b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java @@ -0,0 +1,112 @@ +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.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; +import net.minecraft.command.CommandBase; +import net.minecraft.command.ICommandSender; +import net.minecraft.world.World; + +public class CommandDeleteAllLinks extends CommandBase +{ + public String getCommandName()//the name of our command + { + return "delete_all_links"; + } + + + + + @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_all_links or blank for current dim"); + + + } + + + + + if(shouldGo) + { + if(dimHelper.dimList.containsKey(targetDim)) + { + DimData dim = dimHelper.dimList.get(targetDim); + + ArrayList linksInDim = dim.printAllLinkData(); + + for(LinkData link : linksInDim) + { + World targetWorld = dimHelper.getWorld(targetDim); + + if(targetWorld==null) + { + dimHelper.initDimension(targetDim); + } + else if(targetWorld.provider==null) + { + dimHelper.initDimension(targetDim); + } + + + targetWorld = dimHelper.getWorld(targetDim); + + { + dimHelper.instance.linksForRendering.remove(link); + dim.removeLinkAtCoords(link); + + + + targetWorld.setBlockWithNotify(link.locXCoord, link.locYCoord, link.locZCoord, 0); + + + linksRemoved++; + } + + } + + //dim.linksInThisDim.clear(); + this.getCommandSenderAsPlayer(var1).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 + + } +} \ No newline at end of file diff --git a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java index 57559a6..2c4a4ed 100644 --- a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java +++ b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java @@ -7,6 +7,7 @@ import cpw.mods.fml.common.FMLCommonHandler; import StevenDimDoors.mod_pocketDim.DimData; import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; import net.minecraft.command.CommandBase; import net.minecraft.command.ICommandSender; import net.minecraft.world.World; @@ -65,8 +66,8 @@ public class CommandDeleteRifts extends CommandBase for(LinkData link : linksInDim) { - dimHelper.instance.linksForRendering.remove(link); World targetWorld = dimHelper.getWorld(targetDim); + if(targetWorld==null) { dimHelper.initDimension(targetDim); @@ -74,16 +75,26 @@ public class CommandDeleteRifts extends CommandBase else if(targetWorld.provider==null) { dimHelper.initDimension(targetDim); + } + targetWorld = dimHelper.getWorld(targetDim); - targetWorld.setBlockWithNotify(link.locXCoord, link.locYCoord, link.locZCoord, 0); + if(targetWorld.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord)==mod_pocketDim.blockRiftID) + { + dimHelper.instance.linksForRendering.remove(link); + dim.removeLinkAtCoords(link); - linksRemoved++; + + targetWorld.setBlockWithNotify(link.locXCoord, link.locYCoord, link.locZCoord, 0); + + + linksRemoved++; + } } - dim.linksInThisDim.clear(); + //dim.linksInThisDim.clear(); this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Removed "+linksRemoved+" rifts."); } diff --git a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java index e2c2fb1..203e0a3 100644 --- a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java +++ b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java @@ -34,6 +34,7 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; +import StevenDimDoors.mod_pocketDim.commands.CommandDeleteAllLinks; import StevenDimDoors.mod_pocketDim.commands.CommandDeleteRifts; import StevenDimDoors.mod_pocketDim.commands.CommandPruneDims; @@ -60,6 +61,7 @@ public class mod_pocketDim public static final ICommand removeRiftsCommand = new CommandDeleteRifts(); public static final ICommand pruneDimsCommand = new CommandPruneDims(); + public static final ICommand removeAllLinksCommand = new CommandDeleteAllLinks(); public static int providerID; @@ -614,6 +616,7 @@ public class mod_pocketDim { event.registerServerCommand(removeRiftsCommand); event.registerServerCommand(pruneDimsCommand); + event.registerServerCommand(removeAllLinksCommand); dimHelper.instance.load(); diff --git a/StevenDimDoors/mod_pocketDim/pocketProvider.java b/StevenDimDoors/mod_pocketDim/pocketProvider.java index 9a05dbc..34223f4 100644 --- a/StevenDimDoors/mod_pocketDim/pocketProvider.java +++ b/StevenDimDoors/mod_pocketDim/pocketProvider.java @@ -69,7 +69,7 @@ public class pocketProvider extends WorldProvider public String getDimensionName() { // TODO Auto-generated method stub - return "PocketDim"; + return "PocketDim "+this.dimensionId; }