Commit graph

810 commits

Author SHA1 Message Date
Runemoro
2e5217a17c Clean up ddutils and bug fixes
- Removed unused utils
 - Use Java 8 streams API
 - Fix calculation of pocket id from coordinates
 - Fix /pocket tab completion and null pointer
2017-12-27 18:31:04 -05:00
Runemoro
0bbc2e4ebb com.zixiken -> org.dimdev 2017-12-27 02:49:36 -05:00
Runemoro
9b102a0174 Escape rift + rift remover crafting recipe 2017-12-26 20:29:40 -05:00
Runemoro
649bb9398b Bug fixes 2017-12-26 05:47:46 -05:00
Runemoro
7a65d60c4b Implement rift remover 2017-12-26 04:39:43 -05:00
Runemoro
07d6e48647 Fixes to teleportation logic 2017-12-26 04:17:24 -05:00
Runemoro
ffd8c6ed3c Split teleportation logic and make it extensible by other mods 2017-12-25 23:27:21 -05:00
Runemoro
c4560a78ba DimDoors beta 2017-12-24 07:54:59 -05:00
Runemoro
9e7646d047 Bug fixes
- Fix dimensional trapdoor
 - Fix world unload bug
 - Fix gradle bug
2017-12-24 04:36:33 -05:00
Runemoro
94cadce276 Fix sponge bug and improve rift setup system 2017-12-24 02:48:55 -05:00
Runemoro
de53f20420 A few fixes 2017-12-23 19:06:56 -05:00
Runemoro
00e02bd7ea Fix pocket schematics 2017-12-22 03:00:22 -05:00
Runemoro
02c7c61c73 Refactor utils 2017-12-21 20:29:37 -05:00
Runemoro
bc9c663741 Fix block properties 2017-12-21 17:28:23 -05:00
Runemoro
ff6ba0f7ba Merge horizontal and vertical entrances 2017-12-20 16:07:05 -05:00
Runemoro
0599a6d340 Rendering fixes
Redid the *RiftFX classes based on the old 1.6.4 code, but overriding ParticleSimpleAnimated.
2017-12-20 11:06:49 -05:00
Runemoro
3d50cd8fdf Gradle and travis improvements
- Simplify pocket schematic generation logic
 - Make pocket generator work without having to start Minecraft
 - Add `gradlew generatePocketSchematics` task
 - Fix travis double-build
2017-12-20 02:45:20 -05:00
Runemoro
70b35a2f5e Three fixes
- Fix ClosingRiftFX
 - Fix pocket command
 - Fix teleportation
2017-12-19 17:43:40 -05:00
Runemoro
02f22ddf76 Big fixes
- Disable void fog in pockets and change yBase back to 0
 - Remove depth info from pockets, we already have it in VirtualLocation
 - Fix texture name
 - Fix bug cloud/sky renderer crash
2017-12-19 15:30:06 -05:00
Runemoro
0ed714ed80 Merge branch '1.12-WIP' of https://github.com/DimensionalDevelopment/DimDoors into 1.12-WIP 2017-12-18 19:43:52 -05:00
Runemoro
485f6ad1ec Romanian translation 2017-12-18 19:43:49 -05:00
Waterpicker
0f0af64070
Altered Ancient Fabric Texture change. 2017-12-18 18:10:45 -06:00
Runemoro
3ee8b610ab Add ancient altered fabric 2017-12-18 18:56:57 -05:00
Runemoro
aba957bfdd Merge branch '1.12-WIP' of https://github.com/DimensionalDevelopment/DimDoors into 1.12-WIP 2017-12-18 18:09:33 -05:00
Runemoro
26b3035b77 Private pocket fixes 2017-12-18 18:09:31 -05:00
Waterpicker
ebfd75ace2
Fixed fullbright texture. 2017-12-18 16:51:56 -06:00
Runemoro
4c7c10f5d3 Biome fixes 2017-12-18 13:14:50 -05:00
Runemoro
30e735385f Fix teleportation 2017-12-18 01:48:58 -05:00
Runemoro
915bc41a08 Improvements
- Remove some unused code
 - Better logging
 - Bug fixes
 - Unify pocket placing and gateway placing code
2017-12-17 05:40:45 -05:00
Runemoro
cc952a642f Fix models 2017-12-17 03:10:32 -05:00
Runemoro
d9c2c70616 Upgrade gradle and fix gitignore 2017-12-16 20:44:23 -05:00
Runemoro
c1adea280b Fix teleportation 2017-12-16 04:22:29 -05:00
Runemoro
c4a42cc76a Private pocket fixes 2017-12-15 22:41:18 -05:00
Runemoro
15eccab45a Registry rewrite part 3 2017-12-15 21:04:54 -05:00
Runemoro
f248ac7fcb Merge branch '1.12-WIP' into registry-rewrite 2017-12-14 00:42:23 -05:00
Runemoro
9c63a9d73e More fixes 2017-12-14 00:42:10 -05:00
Waterpicker
36270f7e11 Fixed the look of the personal pocket dimensions. 2017-12-13 23:35:53 -06:00
Waterpicker
e6ccd18c51 Half attempt at fixing transient doors. 2017-12-13 21:10:24 -06:00
Runemoro
a92e657b12 A few fixes 2017-12-13 21:06:58 -05:00
Runemoro
b1efc3592c Merge branch '1.12-WIP' into registry-rewrite 2017-12-13 14:57:16 -05:00
Runemoro
3189567200 Lombok and gradle fixes 2017-12-13 14:51:02 -05:00
ZombieHDGaming
144227fc11 Refixes BlockFabric 2017-12-13 14:29:27 -05:00
Waterpicker
8f43eac20b Fixed various rendering stuff - transient doors and limbo looks. 2017-12-13 11:15:10 -06:00
Runemoro
77841f2abb Registry rewrite part 2 2017-12-13 03:24:56 -05:00
Runemoro
c2f3c50cb2 Fix gateways 2017-12-10 21:12:29 -05:00
Runemoro
be520b1b41 Convert schematics 2017-12-10 20:26:05 -05:00
ZombieHDGaming
fa469df71f More changes to the BlockFabric class 2017-12-10 16:03:36 -05:00
Waterpicker
858874b66b Push of current world generation code. Doesn't compile yet. 2017-12-10 03:22:19 -06:00
ZombieHDGaming
825dc5831e Enum Changes 2017-12-09 20:58:26 -05:00
Runemoro
a42801e31d Fix creative tab 2017-12-09 20:27:49 -05:00
Runemoro
06d08c77d3 Merge branch '1.12-WIP' into registry-rewrite 2017-12-09 19:51:36 -05:00
Runemoro
48a003012a Small fix 2017-12-09 19:31:14 -05:00
Runemoro
c976a3d88e Decouple Schematic class and add place method 2017-12-09 19:27:09 -05:00
Runemoro
7ac9865cd3 Registry rewrite part 1 2017-12-08 20:08:56 -05:00
Runemoro
79cc174daf More lombok 2017-12-07 00:58:19 -05:00
Runemoro
1e6ceda064 Change dimID back to 684 2017-12-07 00:25:41 -05:00
Runemoro
38087b1571 A few fixes 2017-12-07 00:10:30 -05:00
Runemoro
b5198f2d7a Add gateways 2017-12-06 23:59:05 -05:00
Runemoro
4f911fa0db Lombok 2017-12-06 23:54:43 -05:00
Runemoro
59c47701f5 Schematic handler improvments
- Add netherProbability parameter to the random dungeon function, and set it to depth/50 for now (I'll make it non-linear in a future version)
 - Add a reusable weightedRandom method to MathUtils
 - Make config option to allow for random public pocket size, modify random template code to be able to add variations for "singular" templates
 - Load all pocket sizes but only create ones smaller than maxPocketSize naturally. This way an admin can still manually create a pocket larger than the max size using /dimpocket
 - Javadocs
 - Null checks for a few methods
 - Load schematics when plugin loads rather than when world loads
 does adding to groups work?
2017-12-06 16:44:43 -05:00
abc4857
f1c4a46a22 Change baseDimID to 1000 2017-12-05 23:55:31 -05:00
abc4857
4a0de507a2 Move sounds to client 2017-12-05 23:23:45 -05:00
ZombieHDGaming
b48c31817b
Merge pull request #12 from Runemoro/1.12-WIP
Code clean up
2017-12-05 20:32:27 -05:00
abc4857
5a9af2e387 Clean up: Simplified and optimized complicated logic/redundant code, renamed to new MCP parameter names, fixed warnings about generics 2017-12-05 20:18:27 -05:00
ZombieHDGaming
9caf785092 Add Back Monolith Textures with modified name 2017-12-04 17:56:34 -05:00
ZombieHDGaming
09beab1a98 Removed Old Monolith Textures 2017-12-04 17:56:06 -05:00
ZombieHDGaming
d07ef8ef7a
Delete WARP.png 2017-12-03 22:52:48 -05:00
ZombieHDGaming
9ae5febede
Delete RIFT.png 2017-12-03 22:52:41 -05:00
ZombieHDGaming
ec147856a3
Fix file names for proper usage
Slight file name mixup
2017-12-03 22:52:23 -05:00
abc4857
b77339afb8 Fix stuck after teleport bug 2017-12-03 10:02:51 -05:00
abc4857
2e25edc745 Limbo and Monolith fixes 2017-12-03 08:54:53 -05:00
abc4857
37914faf14 Finish update to 1.12.2 2017-12-03 06:43:44 -05:00
Waterpicker
eb851c9eb5 I did a update thing. :D 2017-11-26 14:45:49 -06:00
Waterpicker
9dcc07ddf1 Allow Monoliths to be placed in pockets. 2017-06-15 23:22:35 -05:00
Mathijs Riezebos
ab4257bdd8 No more suffocating in walls
-Fixed teleportation deplacement placing players next to the door
instead of in front of them, without breaking the rendering of the
doors' "portals".
2017-05-14 17:39:00 +02:00
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