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 net.minecraft.world.chunk.IChunkProvider;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||||
import StevenDimDoors.mod_pocketDim.items.ItemRiftBlade;
|
import StevenDimDoors.mod_pocketDim.items.ItemRiftBlade;
|
||||||
|
import StevenDimDoors.mod_pocketDim.world.LimboProvider;
|
||||||
import StevenDimDoors.mod_pocketDim.world.pocketProvider;
|
import StevenDimDoors.mod_pocketDim.world.pocketProvider;
|
||||||
import cpw.mods.fml.common.IWorldGenerator;
|
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,
|
//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.
|
//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;
|
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 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.DimData;
|
||||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
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
|
@Override
|
||||||
public void processCommand(ICommandSender var1, String[] var2)
|
protected void processCommand(EntityPlayer sender, String[] command)
|
||||||
|
|
||||||
{
|
{
|
||||||
int linksRemoved=0;
|
int linksRemoved=0;
|
||||||
int targetDim;
|
int targetDim;
|
||||||
boolean shouldGo= true;
|
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))
|
if(!dimHelper.dimList.containsKey(targetDim))
|
||||||
{
|
{
|
||||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
sender.sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||||
shouldGo=false;
|
shouldGo=false;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
targetDim=0;
|
targetDim=0;
|
||||||
shouldGo=false;
|
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(shouldGo)
|
||||||
{
|
{
|
||||||
if(dimHelper.dimList.containsKey(targetDim))
|
if(dimHelper.dimList.containsKey(targetDim))
|
||||||
{
|
{
|
||||||
DimData dim = dimHelper.dimList.get(targetDim);
|
DimData dim = dimHelper.dimList.get(targetDim);
|
||||||
|
|
||||||
ArrayList<LinkData> linksInDim = dim.printAllLinkData();
|
ArrayList<LinkData> linksInDim = dim.printAllLinkData();
|
||||||
|
|
||||||
for(LinkData link : linksInDim)
|
for (LinkData link : linksInDim)
|
||||||
{
|
{
|
||||||
World targetWorld = dimHelper.getWorld(targetDim);
|
World targetWorld = dimHelper.getWorld(targetDim);
|
||||||
|
|
||||||
@@ -76,36 +71,14 @@ public class CommandDeleteAllLinks extends CommandBase
|
|||||||
{
|
{
|
||||||
dimHelper.initDimension(targetDim);
|
dimHelper.initDimension(targetDim);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
targetWorld = dimHelper.getWorld(targetDim);
|
targetWorld = dimHelper.getWorld(targetDim);
|
||||||
|
|
||||||
{
|
|
||||||
dim.removeLinkAtCoords(link);
|
dim.removeLinkAtCoords(link);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
targetWorld.setBlock(link.locXCoord, link.locYCoord, link.locZCoord, 0);
|
targetWorld.setBlock(link.locXCoord, link.locYCoord, link.locZCoord, 0);
|
||||||
|
|
||||||
|
|
||||||
linksRemoved++;
|
linksRemoved++;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//dim.linksInThisDim.clear();
|
//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 java.util.ArrayList;
|
||||||
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.world.World;
|
||||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
|
||||||
import StevenDimDoors.mod_pocketDim.DimData;
|
import StevenDimDoors.mod_pocketDim.DimData;
|
||||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
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)
|
super("dd-???");
|
||||||
properties = DDProperties.instance();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static DDProperties properties = null;
|
public static CommandDeleteRifts instance()
|
||||||
|
|
||||||
public String getCommandName()//the name of our command
|
|
||||||
{
|
{
|
||||||
return "dimdoors-cleanupRifts";
|
if (instance == null)
|
||||||
|
instance = new CommandDeleteRifts();
|
||||||
|
|
||||||
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void processCommand(ICommandSender var1, String[] var2)
|
protected void processCommand(EntityPlayer sender, String[] command)
|
||||||
|
|
||||||
{
|
{
|
||||||
int linksRemoved=0;
|
int linksRemoved=0;
|
||||||
int targetDim;
|
int targetDim;
|
||||||
boolean shouldGo= true;
|
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))
|
if(!dimHelper.dimList.containsKey(targetDim))
|
||||||
{
|
{
|
||||||
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
sender.sendChatToPlayer("Error- dim "+targetDim+" not registered");
|
||||||
shouldGo=false;
|
shouldGo=false;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
targetDim=0;
|
targetDim=0;
|
||||||
shouldGo=false;
|
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(shouldGo)
|
||||||
{
|
{
|
||||||
if(dimHelper.dimList.containsKey(targetDim))
|
if(dimHelper.dimList.containsKey(targetDim))
|
||||||
{
|
{
|
||||||
DimData dim = dimHelper.dimList.get(targetDim);
|
DimData dim = dimHelper.dimList.get(targetDim);
|
||||||
|
|
||||||
ArrayList<LinkData> linksInDim = dim.printAllLinkData();
|
ArrayList<LinkData> linksInDim = dim.printAllLinkData();
|
||||||
|
|
||||||
for(LinkData link : linksInDim)
|
for(LinkData link : linksInDim)
|
||||||
@@ -81,37 +71,18 @@ public class CommandDeleteRifts extends CommandBase
|
|||||||
else if(targetWorld.provider==null)
|
else if(targetWorld.provider==null)
|
||||||
{
|
{
|
||||||
dimHelper.initDimension(targetDim);
|
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);
|
dim.removeLinkAtCoords(link);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
targetWorld.setBlock(link.locXCoord, link.locYCoord, link.locZCoord, 0);
|
targetWorld.setBlock(link.locXCoord, link.locYCoord, link.locZCoord, 0);
|
||||||
|
|
||||||
|
|
||||||
linksRemoved++;
|
linksRemoved++;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
sender.sendChatToPlayer("Removed "+linksRemoved+" rifts.");
|
||||||
//dim.linksInThisDim.clear();
|
|
||||||
this.getCommandSenderAsPlayer(var1).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 java.io.File;
|
||||||
|
|
||||||
import net.minecraft.command.CommandBase;
|
|
||||||
import net.minecraft.command.ICommandSender;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
import StevenDimDoors.mod_pocketDim.DDProperties;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
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)
|
super("dd-export");
|
||||||
properties = DDProperties.instance();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCommandName()//the name of our command
|
public static CommandEndDungeonCreation instance()
|
||||||
{
|
{
|
||||||
return "dimdoors-endDungeonCreation";
|
if (instance == null)
|
||||||
|
instance = new CommandEndDungeonCreation();
|
||||||
|
|
||||||
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void processCommand(ICommandSender var1, String[] var2)
|
protected void processCommand(EntityPlayer sender, String[] command)
|
||||||
{
|
{
|
||||||
DungeonHelper dungeonHelper = DungeonHelper.instance();
|
DungeonHelper dungeonHelper = DungeonHelper.instance();
|
||||||
|
DDProperties properties = DDProperties.instance();
|
||||||
|
|
||||||
EntityPlayer player = this.getCommandSenderAsPlayer(var1);
|
if (!dungeonHelper.isCustomDungeon(sender.worldObj.provider.dimensionId))
|
||||||
|
|
||||||
if (!dungeonHelper.customDungeonStatus.containsKey(player.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;
|
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;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int x = (int) player.posX;
|
int x = (int) sender.posX;
|
||||||
int y = (int) player.posY;
|
int y = (int) sender.posY;
|
||||||
int z = (int) player.posZ;
|
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
|
//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";
|
String exportPath = properties.CustomSchematicDirectory + "/" + command[0] + ".schematic";
|
||||||
if (dungeonHelper.exportDungeon(player.worldObj, x, y, z, exportPath))
|
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));
|
dungeonHelper.registerCustomDungeon(new File(exportPath));
|
||||||
|
}
|
||||||
if (dungeonHelper.customDungeonStatus.containsKey(player.worldObj.provider.dimensionId) && !player.worldObj.isRemote)
|
else
|
||||||
{
|
{
|
||||||
// mod_pocketDim.dungeonHelper.customDungeonStatus.remove(player.worldObj.provider.dimensionId);
|
sender.sendChatToPlayer("Failed to save dungeon schematic!");
|
||||||
// dimHelper.instance.teleportToPocket(player.worldObj, mod_pocketDim.dungeonHelper.customDungeonStatus.get(player.worldObj.provider.dimensionId), player);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player.sendChatToPlayer("Failed to save dungeon schematic!");
|
sender.sendChatToPlayer("Invalid schematic name. Please use only letters, numbers, and underscores.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
player.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.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import net.minecraft.command.CommandBase;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.command.ICommandSender;
|
|
||||||
import StevenDimDoors.mod_pocketDim.DimData;
|
import StevenDimDoors.mod_pocketDim.DimData;
|
||||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
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
|
@Override
|
||||||
public void processCommand(ICommandSender var1, String[] var2)
|
protected void processCommand(EntityPlayer sender, String[] command)
|
||||||
|
|
||||||
{
|
{
|
||||||
int numRemoved=0;
|
int numRemoved=0;
|
||||||
ArrayList dimsWithLinks=new ArrayList();
|
ArrayList<Integer> dimsWithLinks = new ArrayList<Integer>();
|
||||||
Collection<DimData> allDims = new ArrayList();
|
Collection<DimData> allDims = new ArrayList<DimData>();
|
||||||
allDims.addAll(dimHelper.dimList.values());
|
allDims.addAll(dimHelper.dimList.values());
|
||||||
for(DimData data: allDims)
|
for(DimData data: allDims)
|
||||||
{
|
{
|
||||||
|
|
||||||
for(LinkData link:data.printAllLinkData())
|
for(LinkData link:data.printAllLinkData())
|
||||||
{
|
{
|
||||||
if(!dimsWithLinks.contains(link.destDimID))
|
if(!dimsWithLinks.contains(link.destDimID))
|
||||||
@@ -38,7 +42,6 @@ public class CommandPruneDims extends CommandBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(LinkData link : dimHelper.instance.interDimLinkList.values())
|
for(LinkData link : dimHelper.instance.interDimLinkList.values())
|
||||||
{
|
{
|
||||||
if(!dimsWithLinks.contains(link.destDimID))
|
if(!dimsWithLinks.contains(link.destDimID))
|
||||||
@@ -46,7 +49,6 @@ public class CommandPruneDims extends CommandBase
|
|||||||
dimsWithLinks.add(link.destDimID);
|
dimsWithLinks.add(link.destDimID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(DimData data : allDims)
|
for(DimData data : allDims)
|
||||||
{
|
{
|
||||||
if(!dimsWithLinks.contains(data.dimID))
|
if(!dimsWithLinks.contains(data.dimID))
|
||||||
@@ -56,14 +58,6 @@ public class CommandPruneDims extends CommandBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dimHelper.instance.save();
|
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;
|
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.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)
|
super("dd-create");
|
||||||
properties = DDProperties.instance();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static DDProperties properties = null;
|
public static CommandStartDungeonCreation instance()
|
||||||
|
|
||||||
public String getCommandName()//the name of our command
|
|
||||||
{
|
{
|
||||||
return "dimdoors-startDungeonCreation";
|
if (instance == null)
|
||||||
|
instance = new CommandStartDungeonCreation();
|
||||||
|
|
||||||
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void processCommand(ICommandSender var1, String[] var2)
|
protected void processCommand(EntityPlayer sender, String[] command)
|
||||||
{
|
{
|
||||||
|
if (!sender.worldObj.isRemote)
|
||||||
EntityPlayer player = this.getCommandSenderAsPlayer(var1);
|
|
||||||
|
|
||||||
int x = (int) player.posX;
|
|
||||||
int y = (int) player.posY;
|
|
||||||
int z = (int) player.posZ;
|
|
||||||
|
|
||||||
if(!player.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);
|
//Notify the player
|
||||||
|
sender.sendChatToPlayer("Created a door to a pocket dimension (ID = " + link.destDimID + "). Please build your dungeon there.");
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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.NBTOutputStream;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.jnbt.ShortTag;
|
import StevenDimDoors.mod_pocketDim.helpers.jnbt.ShortTag;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.jnbt.Tag;
|
import StevenDimDoors.mod_pocketDim.helpers.jnbt.Tag;
|
||||||
|
import StevenDimDoors.mod_pocketDim.items.itemDimDoor;
|
||||||
import StevenDimDoors.mod_pocketDim.util.WeightedContainer;
|
import StevenDimDoors.mod_pocketDim.util.WeightedContainer;
|
||||||
|
|
||||||
public class DungeonHelper
|
public class DungeonHelper
|
||||||
@@ -58,7 +59,7 @@ public class DungeonHelper
|
|||||||
|
|
||||||
private Random rand = new Random();
|
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> customDungeons = new ArrayList<DungeonGenerator>();
|
||||||
public ArrayList<DungeonGenerator> registeredDungeons = new ArrayList<DungeonGenerator>();
|
public ArrayList<DungeonGenerator> registeredDungeons = new ArrayList<DungeonGenerator>();
|
||||||
@@ -103,10 +104,10 @@ public class DungeonHelper
|
|||||||
if (properties == null)
|
if (properties == null)
|
||||||
properties = DDProperties.instance();
|
properties = DDProperties.instance();
|
||||||
|
|
||||||
initializeDungeons();
|
registerCustomDungeons();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeDungeons()
|
private void registerCustomDungeons()
|
||||||
{
|
{
|
||||||
File file = new File(properties.CustomSchematicDirectory);
|
File file = new File(properties.CustomSchematicDirectory);
|
||||||
if (file.exists() || file.mkdir())
|
if (file.exists() || file.mkdir())
|
||||||
@@ -143,6 +144,28 @@ public class DungeonHelper
|
|||||||
return instance;
|
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)
|
public boolean validateSchematicName(String name)
|
||||||
{
|
{
|
||||||
String[] dungeonData = name.split("_");
|
String[] dungeonData = name.split("_");
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import java.util.HashMap;
|
|||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.command.ICommand;
|
|
||||||
import net.minecraft.entity.EntityEggInfo;
|
import net.minecraft.entity.EntityEggInfo;
|
||||||
import net.minecraft.entity.EntityList;
|
import net.minecraft.entity.EntityList;
|
||||||
import net.minecraft.entity.item.EntityItem;
|
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.ExitDoor;
|
||||||
import StevenDimDoors.mod_pocketDim.blocks.dimDoor;
|
import StevenDimDoors.mod_pocketDim.blocks.dimDoor;
|
||||||
import StevenDimDoors.mod_pocketDim.blocks.dimHatch;
|
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.CommandDeleteAllLinks;
|
||||||
import StevenDimDoors.mod_pocketDim.commands.CommandDeleteDimData;
|
import StevenDimDoors.mod_pocketDim.commands.CommandDeleteDimensionData;
|
||||||
import StevenDimDoors.mod_pocketDim.commands.CommandDeleteRifts;
|
import StevenDimDoors.mod_pocketDim.commands.CommandDeleteRifts;
|
||||||
import StevenDimDoors.mod_pocketDim.commands.CommandEndDungeonCreation;
|
import StevenDimDoors.mod_pocketDim.commands.CommandEndDungeonCreation;
|
||||||
import StevenDimDoors.mod_pocketDim.commands.CommandPrintDimData;
|
import StevenDimDoors.mod_pocketDim.commands.CommandPrintDimensionData;
|
||||||
import StevenDimDoors.mod_pocketDim.commands.CommandPruneDims;
|
import StevenDimDoors.mod_pocketDim.commands.CommandPruneDimensions;
|
||||||
import StevenDimDoors.mod_pocketDim.commands.CommandStartDungeonCreation;
|
import StevenDimDoors.mod_pocketDim.commands.CommandStartDungeonCreation;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||||
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
|
||||||
@@ -95,15 +94,6 @@ public class mod_pocketDim
|
|||||||
public static SchematicLoader loader;
|
public static SchematicLoader loader;
|
||||||
public static pocketTeleporter teleporter;
|
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 transientDoor;
|
||||||
public static Block ExitDoor;
|
public static Block ExitDoor;
|
||||||
public static Block chaosDoor;
|
public static Block chaosDoor;
|
||||||
@@ -155,15 +145,6 @@ public class mod_pocketDim
|
|||||||
|
|
||||||
loader = new SchematicLoader();
|
loader = new SchematicLoader();
|
||||||
teleporter = new pocketTeleporter();
|
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();
|
tracker = new PlayerRespawnTracker();
|
||||||
riftGen = new RiftGenerator();
|
riftGen = new RiftGenerator();
|
||||||
}
|
}
|
||||||
@@ -409,14 +390,14 @@ public class mod_pocketDim
|
|||||||
@ServerStarting
|
@ServerStarting
|
||||||
public void serverStarting(FMLServerStartingEvent event)
|
public void serverStarting(FMLServerStartingEvent event)
|
||||||
{
|
{
|
||||||
event.registerServerCommand(removeRiftsCommand);
|
CommandCreateDungeonRift.instance().register(event);
|
||||||
event.registerServerCommand(pruneDimsCommand);
|
CommandDeleteAllLinks.instance().register(event);
|
||||||
event.registerServerCommand(removeAllLinksCommand);
|
CommandDeleteDimensionData.instance().register(event);
|
||||||
event.registerServerCommand(deleteDimDataCommand);
|
CommandDeleteRifts.instance().register(event);
|
||||||
event.registerServerCommand(addDungeonRift);
|
CommandEndDungeonCreation.instance().register(event);
|
||||||
event.registerServerCommand(mod_pocketDim.startDungeonCreation);
|
CommandPrintDimensionData.instance().register(event);
|
||||||
event.registerServerCommand(mod_pocketDim.printDimData);
|
CommandPruneDimensions.instance().register(event);
|
||||||
event.registerServerCommand(mod_pocketDim.endDungeonCreation);
|
CommandStartDungeonCreation.instance().register(event);
|
||||||
|
|
||||||
dimHelper.instance.load();
|
dimHelper.instance.load();
|
||||||
if(!dimHelper.dimList.containsKey(properties.LimboDimensionID))
|
if(!dimHelper.dimList.containsKey(properties.LimboDimensionID))
|
||||||
|
|||||||
Reference in New Issue
Block a user