Commit Graph
100 Commits
Author SHA1 Message Date
SenseiKiwi 149e0319f1 Removed Exit Platforms for Safe Cases
Updated our code to stop Fabric of Reality platforms from generating
under exits all the time. Now they generate only when the supporting
blocks are replaceable (in which case they're replaced by FoR) or when
they're not opaque solids or have tile entities (then FoR generates on
top). The exit search algorithm treats replaceable non-liquid blocks as
air, so an attempt is made to build against the ground and not on top of
replaceable blocks. The area around the door is cleared of blocks to
avoid killing the player with lingering replaceable blocks that might be
harmful, like poison ivy.
2014-01-24 07:16:32 -04:00
SenseiKiwi f6a6b1d374 Merge remote-tracking branch 'upstream/master' 2014-01-22 17:12:24 -04:00
SenseiKiwi 3079e546a1 Fixed Gateway Crash (for real)
Fixed a bug in BaseGateway that would cause it to still crash servers
during world generation. The import filters must be applied before
searching for doors because GatewayBlockFilter uses Forge-provided block
IDs and not the standard export values. Also fixed a comment in
yCoordHelper that cut off strangely.
2014-01-22 17:12:06 -04:00
SenseiKiwi 8d372fadff Chunk Bug Fixes
Added chunk.setChunkModified() to other classes that were missing it. We
have several copies of setBlockDirectly() spread around that needed
updating. Also made pockets use FoR instead of glowstone. =P
2014-01-22 05:57:07 -04:00
SenseiKiwi ffa033496d Merge remote-tracking branch 'upstream/master' 2014-01-22 05:46:43 -04:00
SenseiKiwi 70795b6475 Minor Change
Added a warning on some hacky code for sending dim data.
2014-01-22 05:10:50 -04:00
SenseiKiwi 1971b97dc4 Merge remote-tracking branch 'upstream/master' 2014-01-22 04:50:51 -04:00
SenseiKiwi ce0d4f9bf9 Updated DDTeleporter
Updated DDTeleporter to have a fixed minimum chance of sending the
player to the Nether when using a dungeon exit. This also allows players
to reach the Nether without ever having been there before using a Nether
portal - that was previously impossible since DD would not "know" that
the Nether existed. Also cleaned up the code a bit and possibly fixed a
bug that would cause players to get teleported into walls.
2014-01-22 04:49:38 -04:00
SenseiKiwi 8cba2d9f6c Resolved Merge Conflict
Resolved a random merge conflict in RenderMobObelisk
2014-01-21 04:07:59 -04:00
SenseiKiwi ced9543f11 Changed Monolith Jitter
Changed Monolith jittering to use trigonometric functions for a smoother
rate of change, and also made the speed and movement easily adjustable.
Made very minor changes to MobMonolith code - just reorganizing.
2014-01-21 04:03:30 -04:00
SenseiKiwi fba62d7ab5 Minor Changes
Fixed up indentation in RenderMobObelisk and MobMonolith automatically.
2014-01-21 01:24:40 -04:00
SenseiKiwi 7a30151a8c Cleaned MobMonolith
Cleaned up the code in MobMonolith a little. Removed some unused
variables shuffled functions around.
2014-01-21 01:24:01 -04:00
SenseiKiwi 238661158e Added Config for Corium
Added a line in our config file for setting the block ID of Corium. Even
though it's only temporary code that's going to be removed later, people
need that to run our dev builds properly.
2014-01-20 02:30:11 -04:00
SenseiKiwi 81386a08e5 Merge remote-tracking branch 'upstream/master' 2014-01-20 02:04:01 -04:00
SenseiKiwi 1d44bf2983 Started Adding Heads to Grave Chests
Started adding heads to grave chests in dungeons. We currently only
spawn skeleton heads as a test.
2014-01-20 02:01:35 -04:00
SenseiKiwi b31cf9abd6 Minor Changes
Minor spacing changes to BaseDimDoor.
2014-01-20 02:00:34 -04:00
SenseiKiwi 30a9dcf2c7 Changed Rift Blade Recipe and Power
Changed Rift Blade recipe to use Stable Fabric and a Blaze Rod. Changed
its base material from Gold to Diamond, which increases attack power and
decreases enchantability a little.
2014-01-20 02:00:00 -04:00
SenseiKiwi ee1db9aa99 Updated Stabilized Rift Signature
Modified the Stabilized Rift Signature to consume Stable Fabric instead
of Ender Pearls.
2014-01-19 08:29:14 -04:00
SenseiKiwi 3b557aa88b Changed Crafting Recipes
Changed crafting recipes to always use Stabilized Fabric instead of
Ender Pearls.
2014-01-19 06:00:12 -04:00
SenseiKiwi e469d2f7dc Added Ender Pearls as Loot
Added a 30% chance of Ender Pearls appearing in grave chests.
2014-01-19 05:14:39 -04:00
SenseiKiwi 026c0b4331 Merge remote-tracking branch 'upstream/master' 2014-01-19 05:01:11 -04:00
SenseiKiwi 2ea7fe731b Update Dungeon Loot and Config Options
1. Made World Thread available as dungeon loot
2. Removed useless config options for loot that doesn't appear anymore
3. Tweaked some config names and variable names for consistency
2014-01-19 05:00:42 -04:00
SenseiKiwi 37a10e5795 Resolved Merge Conflicts Again
...
2014-01-19 01:51:21 -04:00
SenseiKiwi 15cfe6fc33 Resolved Merge Conflicts
Resolved some merge conflicts.
2014-01-19 00:20:14 -04:00
SenseiKiwi 8416d650b1 Changed ID Source in BaseGateway
Changed where we get block IDs from for GatewayBlockFilter. DDProperties
always has correct block IDs. It's only item IDs that are modified by
Forge so that DDProperties is wrong.
2014-01-14 07:32:42 -04:00
SenseiKiwi 5df79bb206 Fixed ID Mapping in DungeonSchematic
Fixed issue with DungeonSchematic not standardizing the block IDs for
transient doors.
2014-01-14 07:22:51 -04:00
SenseiKiwi 75db61e951 Minor Change
There is no resource leak!
2014-01-14 07:18:05 -04:00
SenseiKiwi 1b2a119aa7 Fixed Placement in BaseGateway
Fixed bad gateway placement in BaseGateway. Also improved code spacing a
little. This doesn't fix the block ID issue yet.
2014-01-14 06:48:33 -04:00
SenseiKiwi 76f515e207 Minor Changes
Tweaked spacing in files.
2014-01-14 06:46:42 -04:00
SenseiKiwi e45f9c389f Merge remote-tracking branch 'upstream/master' 2014-01-14 05:50:17 -04:00
SenseiKiwi a1a5c0908a Fixes for Rifts
Fixed a bug I introduced during my previous commit that caused solo
rifts to spread and rifts with neighbors not to spread. Also cleaned up
the code a bit to cut back on the number of mysterious random rolls we
were using and commented the code.
2014-01-14 05:47:26 -04:00
SenseiKiwi ad92b1c2c4 Merge remote-tracking branch 'upstream/master' 2014-01-09 18:19:18 -04:00
SenseiKiwi 997e5ffda7 Added Nether Dungeon
Added another Nether maze
2014-01-09 18:18:21 -04:00
SenseiKiwi e6090d1a5f Added Another Dungeon
Added another dungeon...
2014-01-09 10:57:12 -04:00
SenseiKiwi d479f40993 Added Dungeons
Added two new dungeons
2014-01-09 09:07:10 -04:00
SenseiKiwi a8c3dfb524 Fixed Bug in DungeonSchematic
Fixed a bug in DungeonSchematic that would cause a mysterious
NullPointerException if a dungeon schematic was missing it's entrance
door.
2014-01-06 00:08:25 -04:00
SenseiKiwi 39f6d297cd Fixed Dungeons for MC 1.6
Fixed dungeons that were broken by changes in MC 1.6
2014-01-06 00:05:15 -04:00
SenseiKiwi 25f446a05b More Rift Fixes
--Changed BlockRift to use ITileEntityProvider instead of BlockContainer
--Reorganized some of the code in TileEntityRift to improve performance
and readability
2014-01-05 02:51:18 -04:00
SenseiKiwi a5e5ea3921 Improvements to TileEntityRift
Cleaned up the code in TileEntityRift. Fixed up some spacing and changed
as many functions and fields to private as possible. Added a performance
improvement by doing the random roll for Enderman spawning before
searching for nearby Endermen.
2014-01-05 01:33:07 -04:00
SenseiKiwi ab17a959bb Minor Change to Rifts
Changed rifts to using world.destroyBlock() instead of
world.setBlockToAir(). That has the advantage of causing block
destruction animations and sound effects instead of blocks vanishing
silently.
2014-01-05 01:13:12 -04:00
SenseiKiwi cdc93317dd Fixed Indentation in TileEntityRift
Fixed indentation in TileEntityRift
2014-01-05 01:11:10 -04:00
SenseiKiwi 1211644f55 Minor Change
Changed some spacing
2014-01-05 01:08:09 -04:00
SenseiKiwi ff24ce4de6 Minor Changes
Fixed indentation and removed pointless annotations.
2014-01-05 01:06:33 -04:00
SenseiKiwi 7ebc4e6ead Resolved Merge Conflicts
Resolved merge conflicts between recent bug fixes in DungeonSchematic
and some minor additions to the code from another branch.
2014-01-04 03:36:37 -04:00
SenseiKiwi 7aeaa46a47 Merge branch 'mazes' 2014-01-04 03:22:26 -04:00
SenseiKiwi 714120f96a Merge remote-tracking branch 'upstream/master' 2014-01-04 03:21:18 -04:00
SenseiKiwi 4ebae55b17 Progress on Fixing Dungeons
Failed at fixing two dungeons for MC 1.6. I'll have to work around the
changes to block updates. >_o
2014-01-04 03:07:32 -04:00
SenseiKiwi c0dec4caa3 Fixed Small Branch Room
Fixed a simple dungeon that had a problem with an extra sandstone block.
2014-01-03 18:46:41 -04:00
SenseiKiwi d0aadd0eea Merge remote-tracking branch 'upstream/master' 2014-01-03 14:39:58 -04:00
SenseiKiwi e3f22ee4df Fixed Dungeon Weights
Made super rare dungeons appear more frequently.
2014-01-03 14:39:36 -04:00
SenseiKiwi e5da1754c5 Added Dungeon: The Nexus
Added a new dungeon.
2014-01-02 21:24:40 -04:00
SenseiKiwi 2f8292faab More Progress on Mazes
More progress on mazes. Started implementing the placement of
dimensional doors in mazes.
2014-01-01 01:39:22 -04:00
SenseiKiwi 63879b1851 Minor Change
Removed empty line
2013-12-31 15:13:29 -04:00
SenseiKiwi f779915279 Minor Change
Deleted a line with a useless annotation.
2013-12-31 02:59:44 -04:00
SenseiKiwi 5e60960661 Completed Doorway Placement
All doorways are placed sensibly now, including vertical passages
between different floors.
2013-12-30 19:59:17 -04:00
SenseiKiwi 3e33b94c98 Minor Change
Changed a comment
2013-12-30 03:29:05 -04:00
SenseiKiwi 70ae2fd407 Improved Doorway Placement
Changed MazeDesigner to prune out some unnecessary doorways at random by
removing edges from the room graph. Previous mazes allowed all side
paths to exist, which resulted in a kind of circular layout. Although
that was disorienting to people at first, if you realized it was a
circle, it became simple to navigate through the maze. This update makes
branching paths more common.
2013-12-30 03:21:42 -04:00
SenseiKiwi 3574b0468b Improved Doorway Placement
Doorways are now placed in different ways, depending on the dimensions
of the walls that they're on. This includes that large walls get two
doorways connecting to the same room.
2013-12-30 02:44:18 -04:00
SenseiKiwi 7afcfedbde Fixed Bug in MazeDesigner
Fixed a bug in MazeDesigner that would connect some rooms with duplicate
doorways. The problem was in how intersections were being tracked to
improve the efficiency of adjacency checks.
2013-12-30 02:09:31 -04:00
SenseiKiwi 27b21f6674 Fixed Bug in LinkedList
Fixed a bug in LinkedList - the size of the list never increased when
elements were added.
2013-12-30 01:22:31 -04:00
SenseiKiwi d2da74ea76 Minor Change
Adjusted the size of mazes slightly to reign in huge rooms.  If the
problem persists, we can consider other options such as dropping dungeon
sizes a little more, increasing the number of splits, or biasing the
split plane selection toward the middle of the range.
2013-12-30 00:25:08 -04:00
SenseiKiwi 3eaf6cdfb8 Organized Doorway Code
Separated the code that carves up doorways in mazes. Mostly a minor
change in preparation for giving doors smarter placements.
2013-12-29 22:35:13 -04:00
SenseiKiwi cee4005513 Reduced Floor Doorways
Added code to minimize the number of doorways that involve dropping
through the floor. Added a DisjointSet class as part of the
implementation. I also split the maze construction process into two
classes (MazeDesigner and MazeBuilder) to make it clearer.
2013-12-29 21:31:10 -04:00
SenseiKiwi 22ab4e3639 Improved Second Step
Deleted old function for removing random rooms. Fixed the occasional NPE
described in my previous commit - deferred the removal of nodes from the
graph until after iterating over their collection. Added conditions for
removing maze sections that are too small to be useful.
2013-12-29 03:11:02 -04:00
SenseiKiwi 31f0c1ca0c Completed Second Step of Maze Generation
Completed the second step of maze generation. In this step, a graph is
built that describes which rooms can be connected to each other by
doorways. A maze is created by removing nodes (rooms) from the graph.
The algorithm is incomplete, but it already produces interesting mazes
comparable to DD's hand-made mazes.

A few details for the future:
1. Doorways are currently carved into walls at default locations. This
is just for testing and placement should be improved later. Some
doorways should be removed and redundant doorways should be possible.
2. The size of a section should be assessed and the section should be
discarded if it has too few rooms.
3. An NPE occurs every so often when a maze is generated. It's possible
that it happens because of removing a node from the graph that is
coincidentally the current node for LinkedList's iterator. The solution
would be to add nodes to a list and defer removals until after the
iteration is done.
2013-12-28 22:49:11 -04:00
SenseiKiwi 81bac5d1c2 Progress on Second Step
Made some progress on the second step of our maze generation algorithm:
building an adjacency graph for setting up doorways later. Renamed the
SpatialNode class to PartitionNode to better represent its role.
2013-12-27 21:58:17 -04:00
SenseiKiwi 28cb2e5e74 Merge remote-tracking branch 'upstream/1.6.2-code' into mazes 2013-12-27 03:12:26 -04:00
SenseiKiwi a9f0bc5069 More Maze Generation
Made some changes to maze generation to prune out random rooms from the
structure. This doesn't look as nice as I'd hoped, so I'm going to try
some other approaches.
2013-12-27 03:11:59 -04:00
SenseiKiwi 82da53b992 Minor Change
Added blank lines to Point3D to space out functions. <_<
2013-12-26 15:29:42 -04:00
SenseiKiwi 820e72f17a Added First Step of Maze Generation
Added classes for generating maze dungeons. At the moment, the dungeons
are generated in place of our pocket dimensions to make testing easy.
We'll need to restore pocket generation later and integrate the mazes
into the dungeon packs later. Currently, the structures are very
incomplete (they don't even have doorways), but this is only the first
step.
2013-12-26 15:29:20 -04:00
SenseiKiwi 72196c6afd Fixed Saving Log Spam
Removed the code from PocketManager that would output messages about
saving dim data every so often since it was causing log spam.
2013-12-24 00:58:23 -04:00
SenseiKiwi 65ed1de6ee Merge remote-tracking branch 'upstream/1.6.2-code' into 1.6-fixes 2013-12-24 00:36:32 -04:00
SenseiKiwi 6d2c645ce9 Minor Changes
No changes to functionality
2013-12-24 00:36:02 -04:00
SenseiKiwi b929724781 Merge remote-tracking branch 'upstream/1.6.2-code' into 1.6-fixes 2013-12-22 19:06:12 -04:00
SenseiKiwi b6669183bc More Dungeons
More dungeons for the Ruins pack. You'll never see it coming.
2013-12-22 19:05:04 -04:00
SenseiKiwi f40f42298f Merge remote-tracking branch 'upstream/1.6.2-code' into 1.6-fixes 2013-12-22 18:39:46 -04:00
SenseiKiwi cfb370ad1f Minor Change
Removed a pointless SupressWarning annotation
2013-12-22 18:30:41 -04:00
SenseiKiwi a6048c6c29 Overhauled Loot
Changed our loot generation. Instead of relying on Minecraft's built-in
loot categories, we now have our own static loot category. There are two
types of chests now. Regular chests contain randomly-picked coal, iron,
gold, diamonds, emeralds, quartz, enchanted books, and golden apples
(very rare). We also have a function for filling out "grave chests",
which occur in 1 out of every 7 chests. Those contain rotten flesh,
bones, and some armor pieces and equipment that are assigned random
damage values and occasionally also get level 1 enchantments. Small
changes were made to various files to incorporate this update.
2013-12-22 18:30:16 -04:00
SenseiKiwi 75e103aa65 Merge remote-tracking branch 'upstream/1.6.2-code' 2013-12-20 17:28:50 -04:00
SenseiKiwi 13458029b4 Fixed ClassCastException in DungeonPack
Fixed a bug in DungeonPack that would trigger a rare ClassCastException
during dungeon selection. We were comparing instances of DungeonType
against WeightedContainer<DungeonType>. This wouldn't break dungeon
generation because DD falls back on selecting a random dungeon if
rule-based selection fails. It would allow duplicate dungeons to appear
in the same chain, though.
2013-12-20 01:10:55 -04:00
SenseiKiwi b5973f58eb Deletes IItemDimDoor
Doesn't seem like we need it... and it's in the wrong package. Respect
the packages! õ_Õ
2013-09-11 22:18:24 -04:00
SenseiKiwi a92cd2fba7 Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-11 22:15:05 -04:00
SenseiKiwi c2fa4964f8 Progress on New Save Format
Integrated the base code for our new save format. It still needs more
work but at least some substance is there. Ignore the file not found
messages that come up when trying to save the world's data - since we're
not actually writing files, an exception occurs when we some later code
tries to move non-existent save files.

Also moved the FileFilter functionality out of DungeonHelper and into
its own class, FileFilters, since it's finally needed more broadly.
2013-09-11 22:13:42 -04:00
SenseiKiwi 1d3038288b Minor Fix in BlockDimWall
Fixed an issue that skyboy had pointed out long ago about us using
ItemBlock.itemID as a block ID instead of ItemBlock.getBlockID(). That's
potentially hazardous because that function was introduced specifically
so mods could override it and decouple item IDs from block IDs.
2013-09-11 02:30:31 -04:00
SenseiKiwi 6f905050f2 Minor Change
Removed unused import
2013-09-11 01:21:12 -04:00
SenseiKiwi b73e79e5c2 Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-10 15:51:00 -04:00
SenseiKiwi 687e66e23f Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-10 15:49:06 -04:00
SenseiKiwi b9edf3326d Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-09 20:36:48 -04:00
SenseiKiwi 51e396aa6b Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-09 03:58:34 -04:00
SenseiKiwi 498e087d0a Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-09 02:31:42 -04:00
SenseiKiwi 027b329af8 Completed Unsafe Exit Teleportation
Completed the code in yCoordHelper for choosing a point to drop the
player when using a Transdimensional Trapdoor. Made changes to
DDTeleporter so that the player can be dropped at the specific point we
want. This needs further testing, though, since I'm not completely sure
it's working right.
2013-09-09 02:31:11 -04:00
SenseiKiwi 7dbc6896b1 Minor Fixes
Cleaned up obsolete code in PocketProvider and fixed the assignment of
hasNoSky so that it actually applies. Also overloaded getActualHeight()
so that we return 256 despite hasNoSky = true - the default MC behavior
is that we would return 128 in that case. Also undid a previous change
to EventHookContainer - players that die in pockets will respawn in
Limbo, again.
2013-09-09 00:42:03 -04:00
SenseiKiwi 9fec41f906 Minor Change
Renamed IDimDoor.placeDimDoor() to placeLink(), since that's what it's
actually being used for in our doors. Saying it places the door itself
is confusing.
2013-09-08 21:05:06 -04:00
SenseiKiwi 156c61a772 Improved DDTeleporter
Made a minor change to DDTeleporter - added a flag so that we can
specify that entities must be teleported to the destination without
trying to shift them around based on destination orientation. This is
important for the trapdoor, since otherwise entities might get shoved
into walls. Also cleaned up some code in DDTeleporter. It's much more
readable now. These changes are in preparation for completing Trans
Trapdoor destination selection.
2013-09-08 21:01:38 -04:00
SenseiKiwi fc6dd63573 Minor Change
Renamed TransTrapdoor.isTrapdoorOnBlock() to
TransTrapdoor.isTrapdoorSetLow() so it would be easier to understand
what it indicates.
2013-09-08 16:48:16 -04:00
SenseiKiwi 4501e9373f Finished Merging Changes to Trapdoor
Merged together the different changes we had made to Transdimensional
Trapdoors. Cleaned up the rendering and tile entity code a bit, it
should be a little more understandable now.
2013-09-08 16:45:28 -04:00
SenseiKiwi de5ef3b85f Renamed TileEntityDimHatch
Renamed TileEntityDimHatch to TileEntityTransTrapdoor. That matches the
name of the item we use in other parts of DD's code.
2013-09-08 15:31:17 -04:00
SenseiKiwi 37b0510676 Partially Improved Unsafe Exits
Partially completed the code for unsafe exits (used for trapdoors) so
that they drop players into air pockets. It's not complete yet, but I
want to merge in other changes before continuing.
2013-09-08 15:23:14 -04:00
SenseiKiwi 72213de437 Minor Change
Removed unused import in TransTrapdoor
2013-09-08 15:22:19 -04:00
SenseiKiwi 672c19b032 Improved Dim Door Collision Detection
Improved our code for checking whether an entity in contact with a door
should be teleported. Now the check works better, works for Minecarts,
and is more readable. It also ignores particle effect entities.
2013-09-08 15:22:03 -04:00