Tags
Creators
Details
1.4.1.2-alpha.1
Compatibility
Changes
Added
- Freecam boundary conditions on rendered chunks. Freecam will now stop at the second-last chunk to prevent the well known "cave x-ray" peeking with the freecam. If somehow players manage to put the freecam over the second-last chunk, Freecam will disable itself (example if they try to play on and off with the render distance).
Changed
- Key Mappings are not referred anymore on
.freecam.but instead on.buildersfreecam. IGNORE_NON_CULLINGBlock Collision is now a dynamic function based on neighbours, fluids and non-opaque blocks. The function to determine if Builders Freecam can pass through a block is:
public static boolean isBlockCullingNeighbours(BlockState state, BlockPos pos, BlockGetter level) {
if(state.getFluidState().isEmpty()){
for (Direction dir : Direction.values()) {
if (!state.getFaceOcclusionShape(dir).isEmpty()) {
if(state.isFaceSturdy(EmptyBlockGetter.INSTANCE, BlockPos.ZERO, dir)) {
if(!(state.getBlock() instanceof CarpetBlock)){ // skipping carpets
BlockState neighbourState = level.getBlockState(pos.relative(dir));
if(neighbourState.getFluidState().isEmpty()){
if(!neighbourState.getFaceOcclusionShape(dir.getOpposite()).isEmpty()) {
if(neighbourState.isFaceSturdy(EmptyBlockGetter.INSTANCE, BlockPos.ZERO, dir.getOpposite())){
return true; // a sturdy face could be culling a culling neighbour
}
}
}else{
return true; // a sturdy face is culling a fluid neighbour
}
}
}
}
}
return false;
}
return true; // not a block
}
What does this function do? This function checks whether a block can “cull” (i.e. skip texture rendering) nearby block faces. If it does cull a neighbour face (Piston Head, Solid Block...), it checks if the involved neighbour block can also "cull" the same face (2 Adiacent Solid Blocks, 2 Piston Head front-to-front...), in which case travelling through that block is denied, otherwise it will be allowed (Glass over piston head, mid-air solid block...). If it does not cull every neighbour face (hopper, cauldron...), you can travel through the block.
Fixed
- Slide X-Ray historical bug: If somehow players try to "fast slide" maintaining an oblique posion of Freecam, over a non-travellable block, Freecam will not prevent peeking over collisions. Now the Free Camera will prentend to keep a safe distance of some pixels.
- Freecam is not disabling itself when players pretend to be in a non-travellable block.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:47qRA7ni:BT7PlDe6"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:47qRA7ni:BT7PlDe6"
}

