Commit graph

1120 commits

Author SHA1 Message Date
SenseiKiwi
4b5870339b Removed Obsolete Code from PocketManager
Removed obsolete code from PocketManager. Much of that functionality has
already been reimplemented in other classes.
2013-08-31 16:30:41 -04:00
SenseiKiwi
f34b06b834 More Progress on Rewrite
More cleaning up errors and code. There were a lot of things that needed
simplifying. Rather than fix the 3 or 5 copies of the same function
throughout the code, I made an effort to use the same function and
delete its copies.

Created the BaseItemDoor class to hold all the basic door item methods
that don't vary between types. That helped cut down on fixing things.
Also renamed the door item classes to match their in-game  names.

There is still a ton of duplicate code out there.
2013-08-31 16:00:18 -04:00
SenseiKiwi
d9056e551f More Progress on Rewrite
Continued fixing things across various classes to make them work with
our new core classes. I've also cleaned up indentation and random code
snippets along the way.
2013-08-31 12:58:35 -04:00
SenseiKiwi
5cabd3762e More Progress on Rewrite
Continued fixing things across various classes to make them work with
our new core classes.
2013-08-31 07:39:52 -04:00
SenseiKiwi
9930068775 Fixed PocketBuilder and More
1. Changed DungeonSchematic to use an external instance of Random rather
than initializing its own.
2. Created the Pair class, a strongly-typed tuple that was needed in
PocketBuilder.
3. Added a missing calculation in NewDimData for setting the packDepth
field during dungeon initialization.
4. Finished code missing in PocketBuilder. Changes listed above were
needed for this.
2013-08-30 16:27:27 -04:00
SenseiKiwi
8e8346864e Fixed DungeonSchematic
Modified DungeonSchematic to use the new link and dimension classes.
2013-08-30 10:57:08 -04:00
StevenRS11
42098e50b6 Merge pull request #77 from SenseiKiwi/rewrite
Flipped a Table
2013-08-28 23:28:59 -07:00
StevenRS11
c17583820c Merge pull request #75 from SenseiKiwi/master
Minor Fixes to Old Dungeons
2013-08-28 23:18:15 -07:00
SenseiKiwi
934dcfde3d Flipped a Table
Replaced several core classes from DD with new classes to enforce
integrity checks. Rewriting everything that depended on those classes is
a massive undertaking but it should simplify our code and prevent the
many bugs we've seen lately. The rewrite isn't done yet, just committing
my progress so far.
2013-08-29 02:14:24 -04:00
SenseiKiwi
050bdd1090 Merging Changes to Master
Merging recent changes to master.
2013-08-26 02:11:24 -04:00
SenseiKiwi
30b8e98ad8 Minor Fixes to Old Dungeons
Fixed the two blocks sticking out in the multilevel maze that made a
staircase unusable. Put a floor in simpleDropHall so it's actually
usable rather than killing the player.
2013-08-26 01:59:37 -04:00
StevenRS11
928b7d4cba Merge pull request #74 from SenseiKiwi/master
Improved Dungeon Loot and Selection
2013-08-24 10:45:39 -07:00
SenseiKiwi
02b96c0c05 Improved Dungeon Loot and Selection
DDLoot: Implemented a custom version of MC's generateChestContents() for
our own chests. It avoids two notable bugs that affect MC's version.

FillContainersOperation: Changed code to use
DDLoot.generateChestContents()

SchematicLoader: Fixed a bug in the way we calculated a seed for
selecting our dungeons that would cause certain seeds to dominate all
the others. Under certain circumstances, the function would only return
-1. That would make our dungeon selection severely biased. That was
resolved and the code was specifically tuned for seeding Java's Random
even for doors with nearly identical positions. The result was an
apparent major improvement in the randomness of dungeons.

ruins\rules.txt: Changed the dungeon generation rules to precisely match
the complicated scheme we had before. We're still using simple rules to
choose dungeons - I used a program to derive the effective distribution
of dungeon types that the old code would produce and converted it into
the current rule system.
2013-08-24 07:52:35 -04:00
SenseiKiwi
dd9b1f0c65 Started Rewriting LinkData
Created NewLinkData and replaced references to the original LinkData.
Moved it to the mod_pocketDim.core package. Added Point4D, an immutable
point type for 3D integer coordinates with an added dimension ID.
2013-08-23 04:12:56 -04:00
StevenRS11
a1a9e39caa Minor fixes
Rift placement with /dd-rift is fixed
Signs rotate properly
consistent behavior for wooden dim doors in pockets and dungeons
2013-08-23 01:30:24 -04:00
StevenRS11
3e3bd95844 Merge pull request #73 from SenseiKiwi/master
Fixed Config Loading Bug
2013-08-22 19:58:55 -07:00
SenseiKiwi
2b1d80f9f9 Fixed Config Loading Bug
Fixed a problem that caused bundled configs to not load sometimes.
2013-08-22 22:57:26 -04:00
StevenRS11
db3351441d Merge branch 'master' of https://github.com/StevenRS11/DimDoors 2013-08-22 22:10:16 -04:00
StevenRS11
643785022a reverted rift rendering
sadface
2013-08-22 22:10:10 -04:00
StevenRS11
45d61e3aa2 Merge pull request #71 from SenseiKiwi/master
Completed Implementation of Dungeon Packs
2013-08-22 18:22:08 -07:00
SenseiKiwi
35e97b03e2 Merge remote-tracking branch 'upstream/master' 2013-08-22 17:43:25 -04:00
StevenRS11
eaab6d6b83 Merge branch 'master' of https://github.com/StevenRS11/DimDoors 2013-08-22 16:11:53 -04:00
StevenRS11
879f3a1eaf Render fix 2013-08-22 16:11:49 -04:00
SenseiKiwi
ddf94334e0 Merged Changes
Merged all pending updates and changes into the master branch.
2013-08-22 16:09:42 -04:00
StevenRS11
758f5e5062 Fixed a few bugs, more rendering changes 2013-08-22 16:04:08 -04:00
StevenRS11
ef661bf103 Merge pull request #70 from SenseiKiwi/master
Natalie's NEI-breaking bug fix
2013-08-22 12:57:14 -07:00
SenseiKiwi
db98086096 Merge branch 'master' of https://github.com/SenseiKiwi/DimDoors 2013-08-22 02:47:27 -04:00
SenseiKiwi
939ed771a8 Completed Dungeon Pack Implementation
Added code so that the mod loads dungeon packs stored in the custom
dungeons folder. Changed the code for loading bundled dungeons so that
they're loaded as dungeon packs. This means dungeon packs are now fully
integrated into the mod. The changes were tested and seem to be working
perfectly.
2013-08-22 02:25:26 -04:00
StevenRS11
c7ddff97b2 Rift rendering work
Not sure if I want to keep working at this or not
2013-08-21 22:13:59 -04:00
SenseiKiwi
f1bfac3e16 Minor Change
Moved the getDimDungeonPack() function from SchematicLoader to
DungeonHelper so that DungeonHelper.RuinsPack could be a private
variable.
2013-08-21 14:49:41 -04:00
SenseiKiwi
0e67596ca0 Progress on Implementing Dungeon Packs
1. Integrated support for dungeon pack config options into the code
(i.e. we actually DO what the settings specify)
2. Added random transitions from one dungeon type to another. Dungeons
might also begin with a non-default pack.
3. Fixed a config reading bug that caused settings to be ignored and
some invalid settings wouldn't trigger exceptions. Also fixed other
dungeon pack bugs.
2013-08-21 14:26:10 -04:00
StevenRS11
2e833b55c3 rift rendering work
Getting closer- still need to sync client and server
2013-08-21 01:10:28 -04:00
SenseiKiwi
74c1bc4cf4 Merge pull request #1 from GreyMario/patch-1
Fixed the NEI breaking bug.
------------------
Thank you!
2013-08-20 19:36:58 -07:00
StevenRS11
69e32aa1fb Merge branch 'master' of https://github.com/StevenRS11/DimDoors 2013-08-20 21:43:38 -04:00
StevenRS11
d9a9091a2b changes to RiftRender 2013-08-20 21:43:33 -04:00
StevenRS11
8c0c89c79e Merge pull request #69 from SenseiKiwi/DungeonPacks
Progress on Implementing Dungeon Packs
2013-08-20 18:20:59 -07:00
SenseiKiwi
99d9b5a2a1 Merge branch 'master' into DungeonPacks 2013-08-20 18:57:12 -04:00
SenseiKiwi
4487168b0b Merge remote-tracking branch 'upstream/master' into DungeonPacks 2013-08-20 18:56:58 -04:00
SenseiKiwi
4d1503db3f Minor Change
Minor change - fixing spacing that was messed up by Eclipse.
2013-08-20 18:55:26 -04:00
SenseiKiwi
acab06115a Progress on Implementing Dungeon Packs
Added code for parsing dungeon pack config files. The settings for our
built-in dungeons are now read from a file instead of being hardcoded.
One or two settings aren't being accessed yet and we still don't search
for other dungeon packs in the custom dungeon folder.  That'll come in
another commit.
2013-08-20 18:54:30 -04:00
GreyMario
0deb4b8917 dimHelper: changed teleportEntity to public
This enables use in BlockDimWallPerm for escaping Limbo quickly.
2013-08-18 14:14:36 -07:00
GreyMario
740ba51a04 BlockDimWallPerm: Sped up transition from Limbo to Overworld
Hijacking teleportEntity seems to make this faster.
2013-08-18 14:13:23 -07:00
GreyMario
40310688ed yCoordhelper: added top-down search (may be redundant)
This is used for the code that determines where to come out of Limbo in. It tries to search from the top down to find a solid block to stand on. Isn't complete, though. This code does need some considerations put in, though... I'm concerned about Natura's clouds, for instance.
2013-08-18 14:11:51 -07:00
StevenRS11
e0fcb9d450 Merge pull request #67 from SenseiKiwi/DungeonPacks
Partial Dungeon Pack and Configurable Dungeon Chain Implementation
2013-08-18 08:24:50 -07:00
GreyMario
2d6194d599 Fixed the NEI breaking bug.
Whoops. We needed that experience packet.
2013-08-18 02:42:07 -07:00
GreyMario
40ae8a06bd Fixed the NEI breaking bug (and an undiscovered bug involving sleeping and entering pocket dimensions) 2013-08-18 02:38:23 -07:00
SenseiKiwi
caf33bd866 Improved EventHookContainer
Made some changes to EventHookContainer.onWorldLoad() to remove
redundant code that encouraged bugs. Unfortunately, a lot of
link-related code needs to be rewritten to get rid of bugs, so that'll
come after dungeon packs are completed.
2013-08-17 20:32:30 -04:00
SenseiKiwi
dc7289a048 Dungeon Selection Fix and Chain Config Change
Changed how Random is initialized in SchematicLoader to prevent issues
with dim doors in the same chunks leading to the same dungeon. The
selection seems much more varied now. Also changed the hardcoded config
for the default dungeon chains to the one we'll be using later (from a
file). For testing purposes.
2013-08-15 07:29:37 -04:00
SenseiKiwi
7537d6cd7a Decreased Default Gateway Generation Chance
Decreased the default chance of a gateway generating. This won't affect
users unless they clear their config files. The decision is based on
user feedback and recent experiments on how common gateways could be.
2013-08-15 05:35:03 -04:00
SenseiKiwi
6b69d3d138 Added Nether Gateway Chance Correction
Modified RiftGenerator to correct for the rarity of Rift Gateways in the
Nether. Our config settings allow us to set the probability that we will
attempt to generate a gateway in a given chunk. However, that doesn't
guarantee that a gateway will generate.

I collected a lot of data and determined that generation succeeds in the
Nether only about 15% of the time. That's compared to 30% in the
Overworld when counting oceans (which always fail) and about 75%
(sometimes higher) when traveling mainly on land.

RiftGenerator now corrects for this by multiplying the chance of
attempting to generate gateways in the Nether by 4. Gateways in the
Nether are still relatively rare and hard to find, but you'll
occasionally come across them now. Also reorganized the code a little
for clarify.
2013-08-07 22:11:10 -04:00