package li.cil.oc.api.prefab; import li.cil.oc.api.nanomachines.Behavior; import li.cil.oc.api.nanomachines.DisableReason; import net.minecraft.entity.player.EntityPlayer; /** * Base class for behaviors, mostly useful to have less cluttered classes when * you only need one or two of the methods in the interface. * <p/> * This implementation will also store the player the behavior was created for. */ public abstract class AbstractBehavior implements Behavior { /** * The player this behavior was created for. */ public final EntityPlayer player; /** * Pass along the player the behavior was created for here to have it stored * for later use. * * @param player the player the behavior was created for. */ protected AbstractBehavior(EntityPlayer player) { this.player = player; } /** * Use this if you do not need the player reference in your implementation. */ protected AbstractBehavior() { this(null); } @Override public String getNameHint() { return null; } @Override public void onEnable() { } @Override public void onDisable(DisableReason reason) { } @Override public void update() { } }