Commit graph

993 commits

Author SHA1 Message Date
Runemoro
d0cfbe08ac Fix eternal fabric and dimensional trapdoor 2018-04-04 23:07:19 -04:00
Runemoro
5f8375a693 Rift render and right-click improvments
- Highlight rift core when trying to place a door next to a rift, and warn player about instability (place again to confirm placing next to rift)
 - Clean up LSystem class
 - Make rifts jitter less
 - Stop rift particle flicker, lower max age
 - Make rifts grow a bit slower
 - Replace option to use old animation with option to highlight the rift core
 - Make rift render yaw match teleport target yaw
2018-04-04 02:09:05 -04:00
Runemoro
ba887a4066 Remove initializer from @SideOnly(CLIENT) (again!) 2018-04-03 23:10:40 -04:00
Runemoro
f51265298d Rift appearance and closing improvements
* Made rifts emit light
 * Improved rift edges
 * Made rifts jitter
 * Rift removal tool slowly closes rift
2018-04-02 17:43:23 -04:00
Runemoro
e13943d281 Port old rift renderer 2018-04-02 01:30:29 -04:00
Runemoro
56afc7b1d5 Add SchematicProcessor tool 2018-03-29 01:55:29 -04:00
Runemoro
4c484166dc Make local/relative destinations when possible 2018-03-29 01:14:36 -04:00
Runemoro
b87a810d2c Merge multiline lang keys 2018-03-28 21:39:32 -04:00
Runemoro
4cce94bb3b Remove initializer from @SideOnly(Side.CLIENT) fields 2018-03-28 20:50:29 -04:00
Runemoro
39db057e99 Fix null pointer 2018-03-28 19:45:47 -04:00
Runemoro
31c0f9c676 Config localization and tile entity simplification 2018-03-27 16:17:15 -04:00
Runemoro
8cd3b8606c Fix duplicate config defaults
* Remove defaults from config strings, forge adds these automatically
 * Inline default options constatns to make changing the defaults easier
 * Reformat config
2018-03-26 20:41:16 -04:00
Runemoro
20bcdd19ed Make items set up the rifts
* Finish renaming all the door blocks in the code to their material (iron, oak, quartz, gold)
 * Have the item set up the rift
 * Remove the chaos door block
 * Remove rotation from entrance rift, and add rotation (teleportTargetPitch/Yaw) to floating rifts (fixes relative rotation in dungeons)
 * Add get(Source/Destination)(Pitch/Yaw) abstract methods to the base rift class
 * Move tpOffset into a config option rather than a per-rift setting
 * Simplify the rift tile entity fields
 * Remove unused imports
2018-03-26 20:34:22 -04:00
Runemoro
7949251ecd Lang file improvements and more French localization 2018-03-20 21:00:40 -04:00
Runemoro
599804a914 Fix door relative rotation (dungeon schematics will have to be fixed too) 2018-03-20 19:09:23 -04:00
Robijnvogel
24c02fba5d One x too little
- Repaired a small mistake I made.
2018-02-28 18:46:52 +01:00
Robijnvogel
9b98941ca0 Crafting and localisation tweaks
- Made the crafting recipes of a few doors that virtually only create 1 of themselves in the world a bit cheaper.
- Changed "grey" to the 'Murican "gray" in the lang files.
2018-02-28 11:11:17 +01:00
Robijnvogel
41a126e7c0 Better config comments
- Updated Forge version
- Updated Mappings version
- Reverted to using config field names that actually match with the in-code field names, because describing the purpose of config fields is really the task of the comment, not the field name itself
- Added central default, minimum and maximum config values where needed.
- Improved config comments
- Renamed some of the config values, as their names were way too long and specific
2018-02-28 02:43:02 +01:00
Robijnvogel
ccb3f5e85b Re-generated Public Pockets
- Repaired public and private pocket auto-gen gradle command
- Regenerated all auto-generated pockets
- Increased alpha version number
- Solves #44
2018-02-25 21:39:58 +01:00
Robijnvogel
57bb0fbb79 Fixed crash when generating gateways
At @runemoro 's instruction:
- Made replacePlaceholders static and need a Schematic parameter
- Applied the replacePlaceholders method to Transient Portal gateway Schematics as well

- Still, setting the gateway generation chance too high may force the gateways to be generated in each other's space, causing a crash on worldgen
2018-02-09 22:22:56 +01:00
Waterpicker
773773f76d Added framework to the tesseract model along with changing the animation into a double rotation along the XY and YW rotation planes. 2018-02-05 13:31:58 -06:00
Robijnvogel
926dfbe2a9 Repaired one small logger mistake 2018-01-31 16:51:54 +01:00
Runemoro
5286b6320f Move schematic conversion code out of this repo 2018-01-27 05:38:46 -05:00
Runemoro
b7aab958ac Convert the schematics 2018-01-27 05:09:36 -05:00
Runemoro
9350b913ff Get ready to convert the schematics
- Simplified code to have a single blockstate loop and made everything simpler
 - Palette no longer contains unused IDs such as sandstone or door default blockstates
 - Schematics use placeholders for doors and monolith to make updating them not require changing all the schematics
 - Fixed bug where book wasn't being translated
 - Make a library with default destinations and link properties
 - Remove translateIdCrude, since the schematic conversion code won't be run from outside the dev environment anymore
 - Looked at net.minecraft.util.datafix to check if there were any updates that needed to be done
 - Added error checking code to make sure everything is being converted correctly
 - Removed schematic info generator, that will be added to a separate tool that can run on the new schematics (once the old ones are replaced)
 - Manually checked the NBT to make sure everything is ok
 - Fixed the schematic containing sandstone at y=0 (it was obvious it needed to be ancient fabric)
 - Changed door item ids from "dimensional_door" to "iron_dimensional_door" and from "warp_dimensional_door" to "oak_dimensional_door" to match vanilla (we might want to implement more/all wood types in the future, so it's better to do it now rather than have to convert all schematics) and renamed "rift"
 - Added "powered" to note blocks NBT (checked which were powered before)
 - Added "CookTimeTotal" to furnace NBT
 - Fix the_nexus having SenseiKiwi's hideout door being converted to a dimensional door
2018-01-27 04:22:33 -05:00
Runemoro
ad3bbe4a3f Fix reflection field name 2018-01-26 16:36:58 -05:00
Runemoro
a991da19cb Fix teleport and geteways 2018-01-26 15:32:30 -05:00
Runemoro
368565944a Fix invisibility on teleport 2018-01-25 20:56:43 -05:00
Robijnvogel
6dd1d6fc24 Items and Crafting Recipes
- Made Chaos Door crafting recipe cheaper (since it does not link)
- Repaired Quartz Door crafting recipe (no ore dictionary, though)
- Removed double Rift Blade recipe
- Disabled craftability of the (creative) Rift Connection Tool
- Rebalanced recipes' material costs of the Rift Remover, Rift Signature and Stable Rift Signature
- Added alternate recipes for Woven World Thread Armour pieces
- Weakened the Rift Blade (Diamond -> Iron)
- Removed crafting-ingredient-only item-classes (World Thread and Stable Fabric
2018-01-26 01:26:55 +01:00
Runemoro
5ba2c7a82b Small fixes 2018-01-24 05:17:42 -05:00
Runemoro
ed8f57e0d9 Localization, use CommandExceptions, and other improvements 2018-01-24 03:04:15 -05:00
Runemoro
df135438a2 Add dungeons from 0ed3a736e3 2018-01-23 18:15:44 -05:00
ZombieHDGaming
b05d483115 Few more Config changes 2018-01-23 10:45:09 -05:00
Runemoro
0b4e063ace Do many TODOs 2018-01-23 03:16:54 -05:00
ZombieHDGaming
89aac6efa0 Hopefully final updates to config system for now 2018-01-22 23:18:34 -05:00
ZombieHDGaming
99b4f65360 Updates to config class 2018-01-22 23:17:08 -05:00
ZombieHDGaming
79210cae8f Huge change to Forge Config System 2018-01-22 22:26:51 -05:00
Runemoro
26317f108d Make dimensional portals render in the middle and move things to pocketlib 2018-01-22 20:23:35 -05:00
Runemoro
d52206e538 Fix rift speed up and make portals render on both sides 2018-01-22 18:46:19 -05:00
Runemoro
932aa6857b Fix rift being invisible after breaking door 2018-01-22 17:46:50 -05:00
Runemoro
f7193289f3 Fix schematic place code (again) 2018-01-22 01:30:59 -05:00
Runemoro
ad9a779a18 Fix placing schematics at positions not multiples of 16, and fix null pointer with warp door 2018-01-22 01:00:53 -05:00
Robijnvogel
0e41140216 Transient Portals generate again!
- However now the game crashes on their generation, which probably has something to do with the recently added Cubic Chunks support.
2018-01-22 06:06:10 +01:00
Robijnvogel
86eacc4177 Updated FoamFix error message
- as a direct consequence of https://github.com/asiekierka/FoamFix/issues/105 being solved.
- Commented out some log spam.
2018-01-22 00:53:08 +01:00
Robijnvogel
06210605db Register new loot tables
- I forgot to do that :/
2018-01-22 00:13:52 +01:00
Robijnvogel
edb4497e1e Dispenser Loot Tables update
- Added Splash Potions, Tipped Arrows, Snow Balls and Spectral Arrows to the Dispenser loot table(s)

UNTESTED

Todo: add EnderMite and SilverFish eggs to these loot tables as well?
2018-01-22 00:06:11 +01:00
Waterpicker
aedc6216fd Added Fabric Convert Command. 2018-01-21 08:06:56 -06:00
Runemoro
a7dc1ad9b1 Small fixes and more default pockets
- Fix ExtendedStorageArray bug
 - Add more default pockets
 - Make blockData a short array rather than an int array, halving memory usage
2018-01-21 08:47:56 -05:00
Runemoro
f83492340b Merge branch '1.12-WIP' of https://github.com/DimensionalDevelopment/DimDoors into 1.12-WIP 2018-01-21 05:34:09 -05:00
Runemoro
e247bdb86e Cubic chunks support and schematic placement optimization 2018-01-21 05:34:06 -05:00
Robijnvogel
35e7a8b31e Changed generation chances to doubles
- Changed maximum generation chances "to compare with" to 1.0
 - Changed config values to doubles (and divided the default values by 10.000)

Why? Because "15 out of 10.000" is super trivial.
Now, if you set the chance to, for instance, 2.5 (out of 1), this means that there will generate exactly 2 gateways per chunk + a random chance of 1 out of 2 for a third one. Under 1.0 will still follow a normal distribution, though.
2018-01-21 09:36:06 +01:00
Robijnvogel
6aa2ab8d55 Found piece with FoamFix
- Removed soft FoamFix dependency
 - Sorted a switch case tree by key
 - Added conversion for that 1 World Thread in 1 dungeon
 - Made translateId method more sturdy by hardcoding some fall-back values, so FoamFix doesn't crash it anymore.
 - Changed Schematic author SK to full name: SenseiKiwi
2018-01-21 08:53:23 +01:00
Robijnvogel
6a2cb241ee FoamFix still causing issues
- Added minimum required and maximum allowd MC versions
 - Added setup for a minimum FoamFix version (for when they fix their Fast Hoppers)
 - Lowered the minimum required Forge version to 1.12.0's earliest version
 - Added workaround so FoamFix at least doesn't crash DimDoors for now
     - Maybe we should actually make this the default?
2018-01-21 05:44:01 +01:00
Robijnvogel
db6af71233 Merge branch '1.12-WIP' of https://github.com/DimensionalDevelopment/DimDoors into 1.12-WIP
- Fixed one conflict in PocketTemplate
2018-01-21 04:22:09 +01:00
Robijnvogel
94277e5fac Old Dungeons' inventory contents
- Added a method to dynamically fetch the NBT_TYPE of NBTStringTags
 - Made Loot only generate into empty inventories
 - Rewrote the Loot generation code, to make it more concise by reusing previously duplicate lines
 - Removed dispenser_fire loot table, because the dispensers that needed to light something, can now do so with their old 0-durability Flint 'n Steel
 - Succesfully spent 4 hours writing Item NBT conversion code for that one Written Book's contents that took me 20 seconds to convert manually
2018-01-21 04:07:47 +01:00
Runemoro
7764839257 Fix workaround for EnchantingTable 2018-01-20 19:47:56 -05:00
Runemoro
24393783da Split PocketLib and workaround for EnchantingTable 2018-01-20 18:30:53 -05:00
Robijnvogel
c9d9d1f076 Fixing broken chestloot
- Added a method to dynamically fetch the NBT_TYPE of NBTTagCompounds
 - Re-added StringUtils
 - Added a simple String Array search method to StringUtils
 - Added a counter for pistons and tnt
 - Removed counter for Warp Doors on Sandstone, because we know those amounts by now.
 - Fixed the TileEntity NBT not getting read properly
 - Split the block counters from other logic
 - Expressed my rage
 - Moved `rift.markStateChanged();` to later, so it only has to be done once in-code
 - Patched the conversion of that one Warp Door that was placed on SandStone on the bottom of a pocket.
 - Made sure that Transient Portals DO close after they have been passed through.
 - Removed double replacement of Monoliths
 - Made sure that @runemoro 's generic TileEntity generation code writes to the **output** list of TileEntities
2018-01-20 20:20:38 +01:00
Runemoro
1d6481429c Fix registry and transient door bugs 2018-01-20 02:38:51 -05:00
Runemoro
8358fe30c5 Add missing tile entities for all blocks, not just chests and dispensers, and don't overwrite previous entities if they were there 2018-01-19 23:45:08 -05:00
Runemoro
7c34879757 Merge branch 'schematic-creation' into 1.12-WIP and fix conflicts 2018-01-19 23:26:01 -05:00
Runemoro
86b58c2f9e Default dungeon templates
- Add setBlockState to Schematic
 - Add Schematic constructors that generate an air-filled pocket of the right size
 - Add blank pockets
 - Add void pockets
 - Make /pocket command takes you to center of pocket
 - Quick registry null pointer fix
2018-01-19 23:20:44 -05:00
Runemoro
d8d3fa4fc9 Fix /saveschem and support loading schematics from save folder 2018-01-19 18:49:27 -05:00
Waterpicker
9fa97d6ff2 Simplified SaveSchem Code 2018-01-19 16:36:04 -06:00
Runemoro
5f37c4721d Load schematics alphabetically and log time taken 2018-01-19 17:16:50 -05:00
Waterpicker
2b8a3e1c86 Hooked into the PocketRegistry 2018-01-19 15:18:37 -06:00
Runemoro
ec1261af08 Move pocket info from schematic name to JSON
- Transferred author, open/closed, and weight info to the json, added nice names for some of the dungeons
 - CamelCase -> snake_case
 - Removed _o suffix
 - Changed all "1" and "2" suffixes to "a" and "b" for conistency, added "a" suffix when there was a file with a "b" suffix
 - Removed all "a"/"1" suffixes when there was only one
2018-01-19 15:58:57 -05:00
Waterpicker
874fa612aa Added SaveSchem Command and added Entity Support 2018-01-19 14:16:52 -06:00
Robijnvogel
f7f1bab5fc Dispenser Loot
- Added loot tables for Dispensers
 - Added block counters for dispensers and valuable blocks to SchematicConverter
2018-01-19 20:19:42 +01:00
Waterpicker
be1c8ceda8 First Draft for creating a scheamtic from a chunk of the world. 2018-01-19 12:54:39 -06:00
Robijnvogel
f4131ac34e Lang Files
- Changed "Unstable" Door to "Chaos" Door everywhere in the code and resources.
 - Moved "colours" from en_US to en_GB and put 'Murican "colors" in their place.
 - Added lang keys for coloured ancient fabric
 - Complemented nl_NL lang file
 - Fixed the loot generation of Fabric of Reality in dungeon chests (Temporarily was Alternate Fabric, because of the 2 -> 16 colour change.)
2018-01-19 16:21:08 +01:00
Robijnvogel
5aaa671328 Colourful Fabric
-Added textures of Coloured Fabric Blocks
-Enabled all the Coloured Fabric (fullbright colour) blocks
-Added English lang names for Coloured Fabric
2018-01-19 13:21:04 +01:00
Runemoro
d8765c98db French and romanian translations of fabric colors 2018-01-19 07:10:55 -05:00
Runemoro
b9a0736072 Fix rift subregistry being written before riftRegistry is loaded, fix missing square root 2018-01-19 06:41:08 -05:00
Robijnvogel
3d23749f34 Fixed server-sided Limbo music
-Fixed #35
-Changed the versioning format of jar files.
-Made Travis upload everything in the build folder.
2018-01-19 07:59:56 +01:00
Waterpicker
6a5321c35b Merge remote-tracking branch 'origin/1.12-WIP' into 1.12-WIP 2018-01-18 23:45:43 -06:00
Waterpicker
e7bf1b4b3a Hotfix for Sound code crashing. 2018-01-18 23:45:28 -06:00
Runemoro
25bf08ddfa Fix schematic conversion code for new blocks and null pointer in rift registry 2018-01-18 23:45:19 -05:00
Waterpicker
a62c461ff5 Added a new version of creepy to test. 2018-01-18 21:51:59 -06:00
Runemoro
7011b7d751 Merge 'origin/background-music' and fix conflicts 2018-01-18 22:42:07 -05:00
Runemoro
7fb9e8bd85 Update pockets and fix registry recursion bug 2018-01-18 22:30:51 -05:00
Waterpicker
61487a14ab Looping Background Music in Limbo works 2018-01-18 21:23:01 -06:00
Runemoro
87416e442d Split the fabrics and implement colored fabric, fix #29 2018-01-18 21:14:00 -05:00
Runemoro
92eb69c2e0 Implement transient entrances and rename them to transient portals 2018-01-18 14:24:09 -05:00
Runemoro
931b804b10 Revert to 1.6.4 schematics and other fixes
- Revert to 1.6.4 schematics
 - Fix iron doors being treated as wood doors
 - Fix crash when available link door has no LinkProperties
2018-01-18 13:48:05 -05:00
Robijnvogel
c8c706bac4 Added Dungeon Loot
-added loot table for the dungeon pocket's dungeon loot
-made chests in dungeons automatically populate with dungeon loot
2018-01-18 17:08:36 +01:00
Runemoro
b7095dcec4 More dungeon features
- Set dungeon weights
 - Implement warp door
 - Enable monoliths in dungeons
 - Set correct author on schematics (from file name)
 - Make grass in pockets less dark
 - Fix lighting bug
2018-01-18 03:15:36 -05:00
Runemoro
8fbd238fae Fix dungeon linking 2018-01-17 19:23:03 -05:00
Runemoro
86971a9871 Merge 'origin/1.12-WIP-Dungeons', fix conflicts and update to new destination system 2018-01-17 15:58:19 -05:00
Runemoro
7260e08648 Many fixes 2018-01-17 15:35:54 -05:00
Runemoro
efd787ef46 Merge changes correctly and fix most warnings 2018-01-17 01:12:22 -05:00
Runemoro
3968d9f527 Merge branch '1.12-WIP' of https://github.com/DimensionalDevelopment/DimDoors into 1.12-WIP 2018-01-17 00:44:46 -05:00
Runemoro
27cec3bcad Destination system and registry rewrite
- Major simplifincations to the TileEntityRift class and destination classes
 - Use a graph in the RiftRegistry for simpler tracking of rift sources and targets
2018-01-17 00:44:44 -05:00
Robijnvogel
84cd038186 Enabling Pocket Dungeons, Try 001
-Toned down default config values for Private and Public Pocket sizes
-Set up PocketTemplate, SchematicHandler and json files for future
dungeon weighting changes
-Converted normal doors in old pocket schematics to DimDoors
(SchematicConverter)
-Tried to enable Transient Doors
-Tried to add destinations to in-pocket rifts, a.k.a. Warp Doors and
Iron Dimensional Doors (SchematicConverter)
2018-01-17 00:19:37 +01:00
ZombieHDGaming
e17921136b General changes and fixes 2018-01-15 17:33:39 -05:00
Robijnvogel
e8e8794811 Fixed Public and Private pocket sizes
-Fixed configured Public and Private pocket sizes not being taken into
account when loading the game, and thus, when placing down pocket
schematics.
-Added config option to force-load all available schematics.

-Made Editing config defaults easier, by automatically adjusting
description strings.
-Changed dimensionranges functionality to use a bit more of Forge's
native functionality and only 1 list instead of two of which 1 would be
guaranteedly unused.
2018-01-13 20:03:12 +01:00
Robijnvogel
dde38384fa Fixed #21
-Upped the forge and mappings versions in build.gradle
-Restructured Mod Name and Dependencies strings in DimDoors.java

-Instead of returning a null bounding box in
BlockDimensionalDoorTransient#getBoundingBox, for now, return an empty
bounding box.
2018-01-13 17:17:45 +01:00
Waterpicker
2bbe9019fb Added sound effect to teleporting. 2018-01-11 17:45:38 -06:00
Waterpicker
8088502026 Fix monlith sounds. 2018-01-11 06:06:29 -06:00
Runemoro
a9a780c64c Update textures and models to 1.12 2018-01-11 04:08:04 -05:00
Runemoro
08a8123b2e Bug fixes 2018-01-11 00:37:14 -05:00
Runemoro
70922ceae1 Implement VirtualLocation and AvailableLink logic 2018-01-10 17:53:05 -05:00
Runemoro
75c2e5439f Merge branch '1.12-WIP' of https://github.com/DimensionalDevelopment/DimDoors into 1.12-WIP 2018-01-07 12:27:50 -05:00
Runemoro
29f9cfc6de Split AnnotatedNBT and bug fixes 2018-01-07 12:27:47 -05:00
Waterpicker
2ebe7491d7 Added Woven World Thread Armor Recipes 2018-01-07 07:31:06 -06:00
Runemoro
7748818ef3 Fix RFTools incompatibility 2018-01-06 23:41:33 -05:00
Runemoro
a03a87ea09 Fix rift signature recipes 2018-01-06 15:36:07 -05:00
Runemoro
bbfd3bc2c6 Fix rift not being placed when bottom door block is broken 2018-01-06 12:05:51 -05:00
Runemoro
a18b498804 Fix player not being teleported to pocket 2018-01-06 11:28:30 -05:00
Runemoro
4039f21587 Fix schematic place lag and broken torches 2018-01-06 11:20:51 -05:00
Runemoro
8c575270f3 Fix transient doors being solid 2018-01-06 09:31:28 -05:00
Runemoro
2b0fde9633 Bug fixes and code improvements 2018-01-05 20:33:19 -05:00
Runemoro
5ad37b1992 Bug fixes
- Fix rift signatures overwriting old rift/replacing blocks
 - Fix rifts placed by door break being refreshed by Minecraft
 - Fix pitch and yaw being inverted on teleport
2018-01-03 10:04:07 -05:00
ZombieHDGaming
abdfd49822 Fixed pocket lighting not updating properly 2018-01-02 13:56:50 -05:00
Runemoro
f5cc44e868 Rift colors 2018-01-02 09:39:18 -05:00
Runemoro
be184579e1 Implement placing doors on rifts 2018-01-02 06:44:25 -05:00
Runemoro
464f516a40 Make non-solid blocks decay to air in limbo 2018-01-02 05:01:01 -05:00
Runemoro
8f1ef8c7bf Stable rift signature 2018-01-02 04:40:12 -05:00
Runemoro
3ea7e958f0 Temporary fix for the "Waiting for chunk..." lag 2018-01-02 04:10:01 -05:00
Runemoro
21e0003871 Remove unused code 2018-01-01 23:26:21 -05:00
Waterpicker
6c1d784691 Added Woven World Thread Armor 2017-12-31 21:22:01 -06:00
Runemoro
ef9d1053d8 Make dimensional doors drop the regular door 2017-12-31 11:28:26 -05:00
Runemoro
0533f2007b Bug fixes
- Fix crash when monolith spawner is placed
 - Fix client crash when walking on eternal fabric
 - Fix ancient fabric being generated in Limbo rather than eternal fabric
2017-12-31 09:49:47 -05:00
Runemoro
90d86f8e03 Merge branch '1.12-WIP' of https://github.com/DimensionalDevelopment/DimDoors into 1.12-WIP 2017-12-29 20:59:18 -05:00
Runemoro
9cae32189f Deobfuscate limbo code 2017-12-29 20:59:12 -05:00
Waterpicker
f6f3f53e6e Attempt to fix rift animation bug. 2017-12-29 12:20:56 -06:00
ZombieHDGaming
abdf76d9c4 Fixes Rift Signature Logic with only one-sided teleports 2017-12-29 13:18:37 -05:00
Runemoro
99bb633b64 Fix gradle and jar 2017-12-29 06:43:12 -05:00
Runemoro
f4c2f42d43 Fix rift signature 2017-12-29 04:31:55 -05:00
Runemoro
0c4e916042 Merge remote-tracking branch 'origin/signature-wip' into 1.12-WIP 2017-12-29 02:21:55 -05:00
Runemoro
ba690bf99e Improvements 2017-12-29 02:18:34 -05:00
Runemoro
7dacc56bd7 AnnotatedNBT 2017-12-28 23:46:29 -05:00
Waterpicker
eacb9dcd84 Prototype version of rift signature. 2017-12-27 21:46:36 -06:00
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