Skip to content

Commit

Permalink
Merge branch '1.21.0' into 1.21.4
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/main/java/com/zenith/mc/block/BlockRegistry.java
  • Loading branch information
rfresh2 committed Jan 1, 2025
2 parents bbfa87d + cc10cb9 commit 50c674e
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 14 deletions.
18 changes: 9 additions & 9 deletions src/main/java/com/zenith/mc/block/BlockRegistry.java
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ public final class BlockRegistry {

public static final Block OAK_DOOR = REGISTRY.register(new Block(204, "oak_door", true, 4677, 4740, 13, BlockOffsetType.NONE, 0.25f, 0.2f, 3.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE)));

public static final Block LADDER = REGISTRY.register(new Block(205, "ladder", true, 4741, 4748, 0, BlockOffsetType.NONE, 0.25f, 0.2f, 0.4f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE)));
public static final Block LADDER = REGISTRY.register(new Block(205, "ladder", true, 4741, 4748, 0, BlockOffsetType.NONE, 0.25f, 0.2f, 0.4f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.CLIMBABLE)));

public static final Block RAIL = REGISTRY.register(new Block(206, "rail", false, 4749, 4768, 0, BlockOffsetType.NONE, 0.25f, 0.2f, 0.7f, false, EnumSet.of(BlockTags.MINEABLE_WITH_PICKAXE)));

Expand Down Expand Up @@ -671,7 +671,7 @@ public final class BlockRegistry {

public static final Block MELON_STEM = REGISTRY.register(new Block(330, "melon_stem", false, 7062, 7069, 7, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));

public static final Block VINE = REGISTRY.register(new Block(331, "vine", false, 7070, 7101, 7, BlockOffsetType.NONE, 0.25f, 0.2f, 0.2f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));
public static final Block VINE = REGISTRY.register(new Block(331, "vine", false, 7070, 7101, 7, BlockOffsetType.NONE, 0.25f, 0.2f, 0.2f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT, BlockTags.CLIMBABLE)));

public static final Block GLOW_LICHEN = REGISTRY.register(new Block(332, "glow_lichen", false, 7102, 7229, 61, BlockOffsetType.NONE, 0.25f, 0.2f, 0.2f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));

Expand Down Expand Up @@ -1609,7 +1609,7 @@ public final class BlockRegistry {

public static final Block DIORITE_WALL = REGISTRY.register(new Block(799, "diorite_wall", true, 19061, 19384, 14, BlockOffsetType.NONE, 0.25f, 0.2f, 1.5f, true, EnumSet.of(BlockTags.MINEABLE_WITH_PICKAXE)));

public static final Block SCAFFOLDING = REGISTRY.register(new Block(800, "scaffolding", true, 19385, 19416, 2, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE)));
public static final Block SCAFFOLDING = REGISTRY.register(new Block(800, "scaffolding", true, 19385, 19416, 2, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.CLIMBABLE)));

public static final Block LOOM = REGISTRY.register(new Block(801, "loom", true, 19417, 19420, 13, BlockOffsetType.NONE, 0.25f, 0.2f, 2.5f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE)));

Expand Down Expand Up @@ -1675,13 +1675,13 @@ public final class BlockRegistry {

public static final Block SHROOMLIGHT = REGISTRY.register(new Block(832, "shroomlight", true, 19623, 19623, 28, BlockOffsetType.NONE, 0.25f, 0.2f, 1.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_HOE)));

public static final Block WEEPING_VINES = REGISTRY.register(new Block(833, "weeping_vines", false, 19624, 19649, 35, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));
public static final Block WEEPING_VINES = REGISTRY.register(new Block(833, "weeping_vines", false, 19624, 19649, 35, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT, BlockTags.CLIMBABLE)));

public static final Block WEEPING_VINES_PLANT = REGISTRY.register(new Block(834, "weeping_vines_plant", false, 19650, 19650, 35, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));
public static final Block WEEPING_VINES_PLANT = REGISTRY.register(new Block(834, "weeping_vines_plant", false, 19650, 19650, 35, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT, BlockTags.CLIMBABLE)));

public static final Block TWISTING_VINES = REGISTRY.register(new Block(835, "twisting_vines", false, 19651, 19676, 23, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));
public static final Block TWISTING_VINES = REGISTRY.register(new Block(835, "twisting_vines", false, 19651, 19676, 23, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT, BlockTags.CLIMBABLE)));

public static final Block TWISTING_VINES_PLANT = REGISTRY.register(new Block(836, "twisting_vines_plant", false, 19677, 19677, 23, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));
public static final Block TWISTING_VINES_PLANT = REGISTRY.register(new Block(836, "twisting_vines_plant", false, 19677, 19677, 23, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT, BlockTags.CLIMBABLE)));

public static final Block CRIMSON_ROOTS = REGISTRY.register(new Block(837, "crimson_roots", false, 19678, 19678, 35, BlockOffsetType.XZ, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.SWORD_EFFICIENT)));

Expand Down Expand Up @@ -2083,9 +2083,9 @@ public final class BlockRegistry {

public static final Block DRIPSTONE_BLOCK = REGISTRY.register(new Block(1036, "dripstone_block", true, 25781, 25781, 48, BlockOffsetType.NONE, 0.25f, 0.2f, 1.5f, true, EnumSet.of(BlockTags.MINEABLE_WITH_PICKAXE)));

public static final Block CAVE_VINES = REGISTRY.register(new Block(1037, "cave_vines", false, 25782, 25833, 7, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));
public static final Block CAVE_VINES = REGISTRY.register(new Block(1037, "cave_vines", false, 25782, 25833, 7, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT, BlockTags.CLIMBABLE)));

public static final Block CAVE_VINES_PLANT = REGISTRY.register(new Block(1038, "cave_vines_plant", false, 25834, 25835, 7, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));
public static final Block CAVE_VINES_PLANT = REGISTRY.register(new Block(1038, "cave_vines_plant", false, 25834, 25835, 7, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT, BlockTags.CLIMBABLE)));

public static final Block SPORE_BLOSSOM = REGISTRY.register(new Block(1039, "spore_blossom", false, 25836, 25836, 7, BlockOffsetType.NONE, 0.25f, 0.2f, 0.0f, false, EnumSet.of(BlockTags.MINEABLE_WITH_AXE, BlockTags.SWORD_EFFICIENT)));

Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/zenith/mc/block/BlockTags.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ public enum BlockTags {
SWORD_EFFICIENT,
NEEDS_DIAMOND_TOOL,
NEEDS_IRON_TOOL,
NEEDS_STONE_TOOL
NEEDS_STONE_TOOL,
CLIMBABLE
}
40 changes: 36 additions & 4 deletions src/main/java/com/zenith/module/impl/PlayerSimulation.java
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,9 @@ private void travel(MutableVec3d movementInputVec) {
}
updateVelocity(waterSpeed, movementInputVec);
move();
// todo: check if on climbable block here
if (horizontalCollision && onClimbable()) {
velocity.setY(0.2);
}
velocity.multiply(waterSlowdown, 0.8f, waterSlowdown);
double d;
if (falling && Math.abs(velocity.getY() - 0.005) >= 0.003 && Math.abs(velocity.getY() - gravity / 16.0) < 0.003) {
Expand Down Expand Up @@ -740,9 +742,27 @@ private void syncPlayerCollisionBox() {

private void applyMovementInput(MutableVec3d movementInputVec, float slipperiness) {
float movementSpeed = this.getMovementSpeed(slipperiness);
this.updateVelocity(movementSpeed, movementInputVec);
// todo: apply climbing speed
this.move();
updateVelocity(movementSpeed, movementInputVec);
if (onClimbable()) {
float maxV = 0.15F;
double velX = Math.clamp(velocity.getX(), -maxV, maxV);
double velZ = Math.clamp(velocity.getZ(), -maxV, maxV);
double velY = Math.max(velocity.getY(), -maxV);
if (velY < 0.0
&& World.getBlockAtBlockPos(MathHelper.floorI(x), MathHelper.floorI(y), MathHelper.floorI(z)) != BlockRegistry.SCAFFOLDING
&& isSneaking
) {
velY = 0.0;
}

velocity.set(velX, velY, velZ);
}
move();
if (horizontalCollision || movementInput.jumping) {
if (onClimbable()) { // todo: or inside powder snow
velocity.setY(0.2);
}
}
}

private void updateVelocity(float speed, MutableVec3d movementInput) {
Expand Down Expand Up @@ -899,6 +919,18 @@ private boolean updateFluidHeightAndDoFluidPushing(boolean waterFluid, double mo
return touched;
}

private boolean onClimbable() {
var inBlock = World.getBlockAtBlockPos(MathHelper.floorI(x), MathHelper.floorI(y), MathHelper.floorI(z));
if (inBlock.blockTags().contains(BlockTags.CLIMBABLE)) return true;
// // todo: check trapdoor is open
// if (inBlock.name().endsWith("trapdoor")) {
// Block belowTrapdoor = World.getBlockAtBlockPos(MathHelper.floorI(x), MathHelper.floorI(y) - 1, MathHelper.floorI(z));
// // todo: ladder and trapdoor facing checks
// if (belowTrapdoor == BlockRegistry.LADDER) return true;
// }
return false;
}

private boolean resyncTeleport() {
if (!CONFIG.debug.resyncTeleports) return false;
// can occur when a connected player disconnects in an unusual way like crashing
Expand Down

0 comments on commit 50c674e

Please sign in to comment.