- 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.)
- 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
-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)
- Simplify pocket schematic generation logic
- Make pocket generator work without having to start Minecraft
- Add `gradlew generatePocketSchematics` task
- Fix travis double-build
- 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
- 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?
-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.
-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.
-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
-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.
-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.
-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...
-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
-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)
# 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.
-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
-Added some crafting recipes
-Made some things render correctly
-Cooler texture for the Transdimensional Trapdoor
-Made some things show their name correctly
1. Changed build.gradle so that it edits the version numbers in
mod_pocketDim.java and mcmod.info.
2. Changed mod_pocketDim to use a placeholder for its version number and
fixed an annotation that was wrong. It would cause our mod_pocketDim
instance to not initialize properly. I removed what seemed to be
workarounds that were hiding the problem.
3. Fixed space in TileEntityDimDoor.invalidate() and corrected a
non-static access to a static field in mod_pocketDim.
4. Changed mcmod.info so that it users placeholders for the mod version
and MC version values.
* Added a small treasure room that opens when the puzzle is solved and
made the exits in the corners slightly more apparent by placing redstone
lamps.
* Tweaked the redstone a little to correct for a brief signal cutoff.
* Tried to add fireworks that would shoot out when the puzzle was
solved, but it was too hard to secure them against theft while also
getting consistent explosions.
Updated the dungeon pistonFallRuins so that it causes less extreme lag
by slowing down and spacing out the timing for the piston traps. Also
reinforced the dungeon against tampering and added lava inside each
piston drop.
After finally getting the dungeons to load, I've determined that only
half of the rooms should be included. The three remaining rooms should
definitely stay. That's not much for a pack so I'm going to make some
modifications to the schematics and include them as part of Ruins.
* Set up the necessary code in DungeonHelper so that Balgor is
registered along with the other bundled packs.
* Improved the code for registering bundled packs to reduce the number
of paths we need to hardcode and to crash DD if a pack fails to load. A
crash would be inevitable no matter what since bundled packs are
integral to DD.
* Corrected an invalid generation rule for Balgor. It's set to select
random dungeons infinitely for now. I'll add an exit room later and
change the rule to force an exit. Balgor is still unusable until its
schematics get proper doors.
* Fixed PocketBuilder to actually check the results of validating
schematics before we try to build them. This was causing cryptic error
messages when flawed schematics were loaded (e.g. rooms without proper
doors) and could have caused serious problems during dungeon
regeneration. Don't ignore validation!
Added a new setting to dungeon pack configs called
"DuplicateSearchLevels", which allows us to configure how many levels up
of the dungeon tree should be checked to avoid duplicating rooms used in
that subtree. In other words, it lets us avoid repeating rooms used in
neighboring branches of the dungeon. The setting has been added but it's
not fully supported yet - some additional code is needed in
DungeonHelper and it's not trivial to implement. I took a break because
doing it wrong could break dungeon selection.
Added SK-RaceTheLight to our schematics. Changed the weights on
Cere-FloatingAltar and Cere-PuzzleWall to 75 (previously 100). Fixed
what appears to be a mistake pasted into ruins.txt and also updated it
for the latest dungeons.
Fixed the way textures are applied so that doors from our mod can appear
as double doors. Renamed door textures to be consistent with Minecraft
door textures. Got rid of a few obsolete textures. Unfortunately,
something broke with door blocks updating. I need to fix that in the
next commit.