fixed bug on path creation

This commit is contained in:
Jottyfan
2026-01-25 08:57:25 +01:00
parent 489af3ef92
commit 49820490b6
2 changed files with 12 additions and 6 deletions

View File

@@ -12,7 +12,7 @@ loader_version=0.18.4
loom_version=1.15-SNAPSHOT
# Mod Properties
mod_version=26.1.4
mod_version=26.1.4.1
maven_group=de.jottyfan.minecraft
archives_base_name=quickly

View File

@@ -1,6 +1,7 @@
package de.jottyfan.minecraft.item;
import java.util.List;
import java.util.Set;
import com.google.common.collect.Lists;
@@ -26,7 +27,7 @@ public class QShovel extends ShovelItem implements ToolRangeable {
this.range = properties.getHarvestRange();
}
private void createPathOnGrass(Level level, BlockPos pos, Direction side) {
private void createPath(Level level, BlockPos pos, Direction side, Set<Block> validBlocks) {
BlockState blockState = level.getBlockState(pos);
if (blockState.isAir()) {
// try to find one underneath
@@ -39,18 +40,23 @@ public class QShovel extends ShovelItem implements ToolRangeable {
if (side != Direction.DOWN) {
if (blockState != null && level.getBlockState(pos.above()).isAir()) {
if (!level.isClientSide()) {
if (validBlocks.contains(blockState.getBlock())) {
level.setBlockAndUpdate(pos, Blocks.DIRT_PATH.defaultBlockState());
}
}
}
}
}
@Override
public InteractionResult useOn(UseOnContext context) {
InteractionResult result = super.useOn(context);
if (InteractionResult.SUCCESS.equals(result)) {
for (BlockPos pos : range.getRangeAsBlockPosArray(context.getClickedPos(), true, new BlockPos(1, 1, 1))) {
createPathOnGrass(context.getLevel(), pos, context.getClickedFace());
createPath(context.getLevel(), pos, context.getClickedFace(), FLATTENABLES.keySet());
}
return super.useOn(context);
}
return result;
}
@Override