- 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?
-Enabled Door opening and closing sounds (BlockDimDoorBase L66)
-Repaired Double placement of doors and Doors swinging open upon
placement (ItemDoorBase L78)
-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
-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
-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
-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)
-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.
-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.
-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
-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