Commit graph

870 commits

Author SHA1 Message Date
Runemoro
fee6700074 Fix mod not loading 2018-04-26 00:00:30 -04:00
Runemoro
29307cfc08 Embed mixin 2018-04-25 23:01:44 -04:00
Runemoro
662e11ff4c Fix teleport sometimes breaking 2018-04-25 16:11:51 -04:00
Runemoro
32bac210ff Fix MC-128953 2018-04-25 14:59:32 -04:00
Runemoro
774084be35 Implement NoCrash 2018-04-25 02:20:10 -04:00
Runemoro
5095518b44 Fix lots of vanilla teleportation-related bugs 2018-04-24 20:02:42 -04:00
Runemoro
7a5d7aecb6 Fix players being set on fire after teleporting 2018-04-23 00:45:00 -04:00
Runemoro
1696e85d1f Improve build time 2018-04-20 17:48:51 -04:00
Runemoro
697a64efbb Fix rift registry not unloading when changing worlds 2018-04-20 16:18:36 -04:00
Runemoro
54d53a4568 Fix a few bugs 2018-04-20 02:13:15 -04:00
Runemoro
32f77b8b9d Fix #53 and #54 2018-04-18 19:21:10 -04:00
Runemoro
c7285491b9 Fix #51 2018-04-17 22:52:24 -04:00
Runemoro
ca5bd0e540 Fix render and register default targets 2018-04-17 21:02:49 -04:00
Waterpicker
4702b913c9 Added proper animated texture for limbo disc. 2018-04-15 13:16:37 -05:00
Waterpicker
684daa6a5e Added record for the limbo music creepy. 2018-04-14 06:04:48 -05:00
Runemoro
5961727b3c Targets 2018-04-09 05:12:56 -04:00
Robijnvogel
bb1907c672 Fixed gateways generating half of themselves 48 blocks lower
-Fixed length and height being swapped in Cubic Chunks Schematic Placement (stumbled upon this
-Fixed gateways partially generating at y level 16 if the (cubic) chunk they *should* be in was totally empty / 100% air (storage = null), because yBase wasn't taken into account.
2018-04-07 15:01:28 +02:00
Runemoro
e080ddaa4a Code readability improvements
- Read through most of the code, fixing small issues, renaming variables to clearer names, explaining less clear things
 - Remove many fixed todos and remove feature-suggestion todos in favor of the Github issue tracker
 - class CommonProxy -> interface IProxy (even the name CommonProxy makes no sense, why would you need to proxy something common to both the client and the server!)
 - Match minecraft naming convention
 - Autoformat classes

A few issues fixed:
 - Make rift work in both top and bottom door block
 - Change transient portal material to "portal" for correct vanilla logic
 - Make doors ignore closeAfterPassThrough (that made no sense lore-wise, dimensional portals close because they are fragile and the player passing through breaks them)
2018-04-07 01:28:02 -04:00
Runemoro
a2e7689935 Improvements to tools
* Fix dimensional door and trapdoor arm swing
 * Make trapdoor animation render above the ground rather than below
 * Allow rift signatures to replace any replaceable source block
 * Send message when rift signature fails because the block at the stored location is no longer replaceable
2018-04-06 02:16:37 -04:00
Runemoro
cb0cadce5b Fix dimensional trapdoor render
* Fix horizontal entrance render
 * Simplify and optimize code
 * Deobfuscate remaining variables
2018-04-06 01:29:23 -04:00
Runemoro
225b5954c0 Graphics improvements and bug fixes
* Fix hand not swinging for all items
 * Fix dimensional trapdoor being registered client-side
 * Make rift blade teleport near the entity rather than on it
 * Rift jitter adjustment and config option
 * Remove "In" suffixes and "par" prefixes from remaining parameters
2018-04-05 23:46:16 -04:00
Runemoro
3cb768bdd2 Add rift stabilizer and adjust recipes 2018-04-05 18:42:02 -04:00
Runemoro
b99f624ccf Update version 2018-04-05 15:35:01 -04:00
Runemoro
33eac07f01 A few final changes
* Update readme
 * Reduce rift jitter
 * Rift size config option
 * Crafting recipes for colored fabric
 * Lang strings for config options
2018-04-05 08:34:58 -04:00
Runemoro
17c1471087 Colored ancient fabric 2018-04-05 06:06:06 -04:00
Runemoro
e280953566 Refactor a few things
* Reorganize build.gradle
 * Upgrade gradle to 4.6
 * Rename items in code to match actual names
 * Reformat JSON
 * Remove rift item
 * Move rift tile entity to tileentities package
 * Remove unnecessary .gitignore entries
2018-04-05 04:44:24 -04:00
Runemoro
1c78b5e629 Fix door right-click close to rift 2018-04-05 00:40:07 -04:00
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