Commit graph

1587 commits

Author SHA1 Message Date
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
Runemoro
c3e543b0ca
Update README.md
- The mod has been released and is now in beta
 - Move discord server right below Overview to make it visible without having to scroll down the page
 - Add section on how to contribute (dungeons, coding, translating, testing)
2018-01-23 13:32:35 -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
Runemoro
f34ee86039
Create LICENSE 2018-01-23 01:24:37 -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