More updates to new BoneMealAPI
This commit is contained in:
parent
5b99e0be53
commit
5faf0ef134
18 changed files with 411 additions and 155 deletions
|
@ -2,16 +2,12 @@ package org.betterx.bclib.mixin.common;
|
|||
|
||||
import org.betterx.bclib.api.v2.BonemealAPI;
|
||||
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
|
||||
import org.betterx.bclib.api.v3.bonemeal.BonemealSpreader;
|
||||
import org.betterx.bclib.api.v3.bonemeal.EndStoneSpreader;
|
||||
import org.betterx.bclib.api.v3.bonemeal.NetherrackSpreader;
|
||||
import org.betterx.bclib.util.BlocksHelper;
|
||||
import org.betterx.bclib.util.MHelper;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Vec3i;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.item.BoneMealItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
@ -71,32 +67,17 @@ public class BoneMealItemMixin {
|
|||
}
|
||||
|
||||
@Inject(method = "growCrop", at = @At("HEAD"), cancellable = true)
|
||||
private static void growCrop(
|
||||
private static void bcl_growCrop(
|
||||
ItemStack itemStack,
|
||||
Level level,
|
||||
BlockPos blockPos,
|
||||
CallbackInfoReturnable<Boolean> cir
|
||||
) {
|
||||
BlockState blockState = level.getBlockState(blockPos);
|
||||
BonemealSpreader spreader = null;
|
||||
|
||||
if (blockState.is(Blocks.NETHERRACK)) {
|
||||
spreader = NetherrackSpreader.INSTANCE;
|
||||
} else if (blockState.is(Blocks.END_STONE)) {
|
||||
spreader = EndStoneSpreader.INSTANCE;
|
||||
} else if (blockState.getBlock() instanceof BonemealSpreader s) {
|
||||
spreader = s;
|
||||
}
|
||||
|
||||
if (spreader != null) {
|
||||
if (spreader.isValidBonemealSpreadTarget(level, blockPos, blockState, level.isClientSide)) {
|
||||
if (level instanceof ServerLevel) {
|
||||
if (spreader.performBonemealSpread((ServerLevel) level, level.random, blockPos, blockState)) {
|
||||
itemStack.shrink(1);
|
||||
cir.setReturnValue(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (org.betterx.bclib.api.v3.bonemeal.BonemealAPI
|
||||
.INSTANCE
|
||||
.runSpreaders(itemStack, level, blockPos)
|
||||
) {
|
||||
cir.setReturnValue(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue