Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.jet315.minions.minions.types;
- import me.jet315.minions.minions.Minion;
- import me.jet315.minions.minions.MinionEntity;
- import me.jet315.minions.utils.MinionFace;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.ItemStack;
- //Must implement Minion class
- public class CustomMinion extends Minion {
- //Must implement default constructor
- public CustomMinion(Player p, boolean useHealth, int actionsAllowedPerHeathDrop, int health, int totalActionsProcessed, MinionEntity minionEntity, MinionFace direction, ItemStack minionDisplayItem, int level) {
- super(p, useHealth, actionsAllowedPerHeathDrop, health, totalActionsProcessed, minionEntity, direction, minionDisplayItem, level);
- }
- //The minions identifier, IE "Miner" or "Slayer"
- @Override
- public String getIdentifier() {
- return null;
- }
- //Your name
- @Override
- public String getAuthor() {
- return null;
- }
- //Code that is ran when the minion is loaded for the very first time
- @Override
- public void onFirstSpawn() {
- }
- //Code that is ran when the minion is loaded
- @Override
- public void onLoad() {
- }
- @Override
- public void performAction() {
- if (inSpawnAnimation) return; // I suggest not performing any action if the minion is in the spawn animation
- super.performAction(); //This is needed
- //Good methods:
- getMinion();
- getMinion().getArmorStand();
- getMinion().getAttachedChest(); //Use getMinion().hasMinionGotAttachedChest() before getting the chest
- getLevel(); //Maybe you want to do different stuff depending on the level?
- }
- /**
- * You DO NOT NEED TO OVERRIDE THIS METHOD, and I suggest you don't really as creating animations is a pretty long and annoying task
- */
- @Override
- public void performAnimation() {
- /**
- * If you want to create your own animation, then you need to create EulaAngles for a part of the minion (like the arm) and each time this method is called perform the next animation
- *
- * What I suggest you do:
- * have a counter variable, each time this method is called +1 to it
- * check if counter variable is bigger than the list, if so reset it back to 0
- * Create a list of EulaAngles so: (ArmMovement1,ArmMovement2,ArmMovement3,ArmMovement2,ArmMovement1)
- * then each time this method is called, use
- * getMinion().getArmorStand().setRightArmPose(listName[counter]);
- *
- * I suggest playing around with this
- * Creating animations is a pretty annoying task though, if the default animation is cool enough, then I suggest you use this.
- *
- */
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement