Commit graph

56 commits

Author SHA1 Message Date
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
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
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
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
StevenRS11
fb25fc43eb Merge branch 'DevBranch' of https://github.com/StevenRS11/DimDoors into DevBranch 2013-09-03 23:28:43 -04:00
SenseiKiwi
4cd7d3c0ae Completed Packet Handling Code
Finished implementing all the packet handling code. It could be improved
in the future to compress the initial packet sent to clients. With this,
the code is complete enough to run! Commands have not been fixed yet but
that will come in the future.
2013-09-03 17:25:58 -04:00
SenseiKiwi
56ecb0cd9e Reorganized DimLink Code
Moved the DimLink code out of NewDimData in order to reduce clutter
inside that class and made it a separate class, except for functions
that should only be available for NewDimData. Deleted IDimLink and
changed all references to it to use DimLink instead. DimLink is now an
abstract class, which achieves the same encapsulation and protection we
had before by having DimLink implement IDimLink from within NewDimData.
NewDimData has a new class inside, InnerDimLink, which provides it
access to special functions that would be dangerous to expose. This is
the same mechanism used to protect NewDimData's dangerous functions.
These changes are in preparation for adding more code for packet
handling.
2013-09-02 11:47:12 -04:00
StevenRS11
af7bb05042 Chunk leak patched
Not checking if a chunk existed before we placed a rift block could
cause the MC server to generate chunks in unloaded terrain. Bad things
commence. Possible world leak canidate.
2013-09-01 23:27:30 -04:00
SenseiKiwi
4086e75ead More Progress on Rewrite
Fixed the code in DDTeleporter and made minor changes to other classes
that depended on those fixes. Ensured that PocketManager's load, save,
and unload methods are called appropriately and rewrote some of their
code. Made various changes in other classes (e.g. EventHookContainer,
PlayerRespawnTracker) to pass them references to DDProperties through
their constructors instead of having them rely on
DDProperties.instance() - this is a better programming practice in the
long run.

Renamed initialization methods in mod_pocketDim to make it clear that
they're called on events. Commented out command registration in
mod_pocketDim so that we can test DD as soon as PacketHandler is fixed,
without worrying about fixing the command classes.
2013-09-01 09:21:27 -04:00
SenseiKiwi
ea1fc5f4c0 Reorganized and Renamed Classes
Moved tile entity classes to a separate package. Renamed some block
classes to match their in-game names (e.g. ChaosDoor -> UnstableDoor).
Moved TransientDoor to the blocks package. Cleaned up a little bit of
the code and automatically updated references to the classes that were
modified.
2013-08-31 16:43: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
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
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
d9a9091a2b changes to RiftRender 2013-08-20 21:43:33 -04:00
SenseiKiwi
3d04e9b9cc Made Rifts Check Block Hardness
Made rifts check block hardness while replacing blocks so that we can
avoid destroying strong or indestructible blocks from other mods.
Updated references throughout the code to use a function in BlockRift
for this purpose.
2013-08-03 06:12:56 -04:00
StevenRS11
03163de4dd various fixes
Fixed rifts not moving correctly when moving dungeons to stay inside
world bounds
Regular pockets stay in world bounds.
RiftRegenerator no longer NPEs
Fixes #48, #63
2013-08-01 18:01:42 -04:00
StevenRS11
b278af0c23 Changes to dimHelper
replaced dimHelper.dimList.get with dimHelper.instance.getDimData
added functions to make working with rifts easier
2013-07-31 19:34:08 -04:00
SenseiKiwi
edef4ec5b5 Fixed NPE in RiftRegenerator
Fixed a NullPointerException in RiftRegenerator. I had forgotten to
initialize the properties field for use in the class.
2013-07-26 22:50:05 -04:00
SenseiKiwi
a766589eb0 Finished Renaming Classes
Removed the Xs from the ends of LimboSkyProvider and PocketProvider. Now
their names are properly capitalized.
2013-07-26 05:31:59 -04:00
SenseiKiwi
3a6b22c7cc Renamed Classes
Renamed MobObelisk to MobMonolith. Renamed LimboSkyProvider and
PocketProvider to have Xs at the ends of their names. This is temporary
so that I can change the name's capitalization. Windows considers the
names the same because it's file naming is case insensitive.
2013-07-26 05:30:59 -04:00
SenseiKiwi
687a75f4d5 Overhauled Tick Sending by CommonTickHandler
Overhauled the way in which CommonTickHandler triggers tick-based
actions such as Limbo decay, spawning Monoliths, and regenerating rifts.
Now CommonTickHandler implements an interface called IRegularTickSender,
which indicates that it will periodically call on classes that implement
IRegulatTickReceiver to perform some task. I added classes for each
regularly scheduled task we were performing: MonolithSpawner and
RiftRegenerator, plus converted LimboDecay to a normal class instead of
a static class.  Modified several classes so that they have access to
the MonolithSpawner instance to request MonolithSpawning when needed.
This improves the structure of our code and gets us away from the way we
did things before, which was accessing a public static list inside
CommonTickHandler from other classes and adding arrays to specify chunk
coordinates. We should not be exposing the internal state of classes
like that! And we should be using clearly defined objects to pass
information.
2013-07-26 05:15:44 -04:00
SenseiKiwi
bfc532da1f Renamed and Moved Files
Moved CommonTickHandler into the ticking package in preparation for the
next change. Renamed CommandStartDungeonCreation to CommandCreatePocket,
since creation pockets of variable sizes will be its future role now
that it's not strictly necessary for exporting. Renamed
CommandEndDungeonCreation to CommandExportDungeon, since we no longer
have a dungeon creation process like before.
2013-07-26 02:09:14 -04:00
StevenRS11
8bbd1384c5 finished changes to monolith spawning 2013-06-24 00:34:21 -04:00
StevenRS11
5e107f37f9 a few last tweaks 2013-06-16 03:40:46 -04:00
StevenRS11
c0b7e7d2d3 more monolith spawning 2013-06-15 03:09:46 -04:00
StevenRS11
cf332703c9 tweaked mob spawn frequency and rifts erase 2013-06-15 02:17:06 -04:00
StevenRS11
fa4055f198 Fixed monolith spawning 2013-06-15 02:09:17 -04:00
StevenRS11
b5b3fffdd3 Fixed it even MORE 2013-06-14 23:16:27 -04:00
StevenRS11
44a413f6fb Fixed monlith sound and spawn 2013-06-14 15:21:38 -04:00
StevenRS11
5f5569e9b9 fixed chest crash and mobelisk spawns 2013-06-14 04:58:48 -04:00
StevenRS11
078ee999be Merging changes 2013-06-14 01:53:30 -04:00
StevenRS11
55c16f3ae2 tweaked mob spawn density in pockets 2013-06-14 00:43:09 -04:00
SenseiKiwi
b11354767d Overhauled configuration properties
Moved all configuration variables from mod_pocketDim to DDProperties
(formerly DimDoorsConfig). Changed property names to be clearer in
config file, modified some comments, and generally cleaned up the config
file. Fixed some missing properties and variables that were reading from
the wrong properties. Modified the order in which mod_pocketDim
instantiated some of its static fields so that they would load after
properties are read. Almost all classes load after properties are read.
Fixed indentation across various files and replaced references to
properties in mod_pocketDim with references to DDProperties.
2013-06-13 19:01:54 -04:00
StevenRS11
68d2bde10a fixed save breaker 2013-06-11 13:21:39 -04:00
StevenRS11
000e0153b8 one less bug 2013-06-10 21:25:31 -04:00
StevenRS11
bd1c1d0118 finished update, starting testing builds 2013-06-10 17:03:52 -04:00
StevenRS11
2e2184f033 monolith tele cooldown 2013-06-03 00:55:57 -04:00
StevenRS11
27c073f75d .schematic importer finished 2013-06-01 21:43:56 -04:00
StevenRS11
6a95c9eb33 respawn handler and config changes 2013-05-31 02:17:05 -04:00
StevenRS11
68c6ea8de5 texture change 2013-05-29 21:05:59 -04:00
StevenRS11
53ad4fe53a sky texture, more monolith changes 2013-05-29 17:54:41 -04:00
StevenRS11
602eb4bcff more mob tweaks, texture tweaks 2013-05-29 14:45:14 -04:00
StevenRS11
f14cde7186 mob tweaks 2013-05-29 01:22:50 -04:00
StevenRS11
8365d4353f added dungeon to dimData, spawn fixes for monolit 2013-05-28 17:15:40 -04:00
StevenRS11
9f7561e2fe renabled sounds 2013-05-28 00:21:09 -04:00
StevenRS11
ceac1e0d3b soundtest 2013-05-28 00:02:33 -04:00
StevenRS11
5aa379cd26 fixed sounds 2013-05-27 23:30:40 -04:00
StevenRS11
9ad4dda324 finished sounds 2013-05-27 22:45:21 -04:00
StevenRS11
0e9918f9fe PARTICLES 2013-05-27 20:08:42 -04:00