30 Commits
Author SHA1 Message Date
SenseiKiwi fa629db4fe Progress on Maze Generation
* Implemented link creation based on link plans
* Improvised an implementation of door placement in DefaultDoorDecorator
for testing purposes. I'll provide a better version later.

Known issues:
1. Doors with one-way links to other rooms will generate a return door
at the destination. The return door doesn't actually lead back, it leads
to a new pocket. Need to disable pair generation for doors in mazes.
2. Consider weighing sections by the door capacity to avoid putting a
lot of doors into a small section. Also double-check that room selection
within sections is unbiased.
2014-04-15 07:40:44 -04:00
SenseiKiwi 77abcbb148 Progress on Maze Generation
* Increased the chance of decorating unprotected rooms from 1/4 to 1/3.
* Made minor optimizations to the box building function.
* Added some important arguments to BaseDecorator.decorate(). Also
updated all decorators as a result of this change.
* Implemented TorchDecorator so that mazes have light sources in them.
2014-04-15 05:14:38 -04:00
SenseiKiwi f867f16d1d Fixed Maze Bug
Fixed a minor bug that affected maze decorators.
2014-04-15 01:46:39 -04:00
SenseiKiwi bce329c8fb Added Maze Decorators
Added Decorators for use in mazes. I've added several decorators but all
of them are stubs for now.
2014-04-15 01:35:14 -04:00
SenseiKiwi 81b48158bd Progress on Maze Generation
* Finished implementing link planning for mazes. Doors aren't placed yet
because that's up to Decorators and those haven't been implemented yet.
* Added bounding walls to mazes.
* Added decay effects to mazes.
2014-04-14 22:24:59 -04:00
SenseiKiwi 642db248c3 Merge remote-tracking branch 'upstream/master' 2014-04-13 16:57:40 -04:00
SenseiKiwi ffe45c729e Fixed Bugs
* Fixed bug with backup directory creation
* Fixed two doorways in SK-FractalCage that were supposed to open but
had been replaced with Eternal Fabric
2014-04-13 16:57:11 -04:00
SenseiKiwi 906faf44eb Tweaked Maze Section Generation
Tweaked maze section generation to use a random MAX_DISTANCE for
including rooms in a section. Also changed the code to perform room
removals as sections are processed rather than deferring them to the
end. Deferring removals would cause the algorithm to detect holes from
rooms that were going to be removed. This made section generation much
stricter than necessary.
2014-04-13 16:17:42 -04:00
SenseiKiwi 4dca0eb82b Updated Version
Update our version numbers
2014-04-11 21:32:36 -04:00
SenseiKiwi a2ef6ef905 Minor Change
Changed DDLogger.logger() to private to guarantee that the logger isn't
being used anywhere in DD, since that could impact performance on
servers.
2014-04-11 20:34:11 -04:00
SenseiKiwi d192dae945 Improvements to Saving
* Changed saving code to create backups by moving existing files rather
than creating copies and deleting the originals.
* Removed final call to PocketManager.save() in PocketManager.unload().
Since we no longer check if the caller is the client or server and
unload() must be called from both, this prevents clients from trying to
save pocket data locally. A final save() call wasn't needed anyway.
2014-04-11 20:33:06 -04:00
SenseiKiwi 53b5591149 Partial Implementation of Doors in Mazes
Made progress on implementing the placement of doors in mazes. Still
incomplete.
2014-04-11 19:28:05 -04:00
SenseiKiwi f92020323f Partial Implementation of Doors in Mazes
Started implementing the placement of Dimensional Doors in mazes.
Currently, a design is guaranteed to have enough space for some doors.
MazeDesigner still needs more code to plan out which rooms will have
doors and where those doors will lead.
2014-04-08 06:40:45 -04:00
SenseiKiwi 935070e436 Minor Change
Minor correction to a comment in DirectedGraph
2014-04-08 06:34:45 -04:00
SenseiKiwi 5210de2e71 Hacked PocketBuilder to Generate Mazes
Made a minor change to PocketBuilder so that mazes generate instead of
regular pocket dimensions. I'm only doing this to test dungeon
generation - it'll get switched back once mazes are ready.
2014-04-07 09:39:10 -04:00
SenseiKiwi d5e5e12cf9 Refactored Maze Generation to use RoomData
Rewrote portions of our maze generation code to use RoomData. This
provides an object that unifies all room data instead of having it
spread across various data structures and linked loosely by hash maps.
We'll need this to implement the remaining generation features.
2014-04-07 09:25:20 -04:00
SenseiKiwi 71fccfc1e4 Merge remote-tracking branch 'upstream/master' 2014-03-28 02:49:43 -04:00
SenseiKiwi 0491b55f40 Minor Change
Minor changes to comments
2014-03-28 02:31:29 -04:00
SenseiKiwi cc2def03fd Added Dirty Flag
Added a flag to NewDimData so that we can avoid writing dimensions to
disk if they haven't been modified. They're still rewritten when the
server shuts down.
2014-03-28 02:07:20 -04:00
SenseiKiwi 248ac1ecf4 Minor Change
Minor mix-up with saving a change to a comment
2014-03-26 03:32:17 -04:00
SenseiKiwi 35c5943faf Changes to EventHookContainer
* Fixed comments messed up by auto-formatting
* Minor formatting changes
* Combined two conditions in the door-placement code into an equivalent
condition
2014-03-26 03:13:07 -04:00
SenseiKiwi f682ba6a2b Fixes for Saving Process
* Switched to deleting dimension data when a dimension is removed
instead of trying to figure out which dimensions were removed later
* Fixed a bug with blacklist paths
* Rearranged saving code slightly to avoid the potential performance
impact of repeated calls to getAbsolutePath()
2014-03-26 02:12:53 -04:00
SenseiKiwi d6b07db3d6 Fixed Conflict with Witchery Mod
* Changed DDTeleporter to stop us from generating exits to Witchery's
Spirit World - this would cause people to lose their items upon leaving
the dimension.
* Changed GatewayGenerator to stop us from generating gateways or rift
clusters in the Spirit World
2014-03-23 17:18:47 -04:00
SenseiKiwi e5adb43f77 Updated How to Add Dungeons
Updated our dungeon creation guide. It was badly outdated by now.
2014-03-23 11:39:03 -04:00
SenseiKiwi da579bc23d Stopped Filling Empty Dispensers
Changed FillContainersOperation so that empty dispensers are not filled
with a stack of arrows on import. Just in case someone needs to use
empty dispensers in their design. As far as I can remember, this won't
affect any of our dungeons - arrow traps are rare. The only dungeon that
I can remember is one by Balgor and it was exported with all of its
dispensers loaded.
2014-03-23 11:38:28 -04:00
SenseiKiwi bf2f5da672 More Dungeons
* Added two exit dungeons: SK-HotSuspense and XombyCraft-RopeBridge
* Removed a duplicate copy of Cere-FloatingAltar that slipped by
2014-03-22 08:00:21 -04:00
SenseiKiwi 687bb73fae Updated SK-FractalCage
* Added a small treasure room that opens when the puzzle is solved and
made the exits in the corners slightly more apparent by placing redstone
lamps.
* Tweaked the redstone a little to correct for a brief signal cutoff.
* Tried to add fireworks that would shoot out when the puzzle was
solved, but it was too hard to secure them against theft while also
getting consistent explosions.
2014-03-20 05:31:02 -04:00
SenseiKiwi 7258ffa7dc Updated pistonFallRuins
Updated the dungeon pistonFallRuins so that it causes less extreme lag
by slowing down and spacing out the timing for the piston traps. Also
reinforced the dungeon against tampering and added lava inside each
piston drop.
2014-03-19 23:08:25 -04:00
SenseiKiwi 8ebaa0f493 Completed Subtree Searches for Dungeon Packs
Completed the implementation of searching through dungeon subtrees to
avoid duplicates in "nearby" rooms
2014-03-19 13:15:30 -04:00
SenseiKiwi 5c44ddefe9 Added Hidden Chests to Snow and Swamp Hubs
Added hidden chests as is the tradition for biome-themed pockets.
2014-03-19 11:53:33 -04:00