Fixed duplicate custom dungeon listing
Removed a line in CommandEndDungeonCreation that inserted a new dungeon directly into DungeonHelper.customDungeons. This had a chance of causing a duplicate listing. registerCustomDungeon() was already being invoked before and if reading tags from the file name failed, the dungeon would get added twice. This could explain some of the buggy dungeon listing that would appear during testing.
This commit is contained in:
parent
86f0cd7d21
commit
9828bd7f40
2 changed files with 3 additions and 2 deletions
|
@ -63,7 +63,6 @@ public class CommandEndDungeonCreation extends CommandBase
|
||||||
{
|
{
|
||||||
DungeonGenerator newDungeon = mod_pocketDim.dungeonHelper.exportDungeon(player.worldObj, x, y, z, properties.CustomSchematicDirectory + "/" + var2[0] + ".schematic");
|
DungeonGenerator newDungeon = mod_pocketDim.dungeonHelper.exportDungeon(player.worldObj, x, y, z, properties.CustomSchematicDirectory + "/" + var2[0] + ".schematic");
|
||||||
player.sendChatToPlayer("created dungeon schematic in " + properties.CustomSchematicDirectory + "/" + var2[0]+".schematic");
|
player.sendChatToPlayer("created dungeon schematic in " + properties.CustomSchematicDirectory + "/" + var2[0]+".schematic");
|
||||||
mod_pocketDim.dungeonHelper.customDungeons.add(newDungeon);
|
|
||||||
|
|
||||||
if (mod_pocketDim.dungeonHelper.customDungeonStatus.containsKey(player.worldObj.provider.dimensionId) && !player.worldObj.isRemote)
|
if (mod_pocketDim.dungeonHelper.customDungeonStatus.containsKey(player.worldObj.provider.dimensionId) && !player.worldObj.isRemote)
|
||||||
{
|
{
|
||||||
|
|
|
@ -31,6 +31,7 @@ public class DungeonHelper
|
||||||
|
|
||||||
private static final String SCHEMATIC_FILE_EXTENSION = ".schematic";
|
private static final String SCHEMATIC_FILE_EXTENSION = ".schematic";
|
||||||
private static final int DEFAULT_DUNGEON_WEIGHT = 100;
|
private static final int DEFAULT_DUNGEON_WEIGHT = 100;
|
||||||
|
private static final int MAX_DUNGEON_WEIGHT = 10000; //Used to prevent overflows and math breaking down
|
||||||
|
|
||||||
private static final String HUB_DUNGEON_TYPE = "Hub";
|
private static final String HUB_DUNGEON_TYPE = "Hub";
|
||||||
private static final String TRAP_DUNGEON_TYPE = "Trap";
|
private static final String TRAP_DUNGEON_TYPE = "Trap";
|
||||||
|
@ -125,7 +126,7 @@ public class DungeonHelper
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int weight = Integer.parseInt(dungeonData[3]);
|
int weight = Integer.parseInt(dungeonData[3]);
|
||||||
if (weight < 0)
|
if (weight < 0 || weight > MAX_DUNGEON_WEIGHT)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
catch (NumberFormatException e)
|
catch (NumberFormatException e)
|
||||||
|
@ -158,6 +159,7 @@ public class DungeonHelper
|
||||||
dungeonTypeMapping.get(dungeonType).add(generator);
|
dungeonTypeMapping.get(dungeonType).add(generator);
|
||||||
weightedDungeonGenList.add(generator);
|
weightedDungeonGenList.add(generator);
|
||||||
registeredDungeons.add(generator);
|
registeredDungeons.add(generator);
|
||||||
|
customDungeons.add(generator);
|
||||||
System.out.println("Imported " + name);
|
System.out.println("Imported " + name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue