mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-02 17:32:03 +01:00
SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class
By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
parent
3cfdcf8a3e
commit
6dc11b5d28
1 changed files with 9 additions and 3 deletions
|
@ -479,14 +479,20 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
|
|||
} else if (clazz == SplashPotion.class) {
|
||||
clazz = ThrownPotion.class;
|
||||
} else if (clazz == TippedArrow.class) {
|
||||
clazz = Arrow.class;
|
||||
runOld = other -> ((Arrow) other.getBukkitEntity()).setBasePotionType(PotionType.WATER);
|
||||
clazz = Arrow.class;
|
||||
runOld = other -> ((Arrow) other.getBukkitEntity()).setBasePotionType(PotionType.WATER);
|
||||
}
|
||||
|
||||
CraftEntityTypes.EntityTypeData<?, ?> entityTypeData = CraftEntityTypes.getEntityTypeData(clazz);
|
||||
|
||||
if (entityTypeData == null || entityTypeData.spawnFunction() == null) {
|
||||
throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName());
|
||||
if (CraftEntity.class.isAssignableFrom(clazz)) {
|
||||
// SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class
|
||||
throw new IllegalArgumentException(String.format("Cannot spawn an entity from its CraftBukkit implementation class '%s' use the Bukkit class instead. "
|
||||
+ "You can get the Bukkit representation via Entity#getType()#getEntityClass()", clazz.getName()));
|
||||
} else {
|
||||
throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName());
|
||||
}
|
||||
}
|
||||
|
||||
if (!entityTypeData.entityType().isEnabledByFeature(getHandle().getMinecraftWorld().getWorld())) {
|
||||
|
|
Loading…
Reference in a new issue