Commit graph

984 commits

Author SHA1 Message Date
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
StevenRS11
41b77c639c Fixed Door on rifts 2014-03-28 00:39:27 -04:00
StevenRS11
1de34d1c2d Merge pull request #147 from SenseiKiwi/master
Fixes to Saving and EventHookContainer
2014-03-26 23:20:48 -04:00
StevenRS11
19bc9eec99 I HATE YOU GITHUB 2014-03-26 23:19:56 -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
StevenRS11
3a292d7eac Fixed all doors being placed as dim doors 2014-03-26 01:31:11 -04:00
StevenRS11
9914666639 Changes
Made saving a bit more robust, now we only delete ones that where not
modified. Also overhauled door placement, its all handled by the
eventHandler now.
2014-03-26 01:31:11 -04:00
StevenRS11
76e9fce9d4 Fixed all doors being placed as dim doors 2014-03-24 21:09:21 -04:00
StevenRS11
42f0656b1b Changes
Made saving a bit more robust, now we only delete ones that where not
modified. Also overhauled door placement, its all handled by the
eventHandler now.
2014-03-24 20:58:36 -04:00
StevenRS11
12e0fee70a Merge pull request #144 from SenseiKiwi/master
Various Updates
2014-03-24 14:45:47 -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
SenseiKiwi
4fecf092a3 Changed Default Provider and Biome IDs
XombyCraft has been kind enough to research which provider and biome IDs
are used by major mods. He found some ranges of free IDs and suggested
changing our defaults to sidestep conflicts with Biomes o' Plenty.
2014-03-19 07:46:21 -04:00
SenseiKiwi
ac8874f96a Fixed Crash with ChickenChunks
Fixed a nasty crash to desktop. It happens when ChickenChunks is
installed and a new world is generated with HardcoreLimboEnabled = true.
It appears that ChickenChunks forces a chunk to generate in Limbo if
LimboProvider.canRespawnHere() = true, which is the case if hardcore
Limbo is enabled. Our Monolith and gateway generation code runs as a
tick handler instead of through standard world gen calls. I believe
Limbo is unloaded immediately after the chunks are generated because no
players are around. That would cause DimensionManager to return null for
Limbo because it's not loaded, which would crash our code. We probably
dealt with this for Monoliths by adding a check. Now it happened again
because we didn't take precautions while calling the gateway generation
method. I've added code to forcefully load Limbo if it's not loaded.
2014-03-19 07:43:05 -04:00
SenseiKiwi
484a44a063 Minor Change to LimboProvider
Changed the condition on LimboProvider.canRespawnHere() so that players
can respawn in Limbo even if LimboEnabled is false. LimboEnabled only
controls whether players are sent to Limbo when they die in a pocket. It
does not prevent players from ending up in Limbo because of Monoliths.
If Hardcore Limbo is enabled, it stands to reason that people should be
respawning in Limbo anyway.
2014-03-19 07:04:46 -04:00
SenseiKiwi
ddcb0ff42e Added Dungeons to Ruins
* Added three of Balgor0's dungeons to the Ruins pack
* Made aesthetic and functional improvements to the dungeons
2014-03-19 00:27:26 -04:00
SenseiKiwi
3d8a9aaf27 Removed Balgor Pack
After finally getting the dungeons to load, I've determined that only
half of the rooms should be included. The three remaining rooms should
definitely stay. That's not much for a pack so I'm going to make some
modifications to the schematics and include them as part of Ruins.
2014-03-18 20:30:09 -04:00
SenseiKiwi
300228ea24 Fixed Limbo Gateways (again)
Forgot to add the line for creating the dungeon link. Done and tested.
2014-03-18 05:01:09 -04:00
SenseiKiwi
c980c797e8 Fixed Limbo Gateways and Minor Change
* Fixed Limbo gateways. I accidentally broke them while overhauling
gateways in general.
* Changed references to BaseItemDoor.placeDoorBlock() to use
ItemDoor.placeDoorBlock() instead. We should refer to the original class
that implements the function.
2014-03-18 04:56:07 -04:00
SenseiKiwi
b1b1035b5f Integrated Balgor Pack and Fixed Bugs
* Set up the necessary code in DungeonHelper so that Balgor is
registered along with the other bundled packs.
* Improved the code for registering bundled packs to reduce the number
of paths we need to hardcode and to crash DD if a pack fails to load. A
crash would be inevitable no matter what since bundled packs are
integral to DD.
* Corrected an invalid generation rule for Balgor. It's set to select
random dungeons infinitely for now. I'll add an exit room later and
change the rule to force an exit. Balgor is still unusable until its
schematics get proper doors.
* Fixed PocketBuilder to actually check the results of validating
schematics before we try to build them. This was causing cryptic error
messages when flawed schematics were loaded (e.g. rooms without proper
doors) and could have caused serious problems during dungeon
regeneration. Don't ignore validation!
2014-03-17 19:03:32 -04:00
SenseiKiwi
f8982a871d Minor Change
Removed a misleading comment from the rules.txt for Balgor
2014-03-17 08:57:31 -04:00
SenseiKiwi
a92b07d976 Overhauled Gateway Code
* Split off schematic-related functionality into BaseSchematicGateway.
* Moved the default implementations of many methods to the base classes
because having a bunch of duplicate stubs all over the place was a
waste.
* Removed methods that were redundant or weren't being used for
anything.
* Added support for importing schematics while ignoring air blocks
through IBlockSetter - now our gateways are copied in without air by
default.
* Fixed bugs that would have prevented the sandstone gateway from
generating.
* Removed the code in generate() that would cause dungeon
pre-generation. We should solve this by attaching data to links instead
and it's not a feature that we're even using right now (everything uses
the default pack).
* Fully documented our functions - it's so beautiful...
2014-03-17 06:34:02 -04:00
SenseiKiwi
f4b619635e Rearranged dd-rift Workflow
Changed dd-rift and dd-random so that rifts are only placed after a
dungeon is generated successfully. We also delete the link if generation
fails to clean up after ourselves. Also changed
PocketBuilder.generateSelectedDungeonPocket() so that its checks are
stricter and we validate dungeons before allocating a dimension.

This resolves one of our old issues: "Rearrange workflow in dd-rift to
prevent rifts from being created if no dungeon gets loaded and to
prevent dimension registration if the dimension cannot be populated"
2014-03-17 03:04:06 -04:00
SenseiKiwi
3966f420db Improvements to Dungeon Selection
Changed the code for dungeon selection in various classes so that rather
than allocating and passing around the dimension where the dungeon will
be generated, we instead pass around the parent dimension. This
simplifies our code and moves us toward avoiding stray dims when dungeon
selection fails and to solving the dungeon pre-generation problem with
gateways.
2014-03-17 02:37:57 -04:00
SenseiKiwi
151f1a93a5 Fixed Tooltip for ItemStabilizedRiftSignature
Fixed the tooltip for the Stabilized Rift Signature - it was a copy of
the Rift Signature's tooltip.
2014-03-16 22:55:26 -04:00
SenseiKiwi
1e5e8dcf2b Added Subtree Searches for Dungeon Packs
Added a new setting to dungeon pack configs called
"DuplicateSearchLevels", which allows us to configure how many levels up
of the dungeon tree should be checked to avoid duplicating rooms used in
that subtree. In other words, it lets us avoid repeating rooms used in
neighboring branches of the dungeon. The setting has been added but it's
not fully supported yet - some additional code is needed in
DungeonHelper and it's not trivial to implement. I took a break because
doing it wrong could break dungeon selection.
2014-03-16 22:44:13 -04:00
SenseiKiwi
188ec6d68b Minor Change
Minor name change
2014-03-16 10:08:37 -04:00
SenseiKiwi
cfd48e796a Added Settings and Minor Preemptive Fix
Added a setting to DDProperties for controlling the max distance that
players can be moved randomly when they're sent to Limbo. We previously
had a setting for the same except for leaving Limbo. Cleaned up some of
the related code a little. Added another setting for the chance of rifts
dropping World Thread on block destruction. Also fixed a potential NPE
in EventHookContainer that could arise theoretically arise if a
non-Vanilla door was attached to a rift.
2014-03-16 10:01:35 -04:00
SenseiKiwi
84eee1b155 Added More Dungeons
Added Cere-JumpPass, Cere-TransferTunnel, Cere-GreatHall,
SK-WatchedForkLeft, and SK-WatchedForkRight. Made a minor change to
SK-RaceTheLight.
2014-03-16 04:13:20 -04:00
SenseiKiwi
4f2f86535b Minor Changes
Cleaned up the code for placing Vanilla doors on rifts in
EventHookContainer. Unfortunately, there's a section that I don't
understand and that I feel has a bug. Remember that comments are very
helpful.
2014-03-15 03:54:41 -04:00
SenseiKiwi
d06ca4843c Merge remote-tracking branch 'upstream/master' 2014-03-15 03:26:50 -04:00
SenseiKiwi
d1a2476a4e Quick Fix for Limbo Music Crash
The following small change deals with a strange background-music-related
crash. Wasn't this issue fixed for Jaitsu and Aether II? I'm not sure
what's the cause but I've added a check to prevent the NPE. Please deal
with this most robustly in the future.
2014-03-14 17:22:55 -04:00
StevenRS11
befef486c6 Merge pull request #143 from SenseiKiwi/master
Various Updates
2014-03-14 14:30:44 -05:00
SenseiKiwi
7e8fe10c7d Split dd-rift into Separate Commands
Split dd-rift into dd-rift, dd-random, and dd-list
2014-03-14 08:35:44 -04:00
SenseiKiwi
cc46d90ed4 Updated Rift Blade Code
Removed duplicate code from ItemRiftBlade. It was code that duplicated
the functionality of ItemSword since ItemRiftBlade didn't extend
ItemSword originally. Also updated the tooltip text to remove mentions
of the old door-rotating ability. That's not provided anymore since
doors are easily broken and replaced now. Extended teleport range
slightly.
2014-03-14 07:07:35 -04:00
SenseiKiwi
7a043dfa65 Added Crash on Provider ID Conflict
Added a check so that Dimensional Doors crashes if another registers our
provider IDs. This will show people that something needs fixing instead
of us risking strange bugs.
2014-03-14 06:41:42 -04:00
SenseiKiwi
941cecb372 Tweaks to Loot
Set loot chests to generate 6 stacks of items instead of 5 stacks.
Increased the maximum amount of World Thread per stack from 8 to 12
threads. Increased the chance of encountering a grave chest to 1 in 6
instead of 1 in 7.
2014-03-13 05:58:02 -04:00
SenseiKiwi
01fe9cc87e Added Config Setting for Limbo Escape
Added a configuration option for toggling whether players can teleport
out of Limbo by walking over Eternal Fabric. This became viable after
Rift Gateways began generating in Limbo again. Keybounce has expressed
an interest in using option to deal with the issue of players returning
home since his Overworld won't have gateways.
2014-03-13 05:47:04 -04:00
SenseiKiwi
f40e1e0a91 Change to Dungeon Exits Chances
Changed dungeon exits so that they have a minimum 15% chance of exiting
to the Overworld if a dungeon's root dimension isn't the Overworld. Also
made a minor change to the existing special case for the Nether - the
minimum 20% chance only applies if the root dimension isn't the Nether.
2014-03-13 05:43:26 -04:00
SenseiKiwi
f1eff42a33 Improvements to Crafting Recipes
Added a configuration option for adjusting the number of World Threads
needed to create one Stable Fabric. A few users have asked for this to
be available. The default setting is our usual 8 thread for each fabric.
Also overhauled our recipes to remove blank item slots, allowing them to
be crafted on any line of the grid, as long as all the items are aligned
properly.
2014-03-12 10:27:32 -04:00
SenseiKiwi
3a91d9a6ec Minor Adjustments to Rift Spread
Made a small correction to the condition on max ancestors. Also
thoroughly tested this code to ensure that it really does limit rift
spread. Currently, 2 initial rifts will cause 4 more rifts to be created
eventually.
2014-03-12 07:05:23 -04:00