Add Bee API

This commit is contained in:
SageSphinx63920
2025-01-12 16:06:59 -08:00
committed by granny
parent 51de3d6a9c
commit 8ec22cf67a
6 changed files with 178 additions and 212 deletions

View File

@@ -0,0 +1,48 @@
package org.purpurmc.purpur.event.entity;
import org.bukkit.Location;
import org.bukkit.entity.Bee;
import org.bukkit.event.HandlerList;
import org.bukkit.event.entity.EntityEvent;
import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
* Called when a bee targets a flower
*/
@NullMarked
public class BeeFoundFlowerEvent extends EntityEvent {
private static final HandlerList handlers = new HandlerList();
private final Location location;
@ApiStatus.Internal
public BeeFoundFlowerEvent(Bee bee, @Nullable Location location) {
super(bee);
this.location = location;
}
@Override
public Bee getEntity() {
return (Bee) super.getEntity();
}
/**
* Returns the location of the flower that the bee targets
*
* @return The location of the flower
*/
@Nullable
public Location getLocation() {
return location;
}
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}

View File

@@ -0,0 +1,46 @@
package org.purpurmc.purpur.event.entity;
import org.bukkit.Location;
import org.bukkit.entity.Bee;
import org.bukkit.event.HandlerList;
import org.bukkit.event.entity.EntityEvent;
import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
/**
* Called when a bee starts pollinating
*/
@NullMarked
public class BeeStartedPollinatingEvent extends EntityEvent {
private static final HandlerList handlers = new HandlerList();
private final Location location;
@ApiStatus.Internal
public BeeStartedPollinatingEvent(Bee bee, Location location) {
super(bee);
this.location = location;
}
@Override
public Bee getEntity() {
return (Bee) super.getEntity();
}
/**
* Returns the location of the flower that the bee pollinates
*
* @return The location of the flower
*/
public Location getLocation() {
return this.location;
}
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}

View File

@@ -0,0 +1,60 @@
package org.purpurmc.purpur.event.entity;
import org.bukkit.Location;
import org.bukkit.entity.Bee;
import org.bukkit.event.HandlerList;
import org.bukkit.event.entity.EntityEvent;
import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
* Called when a bee stops pollinating
*/
@NullMarked
public class BeeStopPollinatingEvent extends EntityEvent {
private static final HandlerList handlers = new HandlerList();
private final Location location;
private final boolean success;
@ApiStatus.Internal
public BeeStopPollinatingEvent(Bee bee, @Nullable Location location, boolean success) {
super(bee);
this.location = location;
this.success = success;
}
@Override
public Bee getEntity() {
return (Bee) super.getEntity();
}
/**
* Returns the location of the flower that the bee stopped pollinating
*
* @return The location of the flower
*/
@Nullable
public Location getLocation() {
return location;
}
/**
* Returns whether the bee successfully pollinated the flower
*
* @return True if the pollination was successful
*/
public boolean wasSuccessful() {
return success;
}
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}