Fixed Empty Dungeon Guide Bug and Updated Guide #30
@@ -112,7 +112,7 @@ public class DungeonHelper
|
||||
File file = new File(properties.CustomSchematicDirectory);
|
||||
if (file.exists() || file.mkdir())
|
||||
{
|
||||
copyfile.copyFile("/mods/DimDoors/How_to_add_dungeons.txt", file.getAbsolutePath() + "/How_to_add_dungeons.txt");
|
||||
copyfile.copyFile("/mods/DimDoors/text/How_to_add_dungeons.txt", file.getAbsolutePath() + "/How_to_add_dungeons.txt");
|
||||
}
|
||||
registerFlipBlocks();
|
||||
importCustomDungeons(properties.CustomSchematicDirectory);
|
||||
|
||||
@@ -12,7 +12,10 @@ public class copyfile
|
||||
{
|
||||
try
|
||||
{
|
||||
InputStream in = (mod_pocketDim.class.getClass().getResourceAsStream(ori));
|
||||
//Note: For this to work properly, you must use getClass() on an instance of the class,
|
||||
//not on the value obtained from .class. That was what caused this code to fail before.
|
||||
//SchematicLoader didn't have this problem because we used instances of it.
|
||||
InputStream in = mod_pocketDim.instance.getClass().getResourceAsStream(ori);
|
||||
OutputStream out = new FileOutputStream(dest);
|
||||
byte[] buf = new byte[1024];
|
||||
int len;
|
||||
@@ -24,6 +27,7 @@ public class copyfile
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.out.println("Unable to get resource: " + ori);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
Adding dungeons is pretty simple, but you have to know the various flags and stuff I use to read them in and build them. Ill walk you through the process here, and provide all the flags and a breif description of what they mean here.
|
||||
|
||||
To get started, run minecraft with DimDoors installed and type the following command-
|
||||
|
||||
/dimdoors-startDungeonCreation
|
||||
|
||||
This will generate an empty pocket dim for you to build with that is in the proper orientation (north). If you do not use this command, you WILL run into issues later.
|
||||
|
||||
So on to the building- You can ONLY use vanilla blocks in the dungeons. Everything that is not vanilla MC will be turned into fabric of reality when I gen them, or it will crash horribly. The only exceptions to this are DimDoors doors, which will be treated like mundane, vanilla doors of the same material.
|
||||
|
||||
The first step is to make your entrance door. This is where the player will appear when they teleport in for the first time. It is marked by a vanilla wooden door. It will be replaced by a wooden warp door on generation, and by default is set as the door you entered from.
|
||||
|
||||
As you build your dungeon, there are a few restrictions. Any chests you place will get filled with random loot, and not what you place in them. Any dispensers will get a few stacks of arrows. Other than that, any vanilla mechanics should work fine, except rails. Im working on that now, as well as saving inventories.
|
||||
|
||||
Any vanilla iron doors you place will become iron dim doors, and link to more dungeon pockets, so use these to make your dungeon lead farther into a dungeon chain.
|
||||
|
||||
If you want your dungeon to link back the overworld, place a vanilla wooden door on top of a sandstone block. This will mark it as an exit door, and it will gen as a wooden Dim door leading to the overworld (or whatever dim this chain started in). The sandstone block will become whatever is under it.
|
||||
|
||||
Once you have finished creating your dungeon, you need to use the command /dimdoors-endDungeonCreation <fileName>.
|
||||
|
||||
To name it, use the following format-
|
||||
|
||||
<dungeonType>_<yourDungeonName>_<isOpen>_<spawnWeight>
|
||||
|
||||
The dungeon types are <20>hub<75>, <20>simpleHall<6C>, <20>complexHall<6C>, <20>trap', <20>maze<7A>, <20>exit<69>, and <20>deadEnd', see explanation further down.
|
||||
|
||||
isOpen determines if the dungeon is an open-air style pocket, or a closed in / walled in pocket that will spawn Monoliths. Correct arguments are 'open' or 'closed'.
|
||||
|
||||
Spawn weight determines how frequently you want it to appear. The default is 100, and it will have the same relative weight as all the others.
|
||||
|
||||
For example- hub_hallWith5Doors_open_1.schematic
|
||||
|
||||
|
||||
Congratulations! You have added your own dungeon. You can use the command /dimdoors-genDungeonRift <dungeonName> to gen it, or use /dimdoors-genDungeonRift list to list all avalible dungeons.
|
||||
|
||||
|
||||
These tags are just guidelines, feel free to do whatever you feel like, but the generation algorithm is set up with these in mind-
|
||||
|
||||
|
||||
hub- Dungeons that have 4 or more iron doors in them should be labeled as hubs, so they don't generate one after another.
|
||||
|
||||
simpleHall - this dungeons contain a single iron door, (possibly two, but not three) and don't contain redstone traps/etc. These are the halls that separate rooms, and should generally be tagged with 'closed' as well.
|
||||
|
||||
complexHall- these dungeons are more like rooms, and can be open. They can have piston puzzles/locks, and up to three iron doors. In addition, they can contain wooden doors to link to the surface.
|
||||
|
||||
trap- these are primarily traps, and often contain only a single iron door. The traps should never instantly kill the player, and should always be surmountable. They can contain either a reward/chest, or simply allow progress. Piston traps are very fun for these.
|
||||
|
||||
maze- can contain up to 3 iron dim doors. They can be simple labryinths, or full of changing walls, etc. They should not, however, be primarily trying to kill the player. (though they can have possibly lethal elements). Think of half trap, half hub.
|
||||
|
||||
exit- primary purpose is to link back to overworld with a wooden door. Should never contain iron doors.
|
||||
|
||||
deadEnd - no doors, except entrance door. Usually contain some sort of treasure.
|
||||
|
||||
51
resources/mods/DimDoors/text/How_to_add_dungeons.txt
Normal file
51
resources/mods/DimDoors/text/How_to_add_dungeons.txt
Normal file
@@ -0,0 +1,51 @@
|
||||
Adding dungeons is pretty simple, but you have to know the various flags and stuff I use to read them in and build them. Ill walk you through the process here, and provide all the flags and a breif description of what they mean here.
|
||||
|
||||
To get started, run Minecraft with DimDoors installed and use the "/dd-create" command.
|
||||
|
||||
This will generate an empty pocket dim for you to build with that is in the proper orientation (north). If you do not use this command, you WILL run into issues later.
|
||||
|
||||
So on to the building- You can ONLY use vanilla blocks in the dungeons. Everything that is not vanilla MC will be turned into fabric of reality when I gen them, or it will crash horribly. The only exceptions to this are DimDoors doors, which will be treated like mundane, vanilla doors of the same material.
|
||||
|
||||
The first step is to make your entrance door. This is where the player will appear when they teleport in for the first time. It is marked by a vanilla wooden door. It will be replaced by a wooden warp door on generation, and by default is set as the door you entered from.
|
||||
|
||||
As you build your dungeon, there are a few restrictions. Any chests you place will get filled with random loot, and not what you place in them. Any dispensers will get a few stacks of arrows. Other than that, any vanilla mechanics should work fine, except rails. I'm working on that now, as well as saving inventories.
|
||||
|
||||
Any iron doors you place will become iron dim doors, and link to more dungeon pockets, so use these to make your dungeon lead farther into a dungeon chain.
|
||||
|
||||
If you want your dungeon to link back the Overworld, place a wooden door on top of a Sandstone block. This will mark it as an exit door, and it will generate as a wooden Dim door leading to the Overworld (or whatever dim this chain started in). The sandstone block will become whatever is under it.
|
||||
|
||||
Once you have finished creating your dungeon, you need to use the command "/dd-export <fileName>"
|
||||
|
||||
To name it, use the following format:
|
||||
|
||||
<DungeonType>_<DungeonName>_<IsOpen>_<SpawnWeight>
|
||||
|
||||
DungeonType: The dungeon types are "Hub", "SimpleHall", "ComplexHall", "Trap', "Maze", "Exit", and "DeadEnd'.
|
||||
|
||||
Hub: Dungeons that have 4 or more iron doors in them should be labeled as hubs, so they don't generate one after another.
|
||||
|
||||
SimpleHall: Dungeons that contain a single iron door or two, but no more than that, and don't contain traps. These are the halls that separate rooms and should generally be tagged as 'closed'.
|
||||
|
||||
ComplexHall: These dungeons are more like rooms and can be open. They can have piston puzzles or locks, and up to three iron doors. In addition, they can contain wooden doors to link to the surface.
|
||||
|
||||
Trap: These dungeons are primarily traps and often contain only a single iron door. The traps should never instantly kill the player, and it should be possible to beat them. They can contain either a reward/chest, or simply allow progress. Piston traps are very fun for these.
|
||||
|
||||
Maze: These dungeons can contain up to 3 iron doors. They can be simple labyrinths or full of changing walls, etc. They should not, however, be primarily trying to kill the player, though they can have possibly lethal elements. In the worst case, think of it as half trap and half hub.
|
||||
|
||||
Exit: The main purpose of these dungeons is to link back to Overworld with a wooden door. They should never contain iron doors.
|
||||
|
||||
DeadEnd: Dungeons that have no other doors except the entrance. Usually contain some sort of treasure.
|
||||
|
||||
IsOpen: Indicates whether the dungeon is an open-air structure or a closed structure that should be surrounded by Monoliths. Monoliths prevent players from breaking out of closed structures to avoid puzzles or traps. The only valid values are "open" or "closed".
|
||||
|
||||
SpawnWeight: An optional integer that determines how frequently you want the dungeon to appear relative to others of the same type. The default weight is 100. Higher values cause a dungeon to generate more often, while lower values cause it to be less common. The minimum weight is 0 and the maximum weight is 10,000.
|
||||
|
||||
|
||||
Examples:
|
||||
Hub_RuinsWithDoors_Open_100
|
||||
SimpleHall_WindingHallway_Closed_50
|
||||
Trap_CleverTrap_Closed
|
||||
|
||||
Although you can deviate from the format above, the current dungeon generation system requires that format to work properly. It will not select schematics that do not follow those naming rules.
|
||||
|
||||
Congratulations! You have added your own dungeon. You can use the command "/dd-rift <dungeonName>" to generate it, or use "/dd-rift list" to list all available dungeons. Finally, "/dd-rift random" will select a dungeon at random.
|
||||
Reference in New Issue
Block a user