Skip to content

Instantly share code, notes, and snippets.

@BeYkeRYkt
Last active December 14, 2016 02:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BeYkeRYkt/a4548a5e24cb15896d9071c278b57e0d to your computer and use it in GitHub Desktop.
Save BeYkeRYkt/a4548a5e24cb15896d9071c278b57e0d to your computer and use it in GitHub Desktop.
Example gist for LightSource 3.0.0
package ru.beykerykt.lightsource.items.flags.basic;
import org.bukkit.entity.Entity;
import org.bukkit.inventory.ItemStack;
import ru.beykerykt.lightsource.items.Item;
import ru.beykerykt.lightsource.items.flags.EndingFlagExecutor;
import ru.beykerykt.lightsource.items.flags.RequirementFlagExecutor;
import ru.beykerykt.lightsource.items.flags.UpdatableFlagExecutor;
import ru.beykerykt.lightsource.sources.ItemableSource;
import ru.beykerykt.lightsource.sources.LivingOwnedSource;
/**
*
* Example executor for LightSource 3.0.0
*
* @author DevelopedOne
*
*/
public class NicknameCheckerExecutor implements RequirementFlagExecutor, UpdatableFlagExecutor, EndingFlagExecutor {
/**
* Demo registration
*/
public void demoRegister(){
LightSourceAPI.getFlagManager().registerFlag("nicknamecheck", this);
}
/**
* Demo unregistration
*/
public void demoUnregister(){
LightSourceAPI.getFlagManager().unregisterFlag("nicknamecheck");
}
/**
* Describes how to use of this flag. The method returns only one line.
*/
@Override
public String getDescription() {
return "nicknamecheck:[player name]";
}
/**
* The maximum number of arguments. It is informative only.
*/
@Override
public int getMaxArgs() {
return 1;
}
/**
* Method from RequirementFlagExecutor. The method is to check all requirements before registering the light source.
* We need only return answer: no messages and other activities that require a one-time output.
*/
@Override
public boolean onCheckRequirement(Entity entity, ItemStack itemStack, Item item, String[] args) {
return entity.getName().equals(args[0]);
}
/**
* Method from RequirementFlagExecutor. If onCheckRequirement() gives a positive response - this method is called.
* This method is called once after verification.
*/
@Override
public void onCheckingSuccess(Entity entity, ItemStack itemStack, Item item, String[] args) {
entity.sendMessage("OMAGE! YOU ARE " + args[0]);
}
/**
* Method from RequirementFlagExecutor. If onCheckRequirement() gives a negative response - this method is called.
* This method is called once after verification.
*/
@Override
public void onCheckingFailure(Entity entity, ItemStack itemStack, Item item, String[] args) {
// TODO Auto-generated method stub
}
/**
* Method from EndingFlagExecutor. Called when the light source ceases to exist.
* It called once.
*/
@Override
public void onEnd(ItemableSource source, String[] args) {
source.getLocation().getWorld().strikeLightning(source.getLocation());
}
/**
* Method from UpdatableFlagExecutor. Called after every tick update in update-runnable.
* It called once during "tick"
*/
@Override
public void onUpdate(ItemableSource source, String[] args) {
if (source instanceof LivingOwnedSource) {
LivingOwnedSource s = (LivingOwnedSource) source;
s.getOwner().setHealth(s.getOwner().getMaxHealth());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment