Public Access
This commit is contained in:
1 parent
66f546dc7a
commit
58964052c9
4 files changed
+10
-4
No files matched your search
@@ -36,7 +36,8 @@ independently validates every link.
|
|||||||
Open a page-free Descriptive Book, name its Age, and press Create. Rivencraft
|
Open a page-free Descriptive Book, name its Age, and press Create. Rivencraft
|
||||||
assigns the book a permanent Age UUID, creates a dedicated vanilla-like runtime
|
assigns the book a permanent Age UUID, creates a dedicated vanilla-like runtime
|
||||||
dimension, and prepares a five-by-five cobblestone arrival platform at the
|
dimension, and prepares a five-by-five cobblestone arrival platform at the
|
||||||
highest suitable nearby terrain. If no sturdy surface is available, the
|
highest suitable nearby terrain. Solid blocks and tree leaves are valid
|
||||||
|
footing. If no suitable surface is available, the
|
||||||
platform is generated at Y=63. Reopen the book and click its preview to travel.
|
platform is generated at Y=63. Reopen the book and click its preview to travel.
|
||||||
Copies of the written book continue to resolve to the same persistent Age
|
Copies of the written book continue to resolve to the same persistent Age
|
||||||
across server restarts.
|
across server restarts.
|
||||||
|
|||||||
@@ -199,6 +199,9 @@ Version 0.2.10.1 improves Age arrival placement. Non-Nether Ages select the
|
|||||||
highest sturdy surface near the origin and fall back to a platform at Y=63 when
|
highest sturdy surface near the origin and fall back to a platform at Y=63 when
|
||||||
no suitable natural footing exists.
|
no suitable natural footing exists.
|
||||||
|
|
||||||
|
Version 0.2.10.2 allows leaf blocks to count as proper natural footing when
|
||||||
|
selecting the highest arrival surface.
|
||||||
|
|
||||||
The preview code is separated behind a renderer interface and uses an isolated
|
The preview code is separated behind a renderer interface and uses an isolated
|
||||||
Ponder level populated from server-authoritative destination snapshots.
|
Ponder level populated from server-authoritative destination snapshots.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ mod_name=Rivencraft
|
|||||||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
||||||
mod_license=LGPL-3.0-or-later
|
mod_license=LGPL-3.0-or-later
|
||||||
# The mod version. Rivencraft uses the x.y.z.b policy documented in README.md.
|
# The mod version. Rivencraft uses the x.y.z.b policy documented in README.md.
|
||||||
mod_version=0.2.10.1
|
mod_version=0.2.10.2
|
||||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
||||||
# This should match the base package used for the mod sources.
|
# This should match the base package used for the mod sources.
|
||||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||||
|
|||||||
@@ -121,14 +121,16 @@ public final class AgeDimensionService {
|
|||||||
|
|
||||||
for (int x = -SURFACE_SEARCH_RADIUS; x <= SURFACE_SEARCH_RADIUS; x++) {
|
for (int x = -SURFACE_SEARCH_RADIUS; x <= SURFACE_SEARCH_RADIUS; x++) {
|
||||||
for (int z = -SURFACE_SEARCH_RADIUS; z <= SURFACE_SEARCH_RADIUS; z++) {
|
for (int z = -SURFACE_SEARCH_RADIUS; z <= SURFACE_SEARCH_RADIUS; z++) {
|
||||||
int floorY = level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, x, z) - 1;
|
int floorY = level.getHeight(Heightmap.Types.WORLD_SURFACE, x, z) - 1;
|
||||||
if (floorY < level.getMinBuildHeight() || floorY > maximumFloorY) {
|
if (floorY < level.getMinBuildHeight() || floorY > maximumFloorY) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
BlockPos candidate = new BlockPos(x, floorY, z);
|
BlockPos candidate = new BlockPos(x, floorY, z);
|
||||||
|
var state = level.getBlockState(candidate);
|
||||||
if (!level.getFluidState(candidate).isEmpty()
|
if (!level.getFluidState(candidate).isEmpty()
|
||||||
|| !level.getBlockState(candidate).isFaceSturdy(level, candidate, net.minecraft.core.Direction.UP)) {
|
|| (!state.is(BlockTags.LEAVES)
|
||||||
|
&& !state.isFaceSturdy(level, candidate, net.minecraft.core.Direction.UP))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user