@@ -11,12 +11,12 @@ import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import javax.annotation.Nullable;
|
||||
import net.minecraft.core.BlockPosition;
|
||||
import net.minecraft.core.EnumDirection;
|
||||
import net.minecraft.network.protocol.game.PacketPlayInCloseWindow;
|
||||
import net.minecraft.resources.MinecraftKey;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.server.level.EntityPlayer;
|
||||
import net.minecraft.server.level.WorldServer;
|
||||
import net.minecraft.tags.DamageTypeTags;
|
||||
@@ -24,7 +24,6 @@ import net.minecraft.util.Unit;
|
||||
import net.minecraft.world.EnumHand;
|
||||
import net.minecraft.world.IInventory;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.damagesource.DamageType;
|
||||
import net.minecraft.world.damagesource.DamageTypes;
|
||||
import net.minecraft.world.effect.MobEffect;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
@@ -131,6 +130,8 @@ import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.Event.Result;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.BellResonateEvent;
|
||||
import org.bukkit.event.block.BellRingEvent;
|
||||
import org.bukkit.event.block.BlockDamageAbortEvent;
|
||||
import org.bukkit.event.block.BlockDamageEvent;
|
||||
import org.bukkit.event.block.BlockDropItemEvent;
|
||||
@@ -340,6 +341,21 @@ public class CraftEventFactory {
|
||||
return tradeSelectEvent;
|
||||
}
|
||||
|
||||
public static boolean handleBellRingEvent(World world, BlockPosition position, EnumDirection direction, Entity entity) {
|
||||
Block block = CraftBlock.at(world, position);
|
||||
BlockFace bukkitDirection = CraftBlock.notchToBlockFace(direction);
|
||||
BellRingEvent event = new BellRingEvent(block, bukkitDirection, (entity != null) ? entity.getBukkitEntity() : null);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
return !event.isCancelled();
|
||||
}
|
||||
|
||||
public static Stream<EntityLiving> handleBellResonateEvent(World world, BlockPosition position, List<LivingEntity> bukkitEntities) {
|
||||
Block block = CraftBlock.at(world, position);
|
||||
BellResonateEvent event = new BellResonateEvent(block, bukkitEntities);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
return event.getResonatedEntities().stream().map((bukkitEntity) -> ((CraftLivingEntity) bukkitEntity).getHandle());
|
||||
}
|
||||
|
||||
/**
|
||||
* Block place methods
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user