Commit graph

542 commits

Author SHA1 Message Date
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
SenseiKiwi
44b39be7b7 Modified RiftFX Classes
Modifed the RiftFX classes so that their particles have noClip = true.
This avoids rifts spamming the collision events of other blocks,
including dimensional doors, and it should improve the performance of DD
a little.
2013-09-08 15:18:48 -04:00
StevenRS11
8dc47e8bef Added rendering effect to dimHatch 2013-09-08 02:49:36 -04:00
SenseiKiwi
f83841a142 Fixed Transdimensional Trapdoor
Got the Transdimensional Trapdoor working again. Renamed the file to
TransTrapdoor and trimmed off unnecessary code - BlockTrapDoor
implements a lot of the necessary logic. Implemented IDimDoor for
clarity.
2013-09-07 23:27:07 -04:00
SenseiKiwi
7280b54c47 Updated BlockRotator
Updated BlockRotator to check if a block is an instance of DoorBlock
instead of checking for BaseDimDoor - since we changed BaseDimDoor to
derive from DoorBlock, the latter check is no longer needed.
2013-09-07 22:16:47 -04:00
SenseiKiwi
fb59a3dacb Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-07 22:05:11 -04:00
SenseiKiwi
b5d4df8f6a Updated LimboDecay
Updated LimboDecay to not affect certain blocks from DD. This matters in
case we decide to start placing gateways in Limbo again.
2013-09-07 21:35:15 -04:00
SenseiKiwi
703ec03d29 Stopped Cluster/Gateway Generation in The End
Added a condition preventing rift clusters and gateways from generating
in The End. It's not really useful to do that right now and could
actually cause some annoying side-effects.
2013-09-07 21:25:38 -04:00
SenseiKiwi
a0f9dfff4a Merge remote-tracking branch 'upstream/master' into rewrite 2013-09-07 20:23:53 -04:00
StevenRS11
665bcb3a0b Merge branch 'DevBranch' of https://github.com/StevenRS11/DimDoors into DevBranch 2013-09-07 20:22:11 -04:00
StevenRS11
3a63f8965b Merge pull request #86 from SenseiKiwi/rewrite
Progress on Rewrite
2013-09-07 17:22:03 -07:00
StevenRS11
87343b45ee Doors are finally doors, not chests! 2013-09-07 20:20:29 -04:00
SenseiKiwi
1d1d0a767c Fixed Doors and Minor Dungeon Change
Fixed the regression bug that caused some of our doors to get placed in
the wrong direction. Changing doors to inherit from BaseDimDoor caused
BlockRotator to assume they weren't dimensional doors because it used
"instanceof DimensionalDoor" to check. Thanks for figuring it out,
Steven! ^_^

Also made a minor change to dungeon generation. We now check the game
rule doMobSpawning and don't spawn Monoliths from DungeonSchematic if
the value is false. This is useful for testing without Monoliths around.
We still do work to remove the portal frame blocks even if the mobs
aren't spawned.
2013-09-07 20:14:14 -04:00
SenseiKiwi
921b6e88af Removed Rift Creation and Unused Settings
Removed the rift creation code from the Rift Blade and removed unused
settings from DDProperties. Specifically, the rift creation flag for the
Rift Blade, since that's getting removed, and the RiftSpreadModified,
which hasn't been referenced for a while.

I also cleaned up the code in Rift Blade slightly. Its special functions
worked during testing but blocking did not. I'm not sure why at the
moment.
2013-09-07 19:44:33 -04:00
SenseiKiwi
fd4b9b5086 Fixed Regression in DungeonSchematic
As part of the rewrite, I'd removed code related to replacing the
sandstone markers under dungeon exit doors, so the markers weren't being
replaced. Now that's working again.
2013-09-07 13:14:43 -04:00
SenseiKiwi
07a5e2a64d Progress on Rewrite
Completed exit door code. Also fixed noise calculation for dungeon door
destinations - we were attempting to use pack depth in the calculation
before it had been initialized.
2013-09-07 12:27:28 -04:00
SenseiKiwi
06c90572f1 Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-07 05:12:30 -04:00
SenseiKiwi
25d3931210 Improved DDLoot
Fixed an issue with DDLoot where we couldn't distinguish between items
with the same ID but different subtypes while merging loot categories.
For instance, we could not include two different colors of dye in our
loot because their item IDs matched. We can now tell them apart properly
and include both items.
2013-09-07 05:12:07 -04:00
StevenRS11
26d4287b49 Merge pull request #85 from SenseiKiwi/rewrite
Partially Fixed Exit Doors
2013-09-06 22:01:58 -07:00
StevenRS11
2ce8dbff7b Merge branch 'DevBranch' of https://github.com/StevenRS11/DimDoors into DevBranch 2013-09-07 00:41:53 -04:00
StevenRS11
ac8c13f81c Removed door re-write for now 2013-09-07 00:41:45 -04:00
SenseiKiwi
bac3caa5cc Minor Changes
Changed EventHookContainer.LivingDeathEvent() to use the player's max
health instead of a fixed health value. No magic numbers! Also cleaned
up the code a little.
2013-09-06 22:14:27 -04:00
SenseiKiwi
a0454351d5 Cleaned Up Code
Deleted PlayerRespawnTracker and removed all references to it - we
weren't going to use it anymore anyway. Renamed IDDoorLogic to IDimDoor
- abbreviating the "Dim" as D next to the standard I for Interface is
confusing. Renamed DDoorBase to BaseDimDoor and made it into an abstract
class - that's effectively what it was supposed to be. We should be
declaring methods as abstract rather than using empty ones. I renamed
the class because the convention for naming abstract classes is to start
the name with Base. Cleaned up code in other files.
2013-09-06 20:57:00 -04:00
SenseiKiwi
f2ff5f79cc Merge remote-tracking branch 'upstream/DevBranch' into rewrite 2013-09-06 18:41:20 -04:00
SenseiKiwi
c57b001fe2 Partially Fixed Exit Doors
Added code so that exit doors will search for a destination and place a
platform for the player on the other side. However, the search function
only searches upward, not downward. I'd like to discuss some details
about this before completing the implementation:
1. How should the search work?
2. What should be the likelihood of a dungeon exit leading to a
different root dimension than the dungeon's actual root?

I've tested the exits and they're working well.
2013-09-06 18:40:43 -04:00
StevenRS11
9587f914c2 Respect keepLimboInventory config 2013-09-06 15:43:22 -04:00
StevenRS11
cff13e9bb5 Changed limbo trips to never kill the player
Solves the player not getting inventory back, especially for special
slots.
2013-09-06 15:36:12 -04:00
StevenRS11
6512327ee8 Cleaned up door code
More to come, but this helps a little. Should make changing dim door
behavior much easier.
2013-09-06 02:07:47 -04:00
StevenRS11
23efc90765 Merge pull request #84 from SenseiKiwi/rewrite
Rewrite Continued
2013-09-05 19:57:33 -07:00
SenseiKiwi
b795c411be Added Support for Missing Link Types
Added functions for generating destinations for some link types that we
hadn't included yet - player-made exits, trapdoors, and dungeon exits.
The player-made and dungeon exits still don't generate anything, but
there's a single function where we can write up the code:
DDTeleporter.generateSafeExit(). Also added some simple code for listing
root dimensions in PocketManager. None of this has been tested yet!
2013-09-05 22:43:11 -04:00
SenseiKiwi
03660699cf Minor Changes
Cleaned up our code related to initializing dimensions. Removed
redundant instances of that code and instead created a function:
PocketManager.loadDimension() - to centralize all uses of that logic.
Added LinkTypes.REVERSE to represent links leading back out of pockets
through their entrances. That distinction might prove critical in the
future when we support resetting dungeons.
2013-09-05 21:03:11 -04:00
SenseiKiwi
3ce380ad5e Fixed Unstable Doors
Added code so that the links for Unstable Doors are handled properly by
DDTeleporter. Hurray! Also cleaned up some unused imports in the
BiomeGen classes and removed the RANDOM_DUNGEON link type - it was meant
for the dd-rift command but there is no need for it anymore.
2013-09-05 18:13:05 -04:00
SenseiKiwi
1dfa5817bf Moved DDTeleporter
Moved DDTeleporter to the mod_pocketDim.core package. It seemed
reasonable given that DDTeleporter is closely tied to how Dimensional
Doors works. It controls the most critical feature for all items -
teleportation - and handles routing requests to initialize link
destinations.
2013-09-05 16:31:32 -04:00
SenseiKiwi
64cc95f92b Deleted DimUpdatePacket
Deleted DimUpdatePacket since it's not used for anything and the file is
essentially empty.
2013-09-05 16:24:01 -04:00
SenseiKiwi
a82c7ce4c2 Minor Changes
Made minor changes to ItemRiftBlade to clarify our code. Had to update
mod_pocketDim to use ItemRiftBlade's new constructor after changing it
slightly.
2013-09-05 16:19:05 -04:00
SenseiKiwi
1138f6733e Cleaned Up Code
Changed calls to canPlayerEdit() to pass hit.sideHit data with the
request. Also renamed several variables to make the code clearer.
Removed a custom implementation of the ray tracing call in BaseItemDoor
- we can use the built-in call from Minecraft there.
2013-09-05 11:36:59 -04:00
SenseiKiwi
22b7ed147a Fixed Bug in PocketManager
Fixed a bug in PocketManager - I had forgotten to raise the dimension
creation event when needed.
2013-09-05 11:13:14 -04:00
SenseiKiwi
6a816bbca7 Minor Change
Removed a debug message from the Rift Remover.
2013-09-05 11:04:48 -04:00
SenseiKiwi
b4cb8f8610 Fixed Rift Remover
Fixed the Rift Remover item.
2013-09-05 02:12:59 -04:00
StevenRS11
ebb92f8f84 Merge pull request #83 from SenseiKiwi/rewrite
Fixed Various Bugs
2013-09-04 22:48:01 -07:00
SenseiKiwi
e8e0cdf8ad Minor Changes
Made minor changes to LinkTypes for clarity. Removed removeRift() from
PocketManager since it wasn't used by anything and because it shouldn't
contain rift removal code anyway.
2013-09-05 00:15:48 -04:00
SenseiKiwi
fa33fa95c8 Fixed Rift Signatures
Fixed Rift Signatures and Stabilized Rift Signatures. A few unexpected
MC-related issues were preventing them from working properly. Also fixed
a typo that caused us to place rift blocks at the wrong coordinates with
respect to the rift sig endpoints. Autocorrected the indentation on both
source files for aesthetics.
2013-09-04 19:26:59 -04:00
SenseiKiwi
8d5a3ac72e Fixed More Bugs
Fixed how the door in a pocket is placed so that it doesn't break and so
that it's placed facing into the pocket. Also added code to make that
door link back to the parent dimension - forgot that before!
2013-09-04 16:06:54 -04:00
SenseiKiwi
70eb276086 Fixed More Bugs
Fixed a similar bug in DDTeleporter and PocketBuilder that caused things
to be oriented wrong. Specifically, teleporting would orient the player
wrong relative to the destination door and pockets would be oriented
wrong relative to their parents. Teleporting works properly now.
2013-09-04 14:29:53 -04:00
SenseiKiwi
b3847a62b7 Fixed More Bugs
1. Fixed mistakes in PocketBuilder that would cause dungeons to be
initialized as non-dungeon pockets. This restored Monolith spawning
around dungeons.
2. Fixed a bug in DungeonSchematic - returning links through entry doors
should work now.
3. Made minor changes to DungeonSchematic for clarity
2013-09-04 13:48:54 -04:00