mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-11-10 12:33:57 +01:00
Guard against chunk protections
This commit is contained in:
parent
d66170c8fe
commit
4e51df3f81
@ -206,6 +206,10 @@ dependencies {
|
||||
// runtimeOnly fg.deobf("maven.modrinth:spark:1.10.38-forge")
|
||||
//runtimeOnly fg.deobf("curse.maven:forbidden-arcanus-309858:4729924")
|
||||
//runtimeOnly fg.deobf("curse.maven:valhelsia-core-416935:3886212")
|
||||
// implementation fg.deobf("curse.maven:ftb-chunks-forge-314906:4494633")
|
||||
// implementation fg.deobf("curse.maven:architectury-api-419699:4521465")
|
||||
// implementation fg.deobf("curse.maven:ftb-library-forge-404465:4396792")
|
||||
// implementation fg.deobf("curse.maven:ftb-teams-forge-404468:4579981")
|
||||
|
||||
// https://discord.com/channels/313125603924639766/725850371834118214/910619168821354497
|
||||
// Prevent Mixin annotation processor from getting into IntelliJ's annotation processor settings
|
||||
|
@ -22,6 +22,8 @@ import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.world.BlockEvent;
|
||||
|
||||
public interface IWrenchable {
|
||||
|
||||
@ -55,15 +57,20 @@ public interface IWrenchable {
|
||||
BlockPos pos = context.getClickedPos();
|
||||
Player player = context.getPlayer();
|
||||
if (world instanceof ServerLevel) {
|
||||
if (player != null && !player.isCreative())
|
||||
BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(world, pos, world.getBlockState(pos), player);
|
||||
MinecraftForge.EVENT_BUS.post(event);
|
||||
if (!event.isCanceled()) {
|
||||
if (player != null && !player.isCreative()) {
|
||||
Block.getDrops(state, (ServerLevel) world, pos, world.getBlockEntity(pos), player, context.getItemInHand())
|
||||
.forEach(itemStack -> {
|
||||
player.getInventory().placeItemBackInInventory(itemStack);
|
||||
});
|
||||
}
|
||||
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY);
|
||||
world.destroyBlock(pos, false);
|
||||
playRemoveSound(world, pos);
|
||||
}
|
||||
}
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user