mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2025-03-11 06:10:13 +01:00
move entity attribute setting
This commit is contained in:
parent
bd34f2c4bc
commit
2f7a4b2528
@ -18,16 +18,10 @@ import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.block.data.type.Sign;
|
||||
import org.bukkit.block.data.type.WallSign;
|
||||
import org.bukkit.entity.AbstractHorse;
|
||||
import org.bukkit.entity.Ageable;
|
||||
import org.bukkit.entity.ChestedHorse;
|
||||
import org.bukkit.entity.Horse;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Tameable;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.material.Colorable;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
import org.bukkit.util.Vector;
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
@ -279,34 +273,8 @@ public class BlueprintPaster {
|
||||
// Actually set the custom name
|
||||
e.setCustomName(customName);
|
||||
}
|
||||
if (e instanceof Colorable && k.getColor() != null) {
|
||||
((Colorable) e).setColor(k.getColor());
|
||||
}
|
||||
if (e instanceof Tameable && k.getTamed() != null) {
|
||||
((Tameable)e).setTamed(k.getTamed());
|
||||
}
|
||||
if (e instanceof ChestedHorse && k.getChest() != null) {
|
||||
((ChestedHorse)e).setCarryingChest(k.getChest());
|
||||
}
|
||||
if (e instanceof Ageable && k.getAdult() != null) {
|
||||
if (k.getAdult()) {
|
||||
((Ageable)e).setAdult();
|
||||
} else {
|
||||
((Ageable)e).setBaby();
|
||||
}
|
||||
}
|
||||
if (e instanceof AbstractHorse) {
|
||||
AbstractHorse horse = (AbstractHorse)e;
|
||||
if (k.getDomestication() != null) horse.setDomestication(k.getDomestication());
|
||||
if (k.getInventory() != null) {
|
||||
k.getInventory().forEach(horse.getInventory()::setItem);
|
||||
}
|
||||
}
|
||||
if (e instanceof Horse && k.getStyle() != null) {
|
||||
((Horse)e).setStyle(k.getStyle());
|
||||
}
|
||||
k.configureEntity(e);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3,9 +3,16 @@ package world.bentobox.bentobox.blueprints.dataobjects;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.entity.AbstractHorse;
|
||||
import org.bukkit.entity.Ageable;
|
||||
import org.bukkit.entity.ChestedHorse;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Horse;
|
||||
import org.bukkit.entity.Tameable;
|
||||
import org.bukkit.entity.Horse.Style;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.material.Colorable;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
@ -34,6 +41,35 @@ public class BlueprintEntity {
|
||||
@Expose
|
||||
private Style style;
|
||||
|
||||
public void configureEntity(Entity e) {
|
||||
if (e instanceof Colorable) {
|
||||
((Colorable) e).setColor(color);
|
||||
}
|
||||
if (tamed != null && e instanceof Tameable) {
|
||||
((Tameable)e).setTamed(tamed);
|
||||
}
|
||||
if (chest != null && e instanceof ChestedHorse) {
|
||||
((ChestedHorse)e).setCarryingChest(chest);
|
||||
}
|
||||
if (adult != null && e instanceof Ageable) {
|
||||
if (adult) {
|
||||
((Ageable)e).setAdult();
|
||||
} else {
|
||||
((Ageable)e).setBaby();
|
||||
}
|
||||
}
|
||||
if (e instanceof AbstractHorse) {
|
||||
AbstractHorse horse = (AbstractHorse)e;
|
||||
if (domestication != null) horse.setDomestication(domestication);
|
||||
if (inventory != null) {
|
||||
inventory.forEach(horse.getInventory()::setItem);
|
||||
}
|
||||
}
|
||||
if (style != null && e instanceof Horse) {
|
||||
((Horse)e).setStyle(style);
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* @return the color
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user