Commit graph

1135 commits

Author SHA1 Message Date
Mathijs Riezebos
a56fded267 Config sections
-Divided configs over several sub-config sections
2017-05-14 17:07:15 +02:00
Mathijs Riezebos
4f711e5e3f Door placement shenanigans
-Enabled Door opening and closing sounds (BlockDimDoorBase L66)
-Repaired Double placement of doors and Doors swinging open upon
placement (ItemDoorBase L78)
2017-05-14 16:11:33 +02:00
Mathijs Riezebos
c29c9b3d23 WarpDoor improvements
-Added Forge version dependency
-Made sure that Warp Doors always lead to a non-pocket dimension if they
lead anywhere at all
-Added Event checks on Players entering chunks in/and pocket dimensions
2017-05-08 17:42:27 +02:00
Mathijs Riezebos
53568707f0 Mapping coordinates to Pocket IDs and back
-Changed the Pocket placement algorithm. Instead of following a
rectangular spiral path expanding outwards from (0;0), Pockets now get
placed in a fan-shaped area expanding from (0;0) to (infinity;infinity).
-Changed maximum configurable grid size and defaulted to that
-Added a way to retrieve the Pocket ID from a Location
-Schematic loading streams are only closed if they were opened to begin
with
-Added some easier ways of testing if a Dimension is a Pocket dimension
2017-05-05 17:35:02 +02:00
Mathijs Riezebos
7574e61ede Intelligent Commands
-Added tab completions to the teleport command
-Made tab completions for the pocket command actually complete what is
already typed
-Added some String utilities to support the previous two changes
2017-05-05 12:23:31 +02:00
Mathijs Riezebos
9f303bc66b More solid Schematic placement
-Added Try- Catch block to prevent a TileEntity not getting loaded right
from causing the Pocket from registering (which caused respective
Schematic placements on the same position, which replaced unregistered
Doors, to crash as well)
2017-05-03 11:51:14 +02:00
Mathijs Riezebos
fa6d32cf0c Schematic generation command
-Completed command to force-generate Dungeon Pocket Schematics using
their directory (/group) and name
-Schematics now inherrit their name from their file name if it's not set
in their NBT

Warning:
-Quite a few of the pockets themselves show errouneous behaviour when
you try to generate them.
2017-05-01 20:18:00 +02:00
Mathijs Riezebos
13296ffdb9 Jsons adding all Dungeons for Testing
-Added crude json files to load in all Dungeon schematics from previous
versions of DimDoors, into the game
-Added an extra failsafe before Teleporting to a newly generated
Dungeon, checking if the Location is not-null instead of crashing

Notes:
-Rather often, a door to a Dungeon will say that "Teleportation failed".
I think this is because the Dungeon Schematic in question fails to
include a list of its Tile-Entities and their corresponding data.
2017-05-01 13:40:30 +02:00
Waterpicker
e4b9c951c0 Implement dimpocket command 2017-05-01 02:38:56 -05:00
Waterpicker
6de21888db Finished Monoliths 2017-04-30 00:47:59 -05:00
Waterpicker
62749b8ef8 Monoliths first draft 2017-04-29 04:50:20 -05:00
d4rkfly3r
aff7f368d5
Fixing Limbo Sky 2017-04-28 18:14:12 -07:00
Mathijs Riezebos
0c43bb51f5 Enabled the first dungeon Pockets
-Changed build number
-The properties of rifts do not get read from the schematic
-Added the start of what is going to be a system to force-generate a
particular Dungeon Pocket schematic
-Repaired a fault in choosing a random Dungeon Template
-Restructured the loading of Schematic files from disk, to make the code
more concise and less repetitive.
-Remedied bug where Rifts in Dungeon Schematics did not get registered,
because their ID was not -1 from the start.
-Corrected naming of Chaos Door Block in the American localization
-Added Dutch localisation
-Added json file that loads 2 of the Dungeon Schematics (for now for
testing purposes)

Todo:
-Apparently, DimDoors in the schematics don't have the right orientation
until they get rendered. Maybe they should update their orientation for
teleportation from the bottom block of the door
-Add a command to generate a specific schematic as a Dungeon Pocket.
2017-04-28 12:05:33 +02:00
Waterpicker
644eb370bf Add Skeleton of Pocket Command and restructured commands. 2017-04-28 04:05:19 -05:00
Mathijs Riezebos
49dec20dc4 No more Chaos door -> Personal door teleportation
-Repaired Chaos Doors teleporting players to Personal Dimensions, by
*actually saving* the personal-door-ids list in the riftregistry to
disk.
-Added rough method to use GradleStart in Netbeans, however this starts
Minecraft in the wrong root directory, so I commented it out for now
2017-04-24 14:14:26 +02:00
Mathijs Riezebos
9d4ed893a1 Fixed placing doors on rifts
-Registered remaining TileEntities
-Fixed Rifts being replaced by doors unregistering because they are
being "broken"
2017-04-20 06:20:19 +02:00
Mathijs Riezebos
f3abbc89b1 Updated Gradle and Forge
-Updated Gradle wrapper to Gradle 3.5
-Updated Forge to 12.18.3.2281
-Added a comment somewhere :P
2017-04-18 13:23:05 +02:00
Waterpicker
22d7e142e7 Fix pocket dimension lighting 2017-04-14 05:40:38 -05:00
Mathijs Riezebos
d113456933 Separate directory for Schematics per Json
-Add a "directory" String to the schematic json files, to people can
actually group their schematic files in different folders per json file
they use.
2017-04-13 19:17:48 +02:00
Mathijs Riezebos
7fc99ff066 New Schematic files with correct block names
-Generated default private and public Pocket Schematic files, because
the blockNames in the Schematics got outdated.
2017-04-13 03:13:12 +02:00
BuildTools
70712de499 Add old Eternal Fabric Behavior 2017-04-12 16:06:30 -04:00
Mathijs Riezebos
5d5240e81c Refractored DimWall to Fabric
Refractored
-BlockDimWall to BlockFabric
-ItemBlockDimWall to ItemBlockFabric
2017-04-12 13:01:46 +02:00
Mathijs Riezebos
18a185603d Merged BlockDimWall and BlockLimbo
-Merged BlockDimWall and BlockLimbo classes into one
-Added a setup for teleportation to the overworld by Eternal Fabric

TODO
-Rename BlockDimWall to BlockFabric
-Redo the Eternal and Unraveled Fabric textures
-Make Eternal Fabric teleportation actually work on impact
2017-04-12 12:51:18 +02:00
BuildTools
85f2eee6c5 Final (hopefully) fixes for Fabrics 2017-04-10 20:04:52 -04:00
BuildTools
21656becf9 Fixes issues with Altered Fabric 2017-04-08 16:30:14 -04:00
Mathijs Riezebos
d6f1b6743d Teleporting on ITickable.update()
-Delayed teleporting so it gets executed on DDTileEntityBase.update() to
prevent players from randomly not being moved
-Added some fields that need to be saved on worldSave
-Made Personal Pockets and Doors work
2017-04-08 00:08:30 +02:00
Mathijs Riezebos
937a008f95 Repaired the saving system for Pockets
-Pockets don't register in their constructor anymore
-Repaired eternal loops in Pocket and Rift Registries
-Made the getX and getZ methods truly recursive
-Fixed TileEntity blockPos mismatch after reading from schematic.
-Tried a lot of stuff in the TeleporterDimDoors class, to finetune
teleportation.

-Teleportation doesn't seem to work flawlessly anymore (if it ever did
at all)
2017-04-05 08:46:39 +02:00
Mathijs Riezebos
758e521443 Repaired Teleportation
-included flow-math library in the jar file on "build"
-fix for public pockets' depthZeroLocation's calculation
-TeleportCommand got weakened a little
-Repaired Survival and inter-dimensional (non vanilla dimension)
teleporting
-Added some missing javadoc to utility classes
-Corrected transformLocationRandomly
-Made Location serializable
-Corrected mistake in commented out generation of and generated default
private and public pockets.

Todo:
-Loading a world with a generated pocket, crashes the game with an
infinite loop. Ergo, the registering of Pockets needs to be done
somewhere else than in their constructor.
2017-03-27 23:56:43 +02:00
Mathijs Riezebos
3b41149c16 Moved generic methods to utility classes
-Moved several methods to DDRandomUtils and DDMathUtils
-Added several config options
-Corrected some config options' grammar and spelling
2017-03-19 13:34:27 +01:00
Mathijs Riezebos
d6d8a2bb49 Doortype-specific Teleportation
-Implemented different variations for determining where different doors
teleport the player, if they link at all, etc.
-Implemented different variations for determining the teleport location
in case of a player teleporting to a door, rift, trapdoor, etc.
-Rifts now unregister and unpair if the doors are broken.
-Players' UUIDs now get registered to a Pocket if a player enters them
via any rift.
-Riftblade now works instantaneously, instead of placing a transient
door.

TODO
-Maybe the Transient door does not work correctly right now
2017-03-03 15:25:10 +01:00
Mathijs Riezebos
4519886063 Default pockets
-Added (auto-generated) default private and public pockets and changed
the jsons,
-Commented out auto-generation code at the bottom of Schematic.java.
-Fixed a stupid method call mistake in PocketRegistry that made stuff
fail miserably.
-Made sure that a size 0 pocket schematic can be 16 blocks.
2017-02-25 06:34:09 +01:00
Waterpicker
5d26f6f854 Readded Sounds 2017-02-21 21:41:16 -06:00
Mathijs Riezebos
de93828a6d Pocket creation upon entering doors
-Added an "OverWorld location reference" to each door (that offsets more
if you go deeper into dungeon pockets)
-Made sure that the entrance door of a Pocket is a Warp Door if the
Pocket has one
-Made sure that the depth of Dungeon Pockets is always at least 1
-Added some separate teleportation behaviours for different types of
Rifts
-Minor bug fixes
2017-02-21 15:16:04 +01:00
Mathijs Riezebos
86eb14c408 Repaired loading and placement of old DimDoors Pockets
-Added separate Block class for Chaos Door
-Set up Personal DimDoor to create its own type of tile-entity
-Added flag "2" to update blocks upon PocketTemplate placement to
prevent non-defaultstate doors from breaking upon placement.
-Used write- and read- Compressed instead of GZIP Streams
-Closed the output stream
-Added canRiftBePaired field to Rift tile entities
-Added Chaos- and Personal- Door Rift Tile Entities
-Removed statement where I falsely assumed that a meta of 0 meant that
the blockstate was the default.
-Corrected several other mistakes in Schematic.java
-Had to make sure that the blockstate of ancient fabric didn't get
turned into fabric of reality again...
2017-02-16 14:28:28 +01:00
Mathijs Riezebos
d0af9178f0 Pocket placement preparation and schematic saving
-Prepared code accessibility for placement of Pockets
-Added method to save schematic nbt to a GZip file on disk.

Todo:
-Discovered that Schematics don't get the correct names for their blocks
upon writing themselves to NBT.
2017-02-06 19:08:41 +01:00
Mathijs Riezebos
21a008c11f Enum names instead of Enum indexes for saving
-Made the PocketRegistry use the toString() values of the
EnumPocketTypes, to save its maps in an NBTTagCompound instead of using
the indexes of those Enums to store the maps in NBTTagLists
2017-02-03 13:56:37 +01:00
Mathijs Riezebos
ff62ca29ec Separate pocketID map per PocketType
-Implemented Pockets' UID being determined by their EnumPocketType and
an integer ID
-Fixed some double and triple registering of Pockets
-Fixed a minor major typo in SchematicHandler that prevented
old-format-schematics from being loaded from disk
-Fixed  an "index-out-of-bounds-like" typo and a [ character being read
as a special character in the Schematic class
-Restructured and moved dimension files (again)
-Edited the defaultPublic- and -Personal.json files to a final-ish form
-Added another dummy schematic, but now in the new schematic format
-Added the old dungeon pocket schematics to the assets
-Tested loading of .schem and .schematic files from disk as well as from
the mod jar (successful, btw)
2017-02-02 02:43:43 +01:00
Mathijs Riezebos
3e4c4afa0f Default config correctness ward
-Added a boolean to the config class, that shows the player a message
upon joining the world, if it is false and the mod version is not alpha.
Meant to assure that config defaults are set correctly (in code) upon
beta- or release- distribution of the mod.
2017-01-30 13:48:57 +01:00
Mathijs Riezebos
5903cf69f0 Correct dimension IDs
-Made DimensionTypes load their dimID from config
2017-01-28 19:09:57 +01:00
Mathijs Riezebos
5bb54b0791 Merge remote-tracking branch 'refs/remotes/origin/Worlds' into 1.10-WIP
# Conflicts:
#	src/main/java/com/zixiken/dimdoors/shared/DDProxyCommon.java
#	src/main/java/com/zixiken/dimdoors/shared/PocketPlacer.java
#	src/main/java/com/zixiken/dimdoors/shared/SchematicHandler.java
#	src/main/java/com/zixiken/dimdoors/shared/TeleportHelper.java
#	src/main/java/com/zixiken/dimdoors/shared/world/PocketProvider.java

-Resolved all merge conflicts.
-Removed a few unused imports
-Refractored (moved) new classes from the Worlds branch to the new
package structure that came from the Pockets branch
-Changed variant size values of the default empty pocket jsons, because
otherwise they would crash the game on default config pers/pub pocket
size.
2017-01-28 14:17:41 +01:00
Mathijs Riezebos
9f33aac2b8 Several small features
-BlockRift doesn't cause suffocation damage anymore
-Added config option for Dimension ID's
-Added correct method for opening schematic files from File
-Finished "dictionary" for converting dimdoors blocks from the old
schematics to new schematics.
-Added a special "translation-case" for Ancient Fabric, because I am not
going to write a complete method just because one block deviates.
-Added "null-checks" for each non-required field in schematics (new
format) while reading them from NBT and set some corresponding default
values for the fields that can be "null"
2017-01-28 13:28:04 +01:00
Waterpicker
e75d282b24 World draft 1 complete 2017-01-26 20:57:37 -06:00
Mathijs Riezebos
45c9487874 Made everything not error on world-load
-Added a few default pocket jsons
-Errors on world-load were because the above were missing.
-Added a testing schematic (old schematic format)
-Made everything work somehow
2017-01-26 19:33:31 +01:00
Mathijs Riezebos
34c18d9ce5 Indentation 2017-01-26 15:03:20 +01:00
Mathijs Riezebos
cd1ba7575c Old DimDoors-schematic loading
-Implemented a way to write a schematic to NBT
-Implemented a way to read an old DD schematic from NBT

Todo:
-Complete the lists of old DD block names and map them to new ones.
-Implement a method to read schematics and jsons from jar as well as
from config directory
2017-01-26 14:51:41 +01:00
Mathijs Riezebos
3f367c8ce3 BlockRift solidity and Teleportation location correction
-Made sure that a BlockRift is not replacable and that you can walk
through them. (It hurts though, but we can say that that's a feature)
-Player now gets teleported on the ground in front of the rift, instead
of 1 block in the air.
2017-01-26 00:38:44 +01:00
Waterpicker
6eacd2d62f Not done. Just pushing current code. 2017-01-25 15:25:03 -06:00
Mathijs Riezebos
755dd47fd6 The great refractoring 1.0
-Removed lots of imports
-Moved a whole lot of classes
-Changed up the build.gradle
2017-01-25 22:01:58 +01:00
Mathijs Riezebos
85f62ca323 Trying to repair teleportation 001 2017-01-25 20:13:25 +01:00
Mathijs Riezebos
b2f47a6f7d Unpaired rift at depth-registry implementation
-Implemented methods to register unpaired rifts at their pockets'
respective depth
-Added ItemDimDoorTrancient to make the riftblade's functionality
consistent with the placement of dimdoors on rifts
2017-01-25 16:08:30 +01:00
Mathijs Riezebos
10ddb6f825 Merge remote-tracking branch 'refs/remotes/origin/1.10-WIP' into 1.10-Pockets
# Conflicts:
#	src/main/java/com/zixiken/dimdoors/items/ItemDoorBase.java
#	src/main/java/com/zixiken/dimdoors/tileentities/DDTileEntityBase.java

Conflicts were small and are resolved
2017-01-25 14:16:48 +01:00
Mathijs Riezebos
49b88a9549 Made a lot of changes
If anything went wrong, assume that it's because of this commit.

Does not compile!
2017-01-25 14:10:50 +01:00
Mathijs Riezebos
d0b6a74664 Implemented usage of Sponge Schematics
-Implemented a way to load these schematics
-Implemented a way to place these schematics
-Removed "ye olde ways" (Pillar-ways)

Todo:
-Finding out how and where TileEntities are being created wrongly.
-Make pocket-generation a lot less "coupled". Just store the RiftIDs in
the Pocket and afterwards ask the pocket for a random RiftID
-Do some code cleanup in the SchematicHandler class
-Config Dim ID def: 684
2017-01-24 08:11:12 +01:00
Mathijs Riezebos
732ceee40b Changing plans about Pocket gen
-Added Schematic (loads itself) class to load and store schematic files
in memory.
-Removed dependency on Pillar mod

Todo:
-Code doesn't compile again
2017-01-24 05:27:14 +01:00
Waterpicker
4ce32c9828 Server and client are seperate. 2017-01-23 19:58:42 -06:00
Mathijs Riezebos
5c383bde1d Finished Pocket creation
-Added dependency on Vazkii's Pillar mod for "schematic" loading
-Added config directory for DimDoors
-Fixed entrance door placement coords
-Refractored some methods
-Added json-reader functionality

-Code compiles now

Todo:
-Make code added in SchematicHandler more modular
-Game gets stuck on world-load. Probably because the default json file
for "defaultPersonal" is not available yet at the saves directory.
2017-01-24 00:45:16 +01:00
Mathijs Riezebos
88dbcf152a Dungeon Pocket Template Randomisation
-Changed some method names
-Fixed a mistake in registering a new pocket upon generation
-Added some get functions for privates
-Implemented functionality for randomising what dungeon pocket may be
generated upon entering an unlinked DimDoor.

Todo:
-Still the same
2017-01-22 17:28:16 +01:00
Mathijs Riezebos
82b05010c3 Implemented preparation generation for pocket placement
-Valid Pocket schematics will be loaded on world-load
-Created an EnumPocketType instead of the integer to avoid confusion and
make expansion to more types easier.
-Renamed PocketPlacer to PocketTemplate
-Implemented Pocket-Template's placement of the default walls, floor,
roof and door
-Updated Forge to latest

Todo:
-Actually reading the schematic into memory
-Placing the schematic
2017-01-22 16:49:00 +01:00
Waterpicker
7554e3fc62 Rift Blade sorta works 2017-01-22 06:54:55 -06:00
Waterpicker
e027947fb0 Big batch of unfinished items. 2017-01-21 06:54:20 -06:00
Mathijs Riezebos
aac1108056 Cleaned up a little bit
Removed some useless privates from TileEntityDimDoor
Added some useful privates to DDTileEntityBase
2017-01-21 06:49:53 -06:00
Mathijs Riezebos
b68463fc62 Added config max and min values checker and correcter 2017-01-21 13:17:49 +01:00
Mathijs Riezebos
4d8378c8d0 Merge remote-tracking branch 'refs/remotes/origin/1.10-WIP' into 1.10-Pockets 2017-01-20 14:17:05 +01:00
Mathijs Riezebos
30b0e1a13b Fixed mostly visual things
-Added some crafting recipes
-Made some things render correctly
-Cooler texture for the Transdimensional Trapdoor
-Made some things show their name correctly
2017-01-20 14:08:27 +01:00
Waterpicker
eec27d5ef5 Rift blade renders correctly now 2017-01-20 05:42:03 -06:00
Mathijs Riezebos
c7535030a4 Wrote backbone for the Pocket Placement
-Added a configs class to handle the configs
-Rewrote some of the save handling of the RiftRegistry

Still needed:
-Some dimensions to place pockets in
-Actual loading of json and schematic files into memory
-Actual placement of the pockets (+ door placement and stuff)

Repo does not compile right now!¡!
2017-01-20 12:34:33 +01:00
Waterpicker
16416e35d4 Added rest of Item textures and semi implmentted the Rift Blade. 2017-01-20 03:54:26 -06:00
Mathijs Riezebos
8a36c6b1c0 Automatic Rift pairing with unpaired Rifts upon teleport 2017-01-20 01:44:40 +01:00
Mathijs Riezebos
5ebf7aab70 Rift Connection Tool basic visuals
Cleaned up a lot of logging code
Added a function to send chat messages to the player
2017-01-20 00:02:28 +01:00
Mathijs Riezebos
a9fb3f5445 Moar Teleporting fixing
Some renaming
And moving the storage of a DimDoor's orientation over from the
BlockDoorBase to the TileEntityDimDoor
2017-01-19 22:34:46 +01:00
Mathijs Riezebos
a9f2f3a82d More teleportation fixes
Made teleporting check whether door is opened and close it again on
teleportation.
Added some more debug logging.
Made the teleportation methods one "string" of boolean methods,
returning false if anything would go amiss.
Implemented 150 ticks waiting time inbetween teleports
finetuned getTeleportTargetLocation method, but it somehow gets reset on
server restart.
2017-01-19 16:28:18 +01:00
Waterpicker
8624934d26 Current modification 2017-01-19 00:51:22 -06:00
Mathijs Riezebos
3ffbe2ad03 Some small steps regarding teleportation 2017-01-19 06:23:46 +01:00
Mathijs Riezebos
30c86f1e16 Merge remote-tracking branch 'refs/remotes/origin/Teleportation' into 1.10-WIP
# Conflicts:
#	src/main/java/com/zixiken/dimdoors/blocks/BlockDimDoorBase.java
Removed a redundant method
#	src/main/java/com/zixiken/dimdoors/tileentities/DDTileEntityBase.java
Imports going amok
2017-01-19 04:17:00 +01:00
Mathijs Riezebos
ecc9ea39cf Privatized some variables
As a contingency against misuse
2017-01-19 04:13:04 +01:00
Mathijs Riezebos
111f2f9b51 Restructured Teleportation
Reshaped the teleportation implementation in a way so that it fits my
view on the structure. :P
Removed redundant methods
2017-01-19 04:06:13 +01:00
Mathijs Riezebos
987f52049f Insert random nonsensical title here
Removed some superfluous methods
Added stacktrace print whenever TileEntity gets created
2017-01-19 03:20:30 +01:00
Waterpicker
2767e36e2c Current code 2017-01-18 18:43:19 -06:00
Mathijs Riezebos
f93c4e3670 Added connecting rifts
Changed the functioning of and registered the ItemRiftConnectionTool
item.
Repaired a stupid mistake in DDTileEntityBase
2017-01-17 23:39:36 +01:00
Mathijs Riezebos
0c5ef6193c Rift connecting code implemented
Coded the ItemRiftConnectionTool's primary function
2017-01-17 04:18:42 +01:00
Mathijs Riezebos
ad29c72984 Merge remote-tracking branch 'refs/remotes/origin/Tesseract' into 1.10-WIP 2017-01-17 03:14:45 +01:00
Waterpicker
68881e17ce DimDoor and Rift- (re)placement
Main:
Removed "custom" code for DimDoors' Placement and rewrote it
When right-clicking rifts with any Dimensional Door, the game will try to place the Dimensional Door onto the rift.
Rifts will now enherit their properties from broken DimDoors and Dimdoors will enherit their properties from rifts they are placed over.

Other:
Made the DimDoors logger a bit more powerful.
Made RiftRegistry reset on server-load
Created a setup for the RiftConnectionTool Item.

Layout:
Fixed TileEntityRift.java's indentation
Changed some variable names

Authored by Robijnvogel and squashed by Waterpicker.
2017-01-16 20:12:14 -06:00
Waterpicker
9327a33674 New Tesseract Animation for Rift Tile Entitiies. 2017-01-16 20:04:32 -06:00
Mathijs Riezebos
8eea287998 Some cleaning up, some making a mess
Changed the breakBlock method to something a bit more readable
Added some debug logging comments
2017-01-13 10:13:51 +01:00
Mathijs Riezebos
70535a50d5 Merge remote-tracking branch 'origin/1.10' into 1.10
# Conflicts resolved:
#	src/main/java/com/zixiken/dimdoors/blocks/BlockDimDoorBase.java
2017-01-13 09:40:16 +01:00
Mathijs Riezebos
5890211cc8 Trying to get DimDoors to turn into rifts on destruction 2017-01-13 09:37:42 +01:00
Waterpicker
d773db0256 Debug code rendering for rifts. 2017-01-13 02:26:46 -06:00
Waterpicker
8ef079b122 Added some last finishing touches on Dimensional walls.
Added some last finishing touches on Dimensional walls.
2017-01-13 00:49:24 -06:00
Mathijs Riezebos
e1facdbf3b Made Altered fabric work correctly 2017-01-13 00:49:24 -06:00
Mathijs Riezebos
2a4c9ba120 Door-placement- and rift-registering-fixes
-Due to testing, found out that "RiftRegistry.nextRiftID"gets saved and
loaded correctly.

-DimDoors are no longer placeable on leaves or glass (ItemDoorBase.java)
-DimDoors will no longer be placed through left-clicking
(EventHookContainer.java)
-Relocated call to DDTileEntityBase.register() from its constructor to
ItemDoorBase right after the door gets placed. Which means that that
whole constructor and its overrides in other classes are not needed
anymore.
-Added failsafe, so that a DDTileEntityBase that is already registered,
doesn't register again.
2017-01-13 07:45:45 +01:00
Mathijs Riezebos
b61aff025c Auto indented all code
No actual functionality was changed
2017-01-13 03:13:49 +01:00
Mathijs Riezebos
c741d5cd35 Set up actually registering Rifts
Repaired a derp I did in which the Tile Entities did not have a "World"
to get the ID from for the Location to turn into a Location. I needed to
change a lot of constructors to include said "World" as a parameter.

Set up DDTileEntityBase to save after it's paired, registered or
unpaired and actually wrote the readFromNBT and writeToNBT for that.
2017-01-13 03:07:26 +01:00
Mathijs Riezebos
f68c9ec4a2 Connected Rift-Link system to rift registry- and saving- system
Merged functionality of "RiftHandler" class into "RiftRegistry" class
Moved the "Location" class

Why the RiftRegistry couples the Rift ID to the Rift **location** and
the PocketRegistry couples the Pocket ID to the actual Pocket
**instance**:
-Each Rift is a Tile-Entity, which means that it has its infromation can
be stored using the Tile-Entitiy's information saving system.
-Each Pocket is barely more than an information storage container, which
depends on having an external information saving system, which the
PocketRegistry provides for it.
2017-01-13 01:08:21 +01:00
Mathijs Riezebos
5c6fd1d1fa Adapted Save system to WIP changes 2017-01-12 16:00:51 +01:00
Mathijs Riezebos
12f715a4d7 Merge remote-tracking branch 'refs/remotes/origin/master' into WIP 2017-01-12 15:16:22 +01:00
Mathijs Riezebos
204e430be8 Created a backbone for saving DimDoors specific worldsave data 2017-01-12 15:15:53 +01:00
Mathijs Riezebos
ba6bf6be5a Merge remote-tracking branch 'refs/remotes/origin/master' into WIP 2017-01-12 12:44:49 +01:00
Waterpicker
9f7da9b4b8 Fixed DimWall functionality. Shift right disabling not working however. 2017-01-12 05:25:04 -06:00
Mathijs Riezebos
1b2d4ad20a Implementing a way to handle rift-connections 001
Made a start
It doesn't compile yet
2017-01-12 01:11:55 +01:00
Michael Zanga
0624b9f76a "Removed" deprecated code. 2017-01-11 15:27:06 -05:00
Michael Zanga
108a290c93 Unused import... 2017-01-11 14:23:14 -05:00
Michael Zanga
2cb880c6ca Item registration updated. Tweaks to ModelManager. 2017-01-11 14:19:21 -05:00
Mathijs Riezebos
1bd31a5d82 Solved compiler errors
Apparently "worldobj" was changed into "world" since the last Forge
update?
2017-01-11 15:47:37 +01:00
Mathijs Riezebos
3a282486d3 Setup
-Updated Gradle Wrapper and Forge version.
-Setup Netbeans
-Minor changes in MCMod.info
2017-01-11 15:42:29 +01:00
Michael Zanga
6f87336b6f Continued work on 1.10 updates. Block classes mostly done. 2016-12-13 15:57:45 -05:00
Zangamj
22f22f4741 Potentially fixed #10 2016-11-13 17:40:49 -05:00
Waterpicker
35c3d1aae8 It compiles and runs in 1.10.2 2016-11-07 02:56:55 -06:00
Waterpicker
baf6e16620 Knocked out a chunk of updates to 1.10.2 2016-11-06 05:37:21 -06:00
Zangamj
a9019d1d18 New base PocketProvider class 2016-11-05 21:26:27 -04:00
Michael Zanga
03a7fd1b47 Removed IDomDoor's seemingly useless initDoorTE method 2016-11-05 00:44:55 -04:00
Michael Zanga
2b9ca1c7da Added sanity check to updateDoorTE's setting of orientation 2016-11-05 00:42:05 -04:00
Michael Zanga
79f2166c8c (Mostly) clean slate for mod rewrite 2016-10-30 19:42:01 -04:00
zangamj
2ab27633cd Door tile entities are in the top block now.
Fixed 3 block high render.
2016-08-23 17:52:49 -04:00
zangamj
705b2963ee Fixed door rendering on only bottom block 2016-08-22 19:14:29 -04:00
zangamj
a6fdd29bbd Fixed door collisions 2016-08-21 23:14:37 -04:00
Michael Zanga
6cd9fe2760 Fixed DimDoor block bounds. 2016-08-21 14:18:19 -04:00
zangamj
b38393e29e Fixed tile entity duplicates 2016-08-16 17:01:05 -04:00
zangamj
59fddb6116 Can now place doors. 2016-08-15 18:24:58 -04:00
zangamj
7a4acad1a5 Fixed missing model definition errors 2016-08-15 16:15:27 -04:00
zangamj
adb5114b04 Trying to fix model/texture errors.
Need to figure out how to make BlockRift and TransientDoor not try to have models.
2016-08-14 16:02:09 -04:00
Waterpicker
6993b39ae3 It Runs! 2016-08-11 21:40:03 -05:00
Waterpicker
9fe42a2358 Did the bulk of Rendering and a few other things. 2016-08-11 01:26:24 -05:00
zangamj
1e62c62924 Finished ServerPacketHandler, moved to watcher package.
Removed unused PacketConstants class.
2016-08-09 09:57:30 -04:00
zangamj
88078bd228 Finished ObjectSaveInputStream.
Moved it to legacy package and reverted OldSaveImporter's name change.
2016-08-09 09:29:57 -04:00
Michael Zanga
e7e42316ad Finished EventHookContainer. 2016-08-08 11:29:51 -04:00
Michael Zanga
6ec1d0d6a0 Removed some extra imports that were "refactored in" by IntelliJ. 2016-08-08 11:01:16 -04:00
Michael Zanga
cd904e9d96 Udated and moved legacy support code (DimData, LinkData, OldSaveImporter) to their own package.
Gave them better names, renamed NewDimData to DimData since it's no longer new.
2016-08-08 10:53:01 -04:00
Waterpicker
d28c48c3c7 Did another massive chunk of changes
And still many more to got through. Sigh.
2016-08-08 01:41:03 -05:00
zangamj
0174899d2e Finished DDLoot. 2016-08-05 11:53:15 -04:00
zangamj
23e57a9cca Finished CraftingManager. 2016-08-05 10:49:05 -04:00
zangamj
1ee1583a06 Finished CloudRenderBlank. 2016-08-05 10:21:38 -04:00
zangamj
c753535e0f Finished BlankTeleporter? 2016-08-05 10:20:08 -04:00
zangamj
c319f79aa8 Finished ItemWorldThread. 2016-08-05 10:14:49 -04:00
zangamj
96abeb5f33 Finished ItemWarpDoor. 2016-08-05 10:01:56 -04:00
zangamj
fb8f71929b Finished ItemUnstableDoor. 2016-08-05 09:59:17 -04:00
zangamj
6ab572ee6f Finished ItemStableFabric. 2016-08-05 09:54:21 -04:00
Michael Zanga
68827ae9d1 Finished ItemStabilizedRiftSignature. 2016-08-04 14:39:43 -04:00
Zixiken
01aa91d48b Rename itemRiftRemover.java to ItemRiftRemover.java
Not sure why this hasn't applied on GitHub
2016-08-04 13:44:51 -04:00
Michael Zanga
d1b8124461 Slight change to ItemRiftRemover.
Don't know if this works the same way, but it avoids some casting down the hierarchy.
2016-08-04 12:28:34 -04:00
Michael Zanga
8fd609db13 Finished ItemRiftSignature. 2016-08-04 12:17:15 -04:00
Michael Zanga
e660e40f90 "Finished" ItemRiftRemover. Probably needs bug fixing later. 2016-08-04 11:18:51 -04:00
zangamj
6f2d0a9018 Finished ItemRiftBlade. 2016-08-03 15:44:21 -04:00
zangamj
1fd82190b5 Finished ItemQuartzDoor. 2016-08-03 14:10:08 -04:00
zangamj
3d38ee1c08 Finished ItemPersonalDoor. 2016-08-03 13:52:44 -04:00
zangamj
4a4a1693a8 Finished ItemGoldDoor. 2016-08-03 11:37:30 -04:00
zangamj
cce72994c2 Finished ItemGoldDimDoor. 2016-08-03 11:20:04 -04:00
zangamj
a046508e45 Finished ItemDimensionalDoor. 2016-08-03 11:15:34 -04:00
zangamj
31fe99fdbc Finished rift block and DDKey item rendering. 2016-08-03 11:02:06 -04:00
Michael Zanga
17e9921bb4 Finished ItemDDKey.
Refactored render manager since it only handles items.
2016-08-02 15:32:28 -04:00
Michael Zanga
0735aa7722 Finished DispenserBehaviourStabilizedRS. 2016-08-02 14:47:53 -04:00
Michael Zanga
0077a1860d Finished BaseItemDoor. 2016-08-02 14:47:20 -04:00
Michael Zanga
0756e94e01 Nearly finished BaseItemDoor, need to find placeDoorBlock method. 2016-07-29 16:44:30 -04:00
Michael Zanga
cecdc7c12c Finished WarpDoor. 2016-07-29 09:43:12 -04:00
Michael Zanga
07d6a1f120 Finished UnstableDoor, fixed a typo.
UnstableDoor's lower texture is the same as an iron door.
2016-07-29 09:24:59 -04:00
Michael Zanga
8e26caa13f Finished TransTrapdoor? 2016-07-22 15:40:00 -04:00
Michael Zanga
bce429e17e Started on TransTrapdoor.\nThese may need fixing later; trapdoors lost some functionality since 1.7.10 2016-07-21 16:57:56 -04:00
Michael Zanga
b1fa82fc63 Finished TransientDoor.
Better sanity check in BaseDimDoor.
2016-07-21 10:58:50 -04:00
Michael Zanga
d36bc87a6a Finished PersonalDimDoor.
Removed iron door jsons since they're now unnecessary
2016-07-21 10:16:00 -04:00
zangamj
6480fb386c Finished DimensionalDoor 2016-07-20 14:32:03 -04:00
zangamj
863f5644e0 Finished BlockRift 2016-07-20 11:33:37 -04:00
Waterpicker
a1254ae8d5 Fixed Network and TileEnties 2016-07-16 06:21:55 -05:00
zangamj
bdf7532b14 Finished BlockLimbo.
There are extra texture files for limbo blocks that appear unused; I left
them in case I'm wrong.
2016-07-13 12:14:33 -04:00
zangamj
881ead8acf Finished BlockGoldDimDoor. Removed gold dim door textures since they are identical to gold door textures. 2016-07-13 11:35:47 -04:00
zangamj
989c917515 Finished BlockDoorQuartz 2016-07-12 14:03:40 -04:00
Michael Zanga
89e609add0 Finished BlockDoorGold 2016-07-12 11:18:02 -04:00
Michael Zanga
18a4af015b Finished BlockDimWallPerm 2016-06-28 10:33:14 -04:00
Michael Zanga
201e7d46b7 Finished blockDimWall 2016-06-28 09:52:21 -04:00
zangamj
8e6626e46a Progress on BlockDimWall and its respective ItemBlock. 2016-06-24 16:43:59 -04:00
Waterpicker
09eb9ab48d I might gone overboard with how deep I went this time. 2016-06-24 00:38:41 -05:00
zangamj
1b87445f8a Finished BaseDimDoor. 2016-06-21 20:59:56 -04:00
Waterpicker
dec10296a5 Did a bit updating. 2016-06-21 11:28:28 -05:00
zangamj
563c950c17 More work on BaseDimDoor. Corrected mistake in CommonProxy. 2016-06-18 19:10:31 -04:00
zangamj
e6cc4c292f Began work on BaseDimDoor. Copied relevant json files for door blockstates and models. 2016-06-18 13:02:36 -04:00
zangamj
4f94735c79 Finished changes to ClientProxy 2016-06-18 12:28:16 -04:00
zangamj
88a5f573a0 Main mod file and CommonProxy finished, ClientProxy almost done.
Need to research mob rendering to finish.
2016-06-16 14:05:30 -04:00
zangamj
45d6de97d3 More work done 2016-06-16 10:41:19 -04:00
zangamj
30a79a8423 Begin work on refactoring and 1.8.9 updates 2016-06-15 15:03:28 -04:00
Stephen Baynham
ecf7fd12f1 Increment version 2015-07-21 20:17:11 -04:00
Stephen Baynham
cd70c1b20b Forgot this 2015-07-21 20:16:17 -04:00
Stephen Baynham
caca861c7b Fixes #35
If there is a problem reading the blacklist file from disk, previously,
null would be returned from the DDSaveHandler.readBlacklist method.  This
would result in a crash later on down the line when we tried to iterate
the blacklist.  Now we return an empty array.  I'd like to be able to
diagnose the issues causing the blacklist file to be corrupted, but
unfortunately when this issue crops up, people only post the crash :(
2015-07-21 20:09:51 -04:00
Stephen Baynham
5e7cb14219 Fixes #22
If the server disconnected you due to a timeout or whatever, the pocket
manager would appropriately unload all dimension & pocket data, but it
would do so moments before the world unloaded, meaning that entities would
sometimes, on update or as part of their renderer, attempt to access the
dimensional data.  This places a new guard condition that attempts to stop
that from crashing the client.
2015-07-21 19:57:29 -04:00
Stephen Baynham
c15e4253e8 Stop a launch crash.
Check whether pocket data is loaded before attempting to pull dimension
data.
2015-07-21 19:49:40 -04:00
Stephen Baynham
dacc736508 Fixes #18
On startup, existing sub-dimensions of personal dimensions were being
given the wrong worldprovider by the launch code.  The reason for this is
that subdimensions are not added to the player -> dimension mapping for
personal dimensions, because there is only one canonical "personal"
dimension.  The launch code was using presence or absence in the mapping
to determine whether a dimension is personal, rather than the dimension
type.  This is now fixed.
2015-07-21 19:48:18 -04:00
Stephen Baynham
27d17d86a1 New guard condition in genreateLightBrightnessTable()
Some users were reporting very sporatic crashes in
generateLightBrightnessTable() when the server was starting up.  It's
possible that very occasionally, the server will register the pocket
dimension before any pocket dimension data is initialized, forcing the
light brightness table to get generated server side with bad values.
2015-07-21 19:01:36 -04:00
Stephen Baynham
7a82abf182 Moved network infrastructure over to the simplenetworkwrapper. 2015-07-21 18:42:25 -04:00
Stephen Baynham
337f0240a6 Added a few guard conditions to shutdown code.
In some cases (such as another mod crashing on startup or something), the
server shutdown even was getting called before anything was actually
initialize.  In these cases, some uninitialized objects were having
cleanup methods called on them, when they were null.  There are now guard
conditions to prevent the resulting NPE's.
2015-07-21 18:31:33 -04:00
CannibalVox
e0ffcaa98d Assuming implementation details don't match the contract is no. 2015-07-19 10:23:02 -04:00
Steve
2dea8e1a13 added check to see if dimension already registered
-this stops errors on player logout and login without shutting down
client.
2015-07-19 10:14:56 -04:00
Steve
2b411ce4cf Fix crash on exiting personal pocket dimension
-changed unload() function to tryunload() to quiet shutdown error
messages. If using unload() was intentional, don't do this.
2015-07-19 10:13:04 -04:00
CannibalVox
d91ad394cb Make personal links always send players to their own personal dimension. 2015-03-19 19:51:54 -05:00
CannibalVox
91f96c825c Don't try to check a dim type before we have dim data. Relight dimension
when we get it.
2015-03-17 11:25:11 -05:00
CannibalVox
d01bbb488e Don't crash in SMP when using key 2015-03-17 10:40:03 -05:00
CannibalVox
44a0d4b3ec Correct various weirdness with personal doors in pocket dimensions 2015-03-15 22:19:13 -05:00
CannibalVox
bb2525d94e Moved the onlogin network message to do what it should have been doing 2015-03-12 12:16:39 -05:00
CannibalVox
7e8b682c23 Unload dimensions on discon, don't freak out on TE load if dimensions
aren't there
2015-03-12 11:33:33 -05:00
CannibalVox
6651559793 I MIGHT have copy/pasted this from starmall. 2015-03-12 11:12:51 -05:00
CannibalVox
d210b9b91c Register the dimensions early in the connection process so we can actually
log in and stuff.
2015-03-12 10:55:30 -05:00
CannibalVox
4f7e7a6925 Merge branch 'master' of github.com:CannibalVox/DimDoors 2015-03-12 06:36:54 -05:00
CannibalVox
41c88d1904 Personal dim door should require quartz doors, not gold doors. 2015-03-12 06:36:36 -05:00
DragonsLover
74ac7e5e6f Adding French Canadian language 2015-03-11 17:08:25 -04:00
TheVikingWarrior
79f60fb425 Create it_IT.lang 2015-03-11 17:09:30 +01:00
CannibalVox
ed91e3161f Merge branch 'master' of github.com:CannibalVox/DimDoors 2015-03-11 09:29:25 -05:00
CannibalVox
4bb42971c8 A bunch of blocks weren't properly rift-immune because they weren't
initted yet
2015-03-11 09:28:59 -05:00
Mrkwtkr
a4c1d3aa70 Create zh_CN.lang
:P
2015-03-11 21:29:01 +08:00
CannibalVox
6907350f00 Personal links set a destination for annoying cruft reasons. Easier to
ignore it when someone is generating a personal dim than fix that.
2015-03-11 08:22:24 -05:00
CannibalVox
ec180f46f0 Merge branch 'master' of github.com:CannibalVox/DimDoors 2015-03-11 07:46:10 -05:00
CannibalVox
d2c8877c26 Give personal dims the right provider on client-side 2015-03-11 07:45:51 -05:00
Cannibal Vox
66ac4d8512 Merge pull request #1 from Adaptivity/patch-1
Create ru_RU.lang
2015-03-11 01:42:16 -05:00
Vexatos
45b89abe90 Create de_DE.lang 2015-03-11 07:10:32 +01:00
Anton
8acbada3ba Create ru_RU.lang 2015-03-11 07:55:59 +03:00
CannibalVox
1464638fff Fixed SSP- stop the network code from doubling up adds/deletes 2015-03-10 16:59:34 -05:00
CannibalVox
af0d1450a4 SMP crash on rift creation 2015-03-10 13:57:11 -05:00
CannibalVox
0c70b0760b This event appeared to be unnecessary and was jacking up SSP 2015-03-10 13:44:00 -05:00
CannibalVox
8d282cb021 Decided to actually plug in the network. idea copyright olloth 2015 2015-03-10 13:13:26 -05:00
CannibalVox
43e67bdbd3 Don't crash server on startup trying to use sounds 2015-03-10 10:48:36 -05:00
CannibalVox
585b0685d0 Fixed a lot of WAILA weirdness 2015-03-10 10:36:39 -05:00
CannibalVox
e5af4f5964 Fixed some keyhole texture case sensitivity thing- also let's not use the
build output resources folder as a dumping ground for textures, thanks.
2015-03-10 09:39:14 -05:00
CannibalVox
8073ee6a32 Localize ALL THE THINGS! 2015-03-10 08:57:08 -05:00
CannibalVox
6aeed2c0e5 Fix version 2015-03-10 05:50:49 -05:00
CannibalVox
f9addaf115 Update these field names 2015-03-10 05:17:09 -05:00
CannibalVox
e15bfbd2d1 Some tweaks to the monolith- make it look great. 2015-03-10 04:28:31 -05:00
CannibalVox
7c11003686 Key monolith behavior in to config file 2015-03-10 04:20:29 -05:00
CannibalVox
c72a03b558 Fixed limbo music 2015-03-10 04:03:45 -05:00
CannibalVox
07a986d39d Remove the procedural stuff more completely 2015-03-10 03:50:50 -05:00
CannibalVox
ff890fe7b6 If obelisks are just going to watch in limbo, make them act like that 2015-03-10 03:49:59 -05:00
CannibalVox
d4ff48435c Remove poly2tri because it's for stuff that never got finished 2015-03-10 03:29:42 -05:00
CannibalVox
c46e08c76e Make parts other than the monolith eye visible 2015-03-10 03:24:02 -05:00
CannibalVox
8368c55478 Obelisk eyes don't draw through walls now 2015-03-10 02:56:42 -05:00
CannibalVox
2ca661cc45 Fixed decay trying to decay limbo blocks then crashing 2015-03-10 02:56:18 -05:00
CannibalVox
42a04ff156 Fix sounds for 1.7 2015-03-10 02:55:15 -05:00
CannibalVox
198d1ac56f Remove the procedural rift rendering 2015-03-09 16:10:02 -05:00
CannibalVox
8c30d67ba2 Where'd that ++ come from? That shouldn't be there. 2015-03-09 16:09:35 -05:00
CannibalVox
394495baa6 Migrated the dungeons to 1.7 2015-03-09 16:07:48 -05:00
CannibalVox
735b06ded2 Forgot to register block rotations 2015-03-09 10:36:25 -05:00
CannibalVox
e47e9597ac Fix rotation issue for dimdoors 2015-03-09 09:35:06 -05:00
CannibalVox
76d2f20f5d Fix rifts not rendering, fix rifts not closing, door blocks not synched 2015-03-09 03:36:56 -05:00
CannibalVox
4d26a2ec31 Initial rendering fix for rifts 2015-03-08 17:46:42 -05:00
CannibalVox
22654722b6 Turns out items have to be registered now & other spot fixes 2015-03-07 02:20:06 -06:00
CannibalVox
5ef42b6bd3 Apparently biome 149 is taken by minecraft 2015-03-07 01:49:46 -06:00
CannibalVox
f78fadd8a8 I think this is how you use forgemessages(???) 2015-03-07 01:45:12 -06:00
CannibalVox
db92637ea3 Finally got the AT working 2015-03-07 01:34:17 -06:00
CannibalVox
89f256af09 Need to actally update this build script. 2015-03-06 21:05:43 -06:00
CannibalVox
6457c562a6 Fix schematics & add TE sync 2015-03-06 20:57:05 -06:00
CannibalVox
a0cf769bda More schematic fixes 2015-03-05 15:52:15 -06:00
CannibalVox
43c606c687 Some schematic fixes 2015-03-05 15:47:06 -06:00
CannibalVox
2a5774d477 Updated most of the networking code... a lot of it is probably broken
still
2015-03-05 15:28:37 -06:00
CannibalVox
c075079630 Fix sounds & last of the low-hanging fruit 2015-03-04 04:09:48 -06:00
CannibalVox
fe40edf200 More low-hanging fruit. 2015-03-04 01:10:39 -06:00
CannibalVox
63b0547069 Update low-hanging fruit to 1.7.10 2015-03-04 00:43:28 -06:00
StevenRS11
7b77b268bf rift render growth and removal 2014-08-21 18:42:24 -05:00
StevenRS11
910f991734 render color final 2014-08-20 22:55:29 -05:00
StevenRS11
a55fdbfd0f rift render canidate 2014-08-20 21:44:16 -05:00
StevenRS11
0dd1f1b293 more changes 2014-08-20 17:15:04 -05:00
StevenRS11
dc7a19c2f3 render effect iteration 2014-08-20 16:58:52 -05:00
StevenRS11
04ec4b3d2d jitter together! 2014-08-19 18:50:18 -05:00
StevenRS11
68ff8f6921 Added triangulation library and rift render
Major change is addition of fractal rift rendering, currently first
pass.

Curves are registered and pregenerated in mod_pocketDim.

Rifts look up these curves, choose one, rotate it, and render it.

The render is a TESR that does stuff. Hard to explain, look at
RenderRift in the code and look at the actual rifts in game to get an
idea of what it does.

I had to add a triangulation library to accomplish this. Will hopefully
do something else  that drag around all this.

(I tried(and used comments))
2014-08-19 17:36:07 -05:00
StevenRS11
499c7d91d8 Formatting change
Aformentioned merge wouldnt commit for some reason

PLEASE REVIEW THIS AND THE PREVIOUS COMMIT
2014-07-16 10:41:27 -05:00
StevenRS11
7c7129914a Merging murder 2014-07-16 10:24:24 -05:00
SenseiKiwi
20db828ac0 Fixed Crash on Rift Removal
Fixed a crash from manipulating rift data on the client side. I let this
happen because it seemed like TileEntityRift already did that before.
This crash also exposed another issue: that server-side functions are
being used on the client side. I'm not sure how pervasive this is but
some client dimensions are being constructed with the server-side
constructor.
2014-07-15 14:51:46 -04:00
SenseiKiwi
e793493331 Fixed Eager Dimension Data Creation
1. Fixed a design flaw in PocketManager. We originally assumed that all
requests to PocketManager.getDimensionData() had to be legitimate
requests for dimensions that existed. That was true in most cases, but
for things like processing user commands, it was dangerously optimistic.
It was possible that a flaw in DD's usage of that function could be
exploited by a player to trick the mod into pre-registering dimension
data for a non-existent dimension. That would declare the dimension as a
root. DD would crash later if Forge ever allocated that ID for a pocket
dimension. The new implementation is almost the same as the old one, but
allows us to differentiate between cases when we can eagerly create
dimension data, and cases in which the absence of a dimension should
cause a crash to alert us of a design flaw.
2. Remove the pocket regeneration code from PocketBuilder. We simply
don't support pocket regeneration and it's unlikely it'll ever be
implemented because it's a difficult issue. Wiping out pockets
completely is easier. We can always recover the code from this commit if
it's needed later.
3. Minor changes: removed some debug prints from PocketManager and
changed some static accesses in PocketBuilder.
2014-07-13 20:03:00 -04:00
SenseiKiwi
8544aa17ee Fixed Crash on World Creation
Fixed an issue. DD would crash when MC created a completely new world
because onChunkLoad() would be called before onWorldLoad(). That's not
the usual order. PocketManager would be unloaded at that point and would
return a null dimension.
2014-07-13 14:22:23 -04:00
SenseiKiwi
b20a0a74d2 Minor Change
Autocorrected indentation in PocketManager. I'll be working on changing
PocketManager to prevent the risk of creating data for a non-existent
dimension through a bad call to getDimensionData().
2014-07-13 07:17:30 -04:00
SenseiKiwi
fb1713ae0e Improvements to TileEntityRift
Made some improvements to TileEntityRift. The main reason for these
changes was to remove the field nearestRift - we should not hold on to
references to links. Now we simply track the location of the nearest
rift. I also confirmed that closeRift() and updateNearestRift() must be
allowed to run on both the client and the server. If the client doesn't
run those functions, then adjacent rifts don't connect as expected and
the rift removal animation doesn't work.
2014-07-12 03:36:56 -04:00
SenseiKiwi
2c7435585d Minor Changes
Removed a pointless check in yCoordHelper and corrected some comments in
RiftRegenerator. It turns out that ChunkProviderServer.chunkExists()
returns whether a chunk is loaded, not whether it has already been
created.
2014-07-11 15:44:01 -04:00
SenseiKiwi
107aa4b7f2 Cleaned up Transdimensional Trapdoor Code
Removed unnecessary code for the Transdimensional Trapdoor. Most of it
was code dedicated to updating TileEntityTransTrapdoor.hasRift. That
flag was never used for anything.
2014-07-11 04:33:19 -04:00
SenseiKiwi
1bf1f4f78c Improved Regeneration Code
1. Added code so that Transdimensional Trapdoors detect that they have
been broken and schedule rift regeneration at their location. This had
previously been neglected. Trapdoors deserve a little more attention.
2. Tweaked the breakBlock() code for BlockRift and BaseDimDoor so that
rift regeneration is only scheduled if the underlying block was removed.
We don't want that to happen if the only change was for metadata.
2014-07-11 04:10:12 -04:00
SenseiKiwi
29c8a09218 Improved Door Code
1. Removed code from BaseDimDoor that was already implemented almost
identically in BlockDoor. Clarified some uses of setBlock() by changing
them to setBlockToAir() instead.
2. Removed TileEntityDimDoor.invalidate() and moved the regeneration
scheduling code to BaseDimDoor.breakBlock(). I would prefer to move away
from overriding the invalidate() method. This also simplifies the code
since we don't need to perform some of the checks we had in
breakBlock().
2014-07-11 03:44:26 -04:00
SenseiKiwi
71e7fdaafc Implemented Regeneration for BlockRift
1. Made it so that rifts regenerate when rift blocks are replaced by
other blocks.
2. Changed the rift regeneration scheduling functions to streamline
their use in other classes. Common code that was needed to validate
links before calling those functions has been moved into them so that
the checks are always performed internally.
2014-07-11 03:26:40 -04:00
SenseiKiwi
1f59dc17d9 Implemented Scheduled Rift Regeneration
1. Implemented scheduled rift regeneration in RiftRegenerator. The
previous randomized selection algorithm has been removed completely. All
regeneration is scheduled now. We perform numerous checks to make sure
that regenerating a rift is safe.
2. Removed FastRiftRegenerator as RiftRegenerator performs roughly the
same task but with more flexibility. Updated TileEntityDimDoor to use
RiftRegenerator instead for creating rifts when doors are broken.
3. Modified EventHookContainer to receive the chunk loaded event. We
iterate over the list of links in a loaded chunk and schedule them for
regeneration.
4. Reorganized the code in BlockRift. Divided the list of immune blocks
into two lists - one for DD blocks and one for regular MC blocks.
RiftRegenerator has to be able to distinguish between the two types.
5. Factored out some duplicate code from ItemRiftSignature and
ItemStabilizedRiftSignature. Most of the block immunity checks were used
to check if it would be safe to spawn a rift when using one of those
items. BlockRift.tryPlacingRift() covers all that logic in a single
function and makes the item code a little simpler.
2014-07-11 01:21:43 -04:00
SenseiKiwi
79bd5102ba Minor Changes
Minor changes to DimLink to simplify DimLink.getDestinationOrientation()
and to clarify the output of DimLink.toString() when no destination is
available.
2014-07-10 18:29:48 -04:00
SenseiKiwi
b197237dfd Minor Change
Rewrote the NewDimData.deleteLink() version that would accept x, y, and
z as parameters. There was some redundant code for getting the
parameters from a Point4D instance just to create another one to find
the target link. Now we pass the source point in directly.
2014-07-10 18:25:41 -04:00
SenseiKiwi
85ff28298e Implemented Chunk-Links Mapping
Implemented support for tracking the list of links in each chunk in a
dimension. This will be used for scheduling rift regeneration when
chunks load.
2014-07-10 18:21:10 -04:00
SenseiKiwi
782c6d5e50 Minor Changes to NewDimData
Made some minor changes to NewDimData. Fixed some comments for the rift
search functions that incorrectly indicated the search would not detect
rifts adjacent to the center of the search range. That behavior changed
some time ago. Also added an unused field called "chunkMapping" for
associating chunks with lists of links. It'll be used for implementing
queuing of rift regeneration when chunks load.
2014-07-10 17:13:10 -04:00
SenseiKiwi
c00c65eeee Reorganized Tick Receivers
1. Reorganized our code to initialize tick receivers each time the
server starts rather than once when the mod is initialized. This is
needed because reusing a single instance of each class across different
single-player sessions could cause scheduled events for one world to
leak into another world. This approach ensures that we discard all
pending events.
2. Separated the implementation of Limbo decay from a tick receiver that
periodically triggers fast decay. All of the decay code has been kept in
LimboDecay, while the ticking is handled by LimboDecayScheduler. This
change separates some functionality that should be independent, but
also, it's needed so that BlockLimbo can have access to LimboDecay's
methods without holding on to a tick receiver instance.
3. Minor change: renamed ChunkLoaderHelper.loadChunkForcedWorlds() to
loadForcedChunkWorlds().
2014-07-10 15:11:44 -04:00
SenseiKiwi
c22479c0e8 Tick Handler Changes
1. Renamed CommonTickHandler to ServerTickHandler. Given that it only
handles server ticks, this seems like a reasonable name. Also changed
its profiler label to the new name.
2. Deleted ClientTickHandler and removed any references to it in
mod_pocketDim. It was never used for anything.
2014-07-10 08:28:42 -04:00
SenseiKiwi
8da0339c78 Improved DDTeleporter
Made various changes to clarify code in DDTeleporter. For instance, we
had a whole switch block that was used to give the same outcome on every
case except the default. I rewrote the code there to remove the block.
Also changed DDTeleporter.checkDestination() since it was redoing the
destination orientation checks unnecessarily, changing the entity's yaw
when it shouldn't have side effects, and some other little things.
2014-07-09 23:44:49 -04:00
SenseiKiwi
83998969f6 Fixed Version in mod_pocketDim
Forgot to change the placeholder in mod_pocketDim
2014-07-09 15:14:56 -04:00
SenseiKiwi
2904ec146d Implemented Automatic Versioning in Build Script
1. Changed build.gradle so that it edits the version numbers in
mod_pocketDim.java and mcmod.info.
2. Changed mod_pocketDim to use a placeholder for its version number and
fixed an annotation that was wrong. It would cause our mod_pocketDim
instance to not initialize properly. I removed what seemed to be
workarounds that were hiding the problem.
3. Fixed space in TileEntityDimDoor.invalidate() and corrected a
non-static access to a static field in mod_pocketDim.
4. Changed mcmod.info so that it users placeholders for the mod version
and MC version values.
2014-07-09 04:01:37 -04:00
SenseiKiwi
7d840ff895 Fixed Pick Block Results
We previously returned the Vanilla counterparts to our doors as the
items to be used by the pick block button - used in Creative mode for
replicating nearby blocks. This was incorrect because we would want to
return the actual door item needed to place the particular door in
question.

More importantly, this might solve our issues with WAILA reporting the
wrong information when players look at our doors. I read the code for
the most recent version of WAILA and it uses various functions to choose
how to identify a block. The result of Block.idPicked() is probably used
as the main source for the identities of our blocks.
2014-07-06 04:31:42 -04:00
SenseiKiwi
52bae00dc6 Minor Change
Minor change to remove a warning
2014-07-06 04:01:07 -04:00
SenseiKiwi
dc55359aaf Minor Changes
Made various minor changes to eliminate warnings or to improve clarity.
2014-07-07 03:56:47 -04:00
SenseiKiwi
58d5f6dd14 Minor Changes
Minor annotation changes to remove some warnings... and keep up my
GitHub spree.
2014-07-07 01:59:26 -04:00
SenseiKiwi
06cf72f9f7 Fixed Flawed Link Redirection
Fixed the way in which we handle redirecting links to blacklisted
dimensions. The previous method always converted links into safe exits.
This lead to strange situations that could be seen as bugs. For
instance, using a dungeon entrance in a root dimension would generate an
exit door and a supporting platform directly above the entrance door.
That also meant that any visited dungeons would be unusable if they were
reset.

We now do different things depending on the location of the link and its
type. If the link is a dungeon link, then its destination is reset to
allow a new dungeon to form. For other link types, if the link is in a
pocket dimension, then it becomes a safe exit link, because it could be
the only way out. If it's in a root dimension, then there are no
reasonable destinations, so the teleport request is cancelled.
2014-07-05 21:28:10 -04:00
SenseiKiwi
100fa38c52 Minor Changes to DDTeleporter
Made some minor changes to DDTeleporter to get rid of a few warnings.
Also tweaked and commented DDTeleporter.initializeDestination(). There
were inappropriate references to a link's internal variables instead of
using its getters and there was a subtle link overwrite for blacklist
destinations. Without comments, it would probably be unclear that
overwriting that link is safe. This changes are in preparation for
fixing issues with blacklisted destination redirection.
2014-07-05 14:18:18 -04:00
SenseiKiwi
17a770eaf0 Minor Change
Added two comments to CommandTeleportPlayer
2014-07-04 20:55:57 -04:00
SenseiKiwi
16f0a8303a Rewrote CommandTeleportPlayer
Rewrote CommandTeleportPlayer for the same reason as usual. There were a
few bugs before, such as that lookups for players were limited to within
the world from which the command sender was using the command. Players
in other dimensions could not be teleported. The command would also
place people in the ground because it did not adjust its coordinates for
the way that DDTeleporter interprets them - as the location of the top
block of a door and the player's head.
2014-07-04 20:20:46 -04:00
SenseiKiwi
1e3b32a15c Minor Change
Removed a reference to CommandDeleteAllLinks from mod_pocketDim.
2014-07-04 14:06:41 -04:00
SenseiKiwi
4d53ae5f6a Removed CommandDeleteAllLinks
I removed CommandDeleteAllLinks because of the significant risk that it
would harm a server. It's possible that someone could run this by
accident instead of CommandDeleteRifts. It takes the same arguments or
even no arguments and it would immediately wipe all links in a
dimension. We can restore it later if it's really needed.
2014-07-04 13:53:44 -04:00
SenseiKiwi
d3860119e9 Minor Change to PocketManager
Added a minor check to PocketManager.loadDimension() so that an attempt
to load an unregistered dimension won't be passed on to Forge where it
would cause an exception - which is then caught by Forge before it can
cause problems. This isn't strictly necessary, but it's a nice
consideration.
2014-07-04 13:05:08 -04:00
SenseiKiwi
f64768ed16 Rewrote DeleteFolder
Rewrote the helper class DeleteFolder. It was leaving behind empty
directories when pockets were deleted.
2014-07-04 02:14:24 -04:00
SenseiKiwi
c1e58c25cc Increased Max Monolith Aggro
Increased the maximum Monolith aggro level and the cap range values by a
factor of 1.25. The max aggro increase is to slow down how long it takes
Monoliths to max out because they're just a little too fast right now.
The cap adjustments will preserve the range of texture states they can
have while idling.
2014-07-04 01:17:25 -04:00
SenseiKiwi
805e9dd040 Minor Changes
Fixed up a few spots to clear some warnings.
2014-07-03 22:49:15 -04:00
SenseiKiwi
972a67de76 Rewrote CommandResetDungeons
1. Rewrote CommandResetDungeons to improve clarity and remove bugs. This
version of the command preserves valid links. Those were previously
removed, which would break some dungeons unnecessarily.
2. Fixed NewDimData.setParentToRoot(). The function did not account for
the possibility that the target's parent might still exist and would
need to be updated, leading to conflicting data. It also did not reset
pack depth. We now correctly update a dimension and all its descendants.
2014-07-03 22:46:31 -04:00
SenseiKiwi
592aabf627 Minor Change
Added a comment in PocketManager to explain why we don't unregister
pocket dimensions with Forge when we delete them.
2014-07-03 17:32:40 -04:00
SenseiKiwi
b4a58f5c88 Simplified PocketManager
1. Rewrote or removed a few bits that were causing minor warnings.
2. Rewrote deleteDimensionFiles() and deleteDimensionData() to remove
unnecessary casts and checks. We can confirm that those checks are
unnecessary because those functions are only used inside PocketManager.
If they were ever exposed externally, then we would need to add checks
again.
2014-07-03 17:20:59 -04:00
SenseiKiwi
80bb87dac6 Rewrote CommandDeleteRifts
Rewrote CommandDeleteRifts for clarity and to remove several flaws.
Previously, the command would have removed non-immune blocks that were
in the same location as a rift. It also set blocks in the command
sender's dimension rather than the target dimension, so blocks would
have potentially disappeared from the wrong world.
2014-07-03 14:19:08 -04:00
SenseiKiwi
c5a77268fc Changes to Commands
Removed a few server-side checks that I missed on the previous commit.
2014-07-03 14:08:51 -04:00
SenseiKiwi
262595ff4d Changes to Commands
1. Fixed some warnings in the affected commands.
2. Removed checks for whether a command is running on the server or
client side. We have performed those checks inconsistently throughout
our commands without problems. I assume that they must be running on the
server side only. If I'm wrong, we can add a check to DDCommandBase.
3. Minor punctuation change in DDCommandResult
2014-07-03 12:25:00 -04:00
SenseiKiwi
c29db9b729 Minor Changes
Cleaned up the code in DDCommandBase a little.
2014-07-03 12:02:36 -04:00
SenseiKiwi
ec290b0dc1 Increased Version Number
Increased the mod's version number to account for recent fixes and small
features.
2014-07-02 13:59:55 -04:00
SenseiKiwi
3d88e72ecb Fixed Bugs in Golden Dimensional Doors
1. We weren't giving old tickets to the doors that owned them. That
would result in doors requesting new tickets and the old ones wouldn't
be released. Each time a server rebooted, a new ticket would be created.
Then Opis would report that many chunks were forcefully loaded in a
pocket because it doesn't consider overlapping tickets. We now give
doors their old tickets when they're reloaded and we release extra
tickets referring to the same door. That will also deal with the excess
tickets that already exist on servers.
2. Rewrote the logic for checking if a Golden Dimensional Door is
allowed to force-load a pocket. We now check if the door is within the
horizontal bounds of the pocket. This prevents the confusing scenario
where someone places a door far away from the pocket but the only chunks
affected are in the pocket.
3. Fixed the calculation for determining which chunks must be
force-loaded to cover a pocket. This has the benefit that fewer chunks
should need to be loaded. It should be enough to load 16 chunks. We
previously loaded 25 chunks just to err on the side of caution.
4. Golden Dimensional Doors only try to initialize as chunk loaders
once. We previously allowed them to keep trying every tick until they
could get a ticket.
2014-07-02 13:38:57 -04:00
SenseiKiwi
b2e086e7c1 Added the Universal Limbo Setting
Added the Universal Limbo config option to the world config settings.
When enabled, it causes players to get teleported to Limbo if they die
in any dimension except Limbo. It's disabled by default.

This feature was requested by Mr_Turing.
2014-07-01 21:55:57 -04:00
SenseiKiwi
e3665c09dd Added Hunger Restoration on Limbo Respawn
Added code to EventHookContainer.revivePlayerInLimbo() so that the
player's food level is restored upon respawning in Limbo. Apparently it
was possible for players to have death loops from starving to death in
Hardcore Limbo.
2014-06-28 13:06:22 -04:00
StevenRS11
fb4643d7cf deleted renderRift 2014-06-27 16:27:23 -04:00
StevenRS11
5ba58dc91b Merge remote-tracking branch 'origin/master' into StevenRS
Conflicts:
	src/main/java/StevenDimDoors/mod_pocketDim/CraftingManager.java
	src/main/java/StevenDimDoors/mod_pocketDim/EventHookContainer.java
	src/main/java/StevenDimDoors/mod_pocketDim/core/DDTeleporter.java
	src/main/java/StevenDimDoors/mod_pocketDim/core/DimLink.java
	src/main/java/StevenDimDoors/mod_pocketDim/items/ItemRiftSignature.java

	src/main/java/StevenDimDoors/mod_pocketDim/items/ItemStabilizedRiftSignature.java
	src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java
	src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java
	src/main/java/StevenDimDoors/mod_pocketDimClient/RenderRift.java
2014-06-27 16:26:46 -04:00
SenseiKiwi
42568a1864 Removed RenderRift
Removed the RenderRift class since it relates to unused functionality
and references fields that I removed from TileEntityRift.
2014-06-26 12:20:19 -04:00
SenseiKiwi
e40168954f Minor Change to TileEntityRift
Changed the function call for playing the rift-closing sound to match
other similar calls in Minecraft - the sound should target the center of
the block. I also switched the last flag argument. It seems to determine
whether distance between the player and the source should be checked
when playing back the sound, although documentation is lacking so I
can't be sure. Other blocks that use that function use "false", while
things involving sounds that should be heard uniformly, such as
rainfall, use "true".
---
I noticed that this code runs on the client and server. Some parts
modify link data and rifts on the client side. We should really stop
this from happening as it could lead to inconsistencies.
2014-06-26 12:17:59 -04:00
SenseiKiwi
59f335ac8c Added Dispenser Support for SRS
Added support for using Stabilized Rift Signatures from dispensers under
specific conditions. Everything works except for playing the sound that
occurs when an SRS is used. Not sure why that's not working.
2014-06-26 12:11:51 -04:00
SenseiKiwi
444b862b12 Minor Change
Renamed the field mod_pocketDim.itemStabilizedLinkSignature to
itemStabilizedRiftSignature to follow the item's actual name.
2014-06-26 09:19:04 -04:00
SenseiKiwi
a0629b51a3 Improvements to TileEntityRift
1. Removed several fields and functions referring to the newer rendering
code. The functions were just cluttering up the code and the fields were
consuming additional memory that was never being used for anything.
2. Updated NBT reading and writing functions to give some tags proper
names and to remove references to unused fields.
Removed the tag for riftCloseTimer because it was unnecessary alongside
the shouldClose flag. If a server reboots while a rift is closing, the
rift can start over upon reloading.
3. Renamed some fields and functions to have better names.
4. Changed the various checks for closing rifts. There were a few
redundant parts. We don't have to put calls to "this.invalidate()"
everywhere on top of explicitly removing the tile entity and destroying
its block.
5. Rewrote update timing checks. The rift spread and Enderman spawning
calls have been separated to distribute the impact of updating a rift.
Also, a flaw in the timing logic meant that the calculations for
particle offsets would only run when a rift was first created. That's
been fixed.
2014-06-26 07:06:17 -04:00
SenseiKiwi
364ba11f81 Updates to TileEntityRift
1. Fixed the bug where the setting that controls whether Endermen can
spawn from rifts was being ignored. It was never checked at all.
2. Cleaned up some formatting and annotations.
3. Removed call to World.removeBlockTileEntity() following a call to
World.setBlockToAir(). The latter function already handles removing the
tile entity.
2014-06-26 05:40:35 -04:00
SenseiKiwi
96238d6b53 Minor Change
Minor spacing and annotation changes.
2014-06-26 04:52:32 -04:00
SenseiKiwi
448890207f Completed Changes to Stabilized Rift Signature
Completed the change to Stabilized Rift Signatures so that overwriting
links that already belonged to an SRS is done for free.
2014-06-26 04:52:03 -04:00
StevenRS11
46f55b22d9 restricted brightness inversion to dungeons only 2014-06-26 02:16:57 -04:00
StevenRS11
9baceb8e3c Added backwards light and bugfixes
Light in pockets is now reversed
added sound to lock removal
fixed monolith name
fixed other names
2014-06-26 00:08:20 -04:00
SenseiKiwi
fe035f6677 Renamed Function in NewDimData
Renamed NewDimData.setDestination() to setLinkDestination(). I realized
that the name was a little confusing at first sight - it confused me!
2014-06-25 20:15:43 -04:00
SenseiKiwi
4192270ef3 Changes and Fixes to Rift Signature Variants
1. Changed hasEffect() override since we were overriding a deprecated
version.
2. Fixed a bug where we checked if a block could be edited before
deciding whether to change the Y coordinate of the rift to be placed.
Sometimes we would place the rift in a different block. This is the
result of sticking in support for special blocks like grass and snow
without considering the impact on surrounding code. It also contradicted
comments that specifically said special blocks were ignored...
3. Cleaned up the code for checking for special blocks.
4. Fixed a bug in loading NBT data. There were no null checks on
orientation data. If a Rift Signature or Stabilized Rift Signature had
been created in a version of DD before orientations were set up, then it
cause an exception when so much as looked at in later versions of DD.
5. Partially implemented free redirects for Stabilized Rift Signatures.
The check to determine if a redirect is being done is missing.
2014-06-25 20:13:03 -04:00
SenseiKiwi
0029d9dac0 Reduced Usage of Stable Fabric
1. Changed the crafting recipes for most DD items to use Ender Pearls
instead of Stable Fabric. The items that still use Stable Fabric are
Dimensional Doors, Golden Dimensional Doors, Rift Blades, and Stabilized
Rift Signatures. Steven had already made this change in another branch
but I'd like to push this out with several bug fixes. The SRS recipe is
different from his version - it's now just 4 Iron Ingots and a Stable
Fabric.
2. Change Stabilized Rift Signatures back to consuming Ender Pearls
instead of Stable Fabric.
2014-06-25 19:00:41 -04:00
StevenRS11
eff8379325 Added lock removal ability to keys
also fixed a network bug
2014-06-25 17:46:33 -04:00
StevenRS11
96d84ed2fa Fixed Json Schema
The schema incorrectly listed the array of children in LinkData as an
Array of numbers, not an array of objects with properties.
2014-06-25 16:17:26 -04:00
StevenRS11
0f3d40ba60 Various
Finished implementing Personal Pockets
-any pocket created from within a personal pocket retains personal
status
-exit doors cannot be used in any personal pockets
-personal status is saved with dimData

fixed a bug that let trapdoors get around locks
fixed FoR not rendering properly
-inventory and world
2014-06-25 15:26:42 -04:00
SenseiKiwi
794310bd98 Fixed Max Stack Size of ItemGoldDoor
Changed the max stack size of ItemGoldDoor to 16 as it is for Vanilla
doors on some modpacks. Later versions of Vanilla have door stacking to
64 so this will need to change eventually.
2014-06-25 15:18:50 -04:00
SenseiKiwi
a4d0f39390 Minor Change
Cleaned up comments for BaseItemDoor.tryToPlaceDoor()
2014-06-25 15:08:30 -04:00
SenseiKiwi
e4e84644ac Changed Door Item Mapping Code
1. Changed EventHookContainer to remove a check against
BaseItemDoor.getDoorToPlace().  The checks performed there can be done
in BaseItemDoor.tryToPlaceDoor(), which removes the need for callers to
know more internal details about how doors are handled. I moved the
checks inside.
2. Renamed vanillaDoorMapping to doorItemMapping. It now maps dim door
items to themselves to remove the need for various checks we were
performing. Updated BaseItemDoor's constructor to reflect this change.
3. Removed BaseItemDoor.getDoorToPlace() and integrated its
functionality into BaseItemDoor.tryToPlaceDoor().
4. Changed BaseItemDoor.tryToPlaceDoor() so that it simply returns false
if a given item stack cannot be used to place any doors. We don't need
to check if the item is an ItemDoor or anything like that now.
2014-06-25 14:56:59 -04:00
SenseiKiwi
660ff4255e Code Cleaning
1. Cleaned up some spacing and unused imports in EventHookContainer.
Also changed an indirect reference to BaseItemDoor.trytoPlaceDoor() to a
direct reference seeing as the function is static and should be accessed
that way.
2. Renamed getDoortoItemMapping() to getDoorBlock(). The original named
had a minor capitalization mistake and implied that it would return a
mapping table or would associate doors to items. The function actually
associates items to door blocks.
2014-06-25 14:33:19 -04:00
StevenRS11
1410d4b251 made versioning slightly better 2014-06-25 14:13:49 -04:00
SenseiKiwi
161da193ad Merge remote-tracking branch 'upstream/master' 2014-06-25 14:04:56 -04:00
SenseiKiwi
4d39d13703 Changes to Monolith Behavior
1. Stopped Monoliths from teleporting players while in Limbo. This was a
serious issue on some modpacks if players got unlucky.
2. Decreased the required Monolith aggro level to start spawning
particles around a target player. The required level was so high,
combined with the current Monolith speed, that players would hardly see
the particles.
3. Disabled Monolith sounds in Limbo. Some of the sounds were really
annoying in Limbo. Usually they only get to play for a moment before a
player is teleported, but since no teleports occur in Limbo and the area
is full of Monoliths, the constant noise is aggravating. It would also
drown out the background music.
2014-06-25 14:04:08 -04:00
StevenRS11
18666f58b1 Added versioning to save files and DimensionType 2014-06-25 04:37:40 -04:00
StevenRS11
9e720cb458 Changed linkTypes to linkType, an enum 2014-06-25 02:12:07 -04:00
StevenRS11
968653e4ab fixed typo in DimDataProcessor and DungeonHelper 2014-06-20 14:13:33 -04:00
StevenRS11
eeb5f9aea1 added json validation for saves 2014-06-20 14:04:07 -04:00
StevenRS11
117ed69bf7 added dimdata schema 2014-06-20 13:46:36 -04:00
StevenRS11
0d53f6c029 Actually fix door crash 2014-05-31 06:43:28 -04:00
StevenRS11
dccb12116d Naming improvements
Clarified naming in DDLock and associated methods. Still not quite done.
2014-05-31 06:39:26 -04:00
StevenRS11
e8fa928c50 lock tweaks
Changed how locks are modified so all modifications occur through
NewDimData
2014-05-29 19:04:23 -04:00
SenseiKiwi
f9331e4f2d Merge remote-tracking branch 'upstream/master' 2014-05-29 17:20:30 -04:00
StevenRS11
7da3b7fc62 Patched a door crash bug
thanks LClouds
2014-05-26 22:23:36 -04:00
StevenRS11
77241e6f90 limbo fix 2014-05-26 22:14:20 -04:00
StevenRS11
844950b39e teaked personal pocket generation rules 2014-05-26 21:31:14 -04:00
StevenRS11
16d7bfcda6 personal pockets DONE 2014-05-26 19:38:01 -04:00
StevenRS11
d8fecd07b3 render tweaks 2014-05-22 01:48:21 -04:00
StevenRS11
86cfcdeee8 last few changes 2014-05-22 01:37:04 -04:00
StevenRS11
3f6e32dcbf last tweaks done 2014-05-22 01:03:17 -04:00
StevenRS11
3fcc55b5e1 finished networking changes for locks 2014-05-22 00:15:27 -04:00
StevenRS11
ef860e295e more stuffs
Lock render is still wip, as are most things. That said, I can render
monolith eyes anywhere now.
2014-05-20 19:13:26 -04:00
StevenRS11
8f9dfea947 added locking doors and cleaned up 2014-05-20 03:17:32 -04:00
StevenRS11
ac9b3d73e8 Various
Fixed bug in converting old saves
Started color work
2014-05-16 21:42:59 -04:00
SenseiKiwi
8d1028ccb5 Changes to CraftingManager
* Fixed a mistake in the crafting recipe for Golden Dim Doors
* Removed static import of fields from mod_pocketDim. There were already
qualified references to those fields in some areas. We should be
consistent.
2014-05-15 06:45:26 -04:00
StevenRS11
d020dd384b toString ftw 2014-05-15 05:53:28 -04:00
SenseiKiwi
3a2c87cce9 Tweaked Monolith Aggro Rate
* Decreased aggro rate to 3 to compensate for Monoliths pre-aggroing up
to aggroCap
* Clarified aggroCap selection
2014-05-06 03:32:14 -04:00
StevenRS11
03ab75b80c tweak 2014-05-06 03:32:14 -04:00
StevenRS11
f4efa7dca2 codemunching 2014-05-06 03:32:13 -04:00
SenseiKiwi
f427e66f6e More Changes to Monoliths
* Fixed issue with Monoliths detecting players through walls
* Changed aggro values from bytes to shorts
* Fixed aggro updates so that aggro levels can decrease
* Fixed upper bound on aggro clamping
* Added client/server-side checks to a few functions to save on
performing pointless checks, such as making calculations for spawning
particles on the server
2014-05-05 22:37:14 -04:00
SenseiKiwi
928adab4cf Minor Change in RiftRegenerator
Removed an unnecessary cast in RiftRegenerator
2014-05-05 19:56:21 -04:00
SenseiKiwi
ef2e9cc561 Merge remote-tracking branch 'upstream/master' 2014-05-05 19:55:43 -04:00
SenseiKiwi
7cabf75128 Overhauled Monoliths
Removed lots of obsolete and unused code from Monoliths. The code is
subdivided more clearly now. The aggro level is sent over a data watcher
instead of sending the texture state.
2014-05-05 19:55:16 -04:00
StevenRS11
9003d924ea Fixed Door Render 2014-05-05 19:10:58 -04:00
SenseiKiwi
b15a8af299 Minor Change
Minor change to a line in CustomLimboPopulator. We should access static
fields through their classes, not instances.
2014-04-30 04:40:33 -04:00
SenseiKiwi
871d2ff1c2 Fixed Golden Door Item ID Mishandling
Keybounce noticed that he was having a persistent item ID conflict with
DD's Golden Doors - the normal doors not the dimensional variant. I
discovered that we have been assigning them the same ID as the Golden
Door block ever since they were first introduced 7 months ago. It didn't
break immediately since Forge adds +256 to item IDs.
2014-04-19 04:28:12 -04:00
StevenRS11
3664e707cf Fixed minor issues
Doors render right now
No longer placing doors on left clicks
2014-04-15 07:27:08 -04:00
StevenRS11
be7cd9d186 More eye tweaks 2014-04-15 04:30:31 -04:00
StevenRS11
d86433ef46 fixed monoliths
everything was terrible
2014-04-13 23:52:51 -04:00
SenseiKiwi
ffe45c729e Fixed Bugs
* Fixed bug with backup directory creation
* Fixed two doorways in SK-FractalCage that were supposed to open but
had been replaced with Eternal Fabric
2014-04-13 16:57:11 -04:00
SenseiKiwi
4dca0eb82b Updated Version
Update our version numbers
2014-04-11 21:32:36 -04:00
SenseiKiwi
a2ef6ef905 Minor Change
Changed DDLogger.logger() to private to guarantee that the logger isn't
being used anywhere in DD, since that could impact performance on
servers.
2014-04-11 20:34:11 -04:00
SenseiKiwi
d192dae945 Improvements to Saving
* Changed saving code to create backups by moving existing files rather
than creating copies and deleting the originals.
* Removed final call to PocketManager.save() in PocketManager.unload().
Since we no longer check if the caller is the client or server and
unload() must be called from both, this prevents clients from trying to
save pocket data locally. A final save() call wasn't needed anyway.
2014-04-11 20:33:06 -04:00
StevenRS11
18460348af stopped logging 2014-04-11 19:27:26 -04:00
StevenRS11
56e522a61a logging changes 2014-04-03 20:15:34 -04:00
StevenRS11
d98b6279de quick fix 2014-04-03 15:55:35 -04:00
StevenRS11
99476f8d70 Merge branch 'master' of https://github.com/StevenRS11/DimDoors
Conflicts:
	src/main/java/StevenDimDoors/mod_pocketDim/saving/DDSaveHandler.java
2014-04-03 15:52:14 -04:00
StevenRS11
aa7ee3c8fe added logger 2014-04-03 14:10:00 -04:00
StevenRS11
41fbcfe0ff Savedata backs up on write now 2014-04-03 14:09:36 -04:00
StevenRS11
582db26cdc Fixed a crash in rift sig placement 2014-04-03 14:06:48 -04:00
SenseiKiwi
71fccfc1e4 Merge remote-tracking branch 'upstream/master' 2014-03-28 02:49:43 -04:00
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
19bc9eec99 I HATE YOU GITHUB 2014-03-26 23:19:56 -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
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
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
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
SenseiKiwi
8d28dc1517 Fixed Uncontrolled Rift Spread
Switched rifts over to using link.childCount() to track spread instead
of the hasGrownRifts flag in the tile entity. The flag had the flaw that
if the rift was replaced by a block, the flag would reset and the rift
could spread again. I think I remember this being intended as punishment
for messing with rifts but it's a problem when combined with World
Thread farming.
2014-03-12 06:06:45 -04:00
SenseiKiwi
5db2b35850 Minor Fix
I forgot to uncomment the line for rifts spawning Endermen.
2014-03-12 05:12:46 -04:00
SenseiKiwi
73cb5ccb6c Fixed Rifts Spreading through Walls
Fixed the issue of rifts spreading through walls. We tried using
raytracing but rifts would always "leak" out of unbreakable enclosures.
With this latest change, rifts spread with the same logic that
determines which blocks are reachable to them.
2014-03-12 05:08:49 -04:00
SenseiKiwi
836eb8a7e0 Added Support for Cluster and Gateway Filters
Added a per-save config file called DimDoorsWorld.cfg. Its corresponding
class is DDWorldProperties. This class supports whitelisting and
blacklisting dimensions for Rift Cluster and Rift Gateway generation.
Note that our ban against generating gateways in the Nether and The End
still applies regardless of those settings. The new config file is
loaded before the server starts initializing terrain. Also moved
DDProperties to another package alongside DDWorldProperties - that
required updating references in most of the mod's files.
2014-03-11 05:38:40 -04:00
SenseiKiwi
946ac37a27 Changes to Schematics
Added SK-RaceTheLight to our schematics. Changed the weights on
Cere-FloatingAltar and Cere-PuzzleWall to 75 (previously 100). Fixed
what appears to be a mistake pasted into ruins.txt and also updated it
for the latest dungeons.
2014-03-11 01:31:10 -04:00
SenseiKiwi
b393c763a9 Minor Change
Minor change to configuration explanation
2014-03-09 10:07:35 -04:00
SenseiKiwi
7b4d1cc2f1 Fixed Door Bug
Fixed the bug referenced in the previous commit that caused doors to
break instantly.
2014-03-07 22:21:34 -04:00
SenseiKiwi
576ac0aae2 Fixed Double Door Textures
Fixed the way textures are applied so that doors from our mod can appear
as double doors. Renamed door textures to be consistent with Minecraft
door textures. Got rid of a few obsolete textures. Unfortunately,
something broke with door blocks updating. I need to fix that in the
next commit.
2014-03-07 22:03:20 -04:00
SenseiKiwi
ee72f3248e Removed Corium Assets
Removed leftover assets for Corium
2014-03-07 21:38:15 -04:00
SenseiKiwi
db91dfce5a Minor Change
Minor spacing change @.@
2014-03-07 20:17:30 -04:00
SenseiKiwi
b68de9eabd Improved Door Code and Removed Hack
Improved some of our door code by giving some of our variables real
names. Also found a hack in BaseDimDoor.isDropped() and a strange
comment that said "I have no idea, but sometimes this is returned as the
blockID instead of metadata."  I finally figured out that due to some
random mistake introduced in another function, idDropped() sometimes
received a block ID instead of metadata, which is what that comment
referred to. I fixed the cause and removed the hack.
2014-03-07 20:16:28 -04:00
SenseiKiwi
89baf624eb Minor Improvements to Biomes
Shifted the duplicate code from our biome classes into a single parent
class. Also added checks so that Minecraft crashes if a biome ID
conflict occurs. This is to put an end to the recent streak of posts on
our MCF thread about people experiencing issues because DD and BoP have
conflicts out of the box.
2014-03-07 18:35:20 -04:00
SenseiKiwi
baa5555547 Fixing Build Issue with DDCommandBase
I copied two functions from CommandBase into DDCommandBase because their
absence is breaking our builds on Technic and Dryware Jenkins. I have no
idea why that's happening. My copy of MC's source code has those
functions in CommandBase and my code compiles without a problem.
2014-03-07 17:41:12 -04:00
SenseiKiwi
60c2cc4710 Dropped Support for Structure Gen Flag
Dropped support for Minecraft's structure generation flag because
several other mods ignore it and supporting it can give the appearance
that DD isn't working properly. We already have settings for disabling
gateways in our config file.
2014-03-07 15:15:22 -04:00
SenseiKiwi
6f3d03b660 Changed Monolith Config
Changed the Monolith teleportation setting so that it's always written
to the config file instead of being secret. Steven agreed to this. o_o
2014-03-07 02:21:33 -04:00
SenseiKiwi
b2dfb35a72 Rotation Fixes and Schematic Changes
Fixed rotations for hopper and droppers. Hoppers were failing because
powered hoppers have different metadata. Droppers were just missing from
the list of oriented blocks. Fixed the wooden buttons on Cerevisiae's
altar room and added her puzzle room once hoppers were working reliably.
2014-03-07 01:17:14 -04:00
SenseiKiwi
62bd3bd19e Changes to Commands
Made some minor changes to the way that we register commands with
Minecraft. Also changed the way that we generate onCommandUsage()
strings so that the style of our outputs is consistent with that of
Minecraft and Forge commands. It seems the way the messages were
generated changed for MC 1.6. Finally, removed compareTo() from
DDCommandBase since it was completely unnecessary (CommandBase already
does the same) and casting objects to CommandBase was causing errors
with some Chicken Bones commands that directly implemented ICommand.
2014-03-06 21:32:38 -04:00
SenseiKiwi
a8e37da4bc Minor Change
Just sprucing up some config stuff...
2014-03-06 18:27:03 -04:00
SenseiKiwi
bbd0b1d0fe Fixed Client Gateway Notification and NPE
Fixed the issue with clients not receiving notifications of gateways
being built into the world because we were modifying chunk data
directly. Our schematic classes now support building through World
instead of directly writing to the underlying chunks. Also fixed an NPE
that was introduced last night when I changed which line
GatewayGenerator was initialized on in mod_pocketDim.
2014-03-06 13:44:31 -04:00
SenseiKiwi
9bba789f0b Updated Limbo Decay Immunity
Updated the list of blocks that are immune to Limbo decay to include
Golden Doors and Golden Dimensional Doors.
2014-03-06 11:33:45 -04:00
SenseiKiwi
f01222afee Updated Version Numbers
Updated all version numbers manually. Hopefully we'll automate this in
the future.
2014-03-06 02:11:05 -04:00
SenseiKiwi
196e79f437 Moved GatewayGenerator into Gateways Package
Moved the GatewayGenerator class to another package.
2014-03-05 21:57:15 -04:00
SenseiKiwi
4ec84f9b86 Fixed NPE in EventHookContainer
Fixed an NPE that would occur because mod_pocketDim.deathTracker was set
to null before the last onWorldSave event was triggered when a server
was shutting down.
2014-03-05 21:53:50 -04:00
SenseiKiwi
aea1a9a7c5 Changes to Loot and Skulls
There is 5% chance that grave chests will contain the head of a random
player that has died in a pocket dimension; there is a 20% chance of it
being a special head. Also moved Ghast Tears to grave chests and removed
Eyes of Enders as loot. Also made FoR loot more rare but increased the
amount given out so that the average amount picked up should be the same
as before. World Thread is slightly less common in response to being
easier to farm from rifts.
2014-03-05 21:39:54 -04:00
SenseiKiwi
6152f39791 Changes to EventHookContainer
Added code to save DeathTracker data when then Overworld saves, but only
if it's been modified since the last time it was saved. Also changed how
we handle player deaths in pocket dimensions. Now we have two death
handlers. There is a high-priority one that sends players to Limbo only
when Limbo preserves their inventories. The other is a low-priority
handler that sends players to Limbo only when inventory preservation is
disabled. This gives players a chance to keep their inventories if
another mod would have revived them without that penalty.
2014-03-05 21:32:52 -04:00
SenseiKiwi
88656f5ad4 Minor Change
Minor change to spacing in PocketManager
2014-03-05 20:24:29 -04:00
SenseiKiwi
cd7cf4e7ca Added DeathTracker and Removed PlayerTracker
Added DeathTracker - a class for tracking the deaths of players on the
server while in pocket dimensions. It'll be used for generating skulls
for grave chests. Also removed PlayerTracker since it wasn't being used
for anything at all. I'm guessing it was supposed to be used for
something later. We can restore it if it's ever needed.
2014-03-05 20:24:07 -04:00
SenseiKiwi
8cb651030a Cleaned up Initialization for GatewayGenerator
Cleaned up the code for initializing GatewayGenerator. We had some
static fields that didn't need to be static and we could just initialize
gateways from the class's constructor.
2014-03-05 14:22:52 -04:00
SenseiKiwi
310efb9781 Changes to Rift Regeneration
Moved a little of the regeneration code to BlockRift to reduce duplicate
code. Changed RiftRegenerator to iterate over loaded worlds instead of
all worlds. Removed forced rift generation call in
EventHookContainer.onWorldLoad() - I feel it would have minimal
benefits. Rifts now drop World Thread upon regeneration. Generally
cleaned up the code in FastRiftRegenerator and RiftRegenerator.
2014-03-04 06:41:36 -04:00
SenseiKiwi
0b14dbf453 Minor Change
Removed obsolete variable
2014-03-04 04:50:28 -04:00
SenseiKiwi
06bb624cd0 Removed Chance Correction for Nether Gateways
Removed code related to a correction factor that would compensate for
gateway generation failing a lot more frequently in the Nether. We don't
use that approach in the Nether anymore.
2014-03-04 04:47:08 -04:00
SenseiKiwi
175fa41318 Disabled Nether Gateways
Disabled Nether Gateways temporarily pending their completion
2014-03-04 04:40:40 -04:00
SenseiKiwi
93f2f6c701 Added Config Settings for Nether Gateways
Added config settings for the chance of generating a Rift Gateway in a
Nether Fortress. Also made it so that DD does not override Nether
Fortress generation if fortress gateways are disabled in some way.
2014-03-04 04:39:57 -04:00
SenseiKiwi
47f7e280a7 Removed References to Corium
Removed references to experimental Corium blocks and fluids.
2014-03-04 04:11:33 -04:00
SenseiKiwi
6a5fff3b5a Changes to Rift Immunity
Changed rifts to consider block blast resistance instead of block
hardness. Some mods offer defensive blocks that stop explosions but have
low hardness. This addresses that issue. The minimum resistance allows
obsidian to resist rifts.
2014-03-04 03:54:46 -04:00
SenseiKiwi
a920a7d65b Fixed Missing Textures and Changed World Thread
Fixed the code for retrieving textures for ItemRiftBlade,
ItemRiftSignature, and ItemRiftRemover. Renamed Rift Blade item texture
again due to capitalization issues. Replaced World Thread texture with a
dark variant of MC's String - we can switch to another texture later.
2014-03-03 21:44:04 -04:00
SenseiKiwi
4889b94b8b Minor Change
Messing with the Rift Blade texture's name again
2014-03-03 21:26:46 -04:00
SenseiKiwi
7e964adb7a Removed Redundant Textures
Removed copies of item textures that simply had other names. Some
textures are broken now. I'll fix that in a moment.
2014-03-03 21:16:44 -04:00
SenseiKiwi
afcf62b95b Minor Change
Renamed the Rift Blade texture to change its capitalization under
Windows
2014-03-03 21:11:50 -04:00
StevenRS11
09010f9fef Fixed possible GC crash 2014-02-06 21:05:45 -05:00
StevenRS11
55a8719748 Final savedata fixes 2014-01-28 14:05:43 -05:00
StevenRS11
bc6b323b57 Merge pull request #136 from SenseiKiwi/nether
Implemented Nether Gateways
2014-01-28 09:05:33 -08:00
SenseiKiwi
78d7db0f75 Implemented Nether Gateways
Completed Nether gateways as part of Nether fortresses.
2014-01-28 07:02:11 -04:00
StevenRS11
1dc7ee7a29 Last tweaks 2014-01-27 23:45:01 -05:00
StevenRS11
18c11ee24e Overhauled loading 2014-01-27 22:13:32 -05:00
StevenRS11
ac7dbab39f loot tweaks 2014-01-27 18:07:19 -05:00
StevenRS11
d725ce6b5e loading fixed 2014-01-27 17:31:13 -05:00
StevenRS11
c935156b71 working on saving 2014-01-27 17:01:23 -05:00
StevenRS11
ca42be0a5e debug 2014-01-27 16:25:49 -05:00
StevenRS11
c830a8e812 build 2014-01-26 14:32:28 -05:00
StevenRS11
792979d4f1 Merge pull request #135 from SenseiKiwi/master
Cleaned Up FastRiftRegenerator
2014-01-26 11:30:19 -08:00
StevenRS11
523025365a removed default nether gateways 2014-01-26 14:27:44 -05:00
StevenRS11
d52f0ed2c7 Minor Tweaks 2014-01-26 13:39:09 -05:00
SenseiKiwi
7700d72a99 Cleaned Up FastRiftRegenerator
Cleaned up the code in FastRiftRegenerator - mostly spacing, but also
removed a pointless null check. It wouldn't matter because the reference
was being accessed before it was checked and it should be impossible for
it to be null.
2014-01-26 12:01:04 -04:00
StevenRS11
415a3c29d7 removed rotation mechanic 2014-01-26 04:26:09 -05:00
StevenRS11
1705182c67 Various Fixes 2014-01-26 04:10:35 -05:00
StevenRS11
d921982c75 Added ability to place vanilla doors on rifts 2014-01-26 03:28:27 -05:00
StevenRS11
12225d8214 fixed limbo music 2014-01-26 02:05:47 -05:00
StevenRS11
4271d47d9d fixed drops 2014-01-26 01:38:43 -05:00
StevenRS11
b105d002c5 Fixed doors slamming shut on pressure plates 2014-01-26 00:53:40 -05:00
StevenRS11
a13fc069eb Fixed rotations and rift regen. Sorta. 2014-01-26 00:00:20 -05:00
SenseiKiwi
d8038a7165 Merge remote-tracking branch 'upstream/master' 2014-01-24 07:18:15 -04:00
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
StevenRS11
dd30dc619c Fixed gateway crashes 2014-01-24 01:26:19 -05:00
StevenRS11
30d789518d Gateways completed
Also added limbo gateways
2014-01-23 22:10:46 -05: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
StevenRS11
4e85dbec7e Fixed pockets not always saving completely 2014-01-22 04:14:34 -05: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
StevenRS11
f31eb5a2ef Fixed rift remover finally 2014-01-22 03:13:08 -05:00
StevenRS11
47f9048d44 Rift spread fixed 2014-01-21 14:10:00 -05:00
StevenRS11
876e3eb4e6 rifts spawn world thread 2014-01-21 13:18:20 -05:00
StevenRS11
5d80170b52 Monoliths have no collision, now 2014-01-21 04:15:48 -05:00
StevenRS11
26c8581857 Terror 2014-01-21 03:38:02 -05:00
StevenRS11
465449abf2 Fixed Repo Goofyness 2014-01-21 03:14:14 -05:00
StevenRS11
ed77f096c2 Enderman start out hostile 2014-01-21 02:13:25 -05:00
StevenRS11
357db5e34d Fixed orientation and transient doors 2014-01-21 01:33:56 -05:00
StevenRS11
6bf70aebdb Fixed up monoliths 2014-01-20 19:34:32 -05:00
StevenRS11
ed92dc04dc Gave monoliths tranparency 2014-01-20 17:35:38 -05:00
StevenRS11
f02cffb925 Simplified gateway filters 2014-01-20 16:18:19 -05:00
StevenRS11
9350c97533 Fixed silly github issues 2014-01-20 16:01:07 -05:00
StevenRS11
c68d9635d3 Added filter support for gateways 2014-01-20 15:54:02 -05:00
StevenRS11
b947154b2d Minecraft is stupid 2014-01-20 02:23:24 -05: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
StevenRS11
ad1f928db0 fixed gold Dim door not getting corners sometimes 2014-01-20 01:03:31 -05: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
StevenRS11
9fe071368e Working on rift remover strangeness 2014-01-19 22:15:12 -05: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
StevenRS11
8b108688f1 Clear status effects when entering limbo 2014-01-19 03:21:34 -05:00
StevenRS11
9aa9651a6d Fixed client dimData, link color, and nether doors 2014-01-19 03:15:07 -05:00
StevenRS11
ea2be9b803 Merging SenseiKiwi's merger 2014-01-19 00:59:24 -05:00
StevenRS11
80d828c252 Lots of fixes.
I also played around with fluids, and added something thats for BR. Its
not permanent here.
2014-01-18 18:35:11 -05:00
StevenRS11
0fcf02e75f Gateways nearly done, added sandstone gateways 2014-01-15 16:29:47 -05:00
StevenRS11
21267309a1 Cleaned up a bit 2014-01-14 18:54:30 -05:00
StevenRS11
0e4e36c454 Gateway generation now emulates old functionality 2014-01-14 13:40:27 -05:00
StevenRS11
9f00345065 Schematics give a new crash now. 2014-01-13 23:13:16 -05:00
StevenRS11
5f7d4ce971 More changes 2014-01-13 20:42:43 -05:00
StevenRS11
7dadef953d more work on gateways, plus tried to add a pack.
Gateway is generating, finally, but it has some... issues. Inquire
within.

Just generate a new world, and use an unstable door to warp to the first
that gens.
2014-01-13 17:49:13 -05:00
StevenRS11
1104961c54 added support for different dungeon gateways 2014-01-11 22:25:00 -05: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
StevenRS11
3369352143 Small fix
Made doors not continually crash servers, now they close if something
breaks.
2014-01-09 13:25:14 -05: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
StevenRS11
ab5ce1e652 Merge pull request #122 from StevenRS11/mazes
I derped. Oh well.
2014-01-03 23:15:16 -08:00
StevenRS11
394f92d5fc Fixed rending in pockets for doors
DDoors get a TE when they are generated now. May fix other bugs too, who
knows.
2014-01-04 01:10:33 -06: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
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
StevenRS11
cd432c532f Rift balance change 2013-12-29 01:05:40 -06: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
StevenRS11
a0d0f6e19b Fixed chunk loading causing crash
Also might have increased pocket generation time
2013-12-27 01:08:50 -06: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
StevenRS11
180720c04b Merge pull request #116 from SenseiKiwi/master
Fixed Saving Log Spam
2013-12-25 23:33:09 -08:00
StevenRS11
c3b3db4ca0 Lots of changes
Rerworked rift growth
Fixed teleport command
Fixed deleteRifts command
Fixed Rift rendering
2013-12-25 14:16:10 -06: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
StevenRS11
6d64a54b75 Revert "build"
This reverts commit e7dcc20fad.
2013-12-22 17:18:16 -06: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
StevenRS11
e7dcc20fad build 2013-12-22 17:33:02 -05: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
StevenRS11
9bd9cfb700 Fixed rendering, simplified netcode 2013-12-22 16:53:13 -05:00
StevenRS11
4e0b7fa977 Fixed crashbug, now to fix rendering 2013-12-22 02:02:07 -05:00
StevenRS11
f88c314922 TESTING 2013-12-22 00:33:58 -05:00
SenseiKiwi
75e103aa65 Merge remote-tracking branch 'upstream/1.6.2-code' 2013-12-20 17:28:50 -04:00
deathrat
8d19d71d8a Fixed problems with buildscript
Signed-off-by: deathrat <deathrat43@gmail.com>
2013-12-17 19:09:53 -05:00
deathrat
505b182af9 Created build.gradle
Restructured folder structure for ForgeGradle

Signed-off-by: deathrat <deathrat43@gmail.com>
2013-12-17 03:36:38 -05:00