Bucketable API

This commit is contained in:
Owen1212055 2021-12-26 14:03:11 -05:00
parent 1fa51dd469
commit 5024980442
3 changed files with 43 additions and 2 deletions

View file

@ -0,0 +1,41 @@
package io.papermc.paper.entity;
import org.bukkit.Sound;
import org.bukkit.entity.Entity;
import org.bukkit.inventory.ItemStack;
import org.jspecify.annotations.NullMarked;
/**
* Represents an entity that can be bucketed.
*/
@NullMarked
public interface Bucketable extends Entity {
/**
* Gets if this entity originated from a bucket.
*
* @return originated from bucket
*/
boolean isFromBucket();
/**
* Sets if this entity originated from a bucket.
*
* @param fromBucket is from a bucket
*/
void setFromBucket(boolean fromBucket);
/**
* Gets the base itemstack of this entity in a bucket form.
*
* @return bucket form
*/
ItemStack getBaseBucketItem();
/**
* Gets the sound that is played when this entity
* is picked up in a bucket.
* @return bucket pickup sound
*/
Sound getPickupSound();
}

View file

@ -5,7 +5,7 @@ import org.jetbrains.annotations.NotNull;
/** /**
* An Axolotl. * An Axolotl.
*/ */
public interface Axolotl extends Animals { public interface Axolotl extends Animals, io.papermc.paper.entity.Bucketable { // Paper - Bucketable API
/** /**
* Gets if this axolotl is playing dead. * Gets if this axolotl is playing dead.

View file

@ -3,4 +3,4 @@ package org.bukkit.entity;
/** /**
* Represents a fish entity. * Represents a fish entity.
*/ */
public interface Fish extends WaterMob { } public interface Fish extends WaterMob, io.papermc.paper.entity.Bucketable { } // Paper - Bucketable API