Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sovereign.yahtze.YahtzeSigns;
- import java.util.logging.Logger;
- import org.bukkit.event.Event;
- import org.bukkit.plugin.PluginDescriptionFile;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import com.nijiko.permissions.PermissionHandler;
- import com.nijikokun.bukkit.Permissions.Permissions;
- import org.bukkit.plugin.Plugin;
- public class YahtzeSigns extends JavaPlugin {
- Logger log = Logger.getLogger("Minecraft");
- private final SignPlayerListener playerListener = new SignPlayerListener(this);
- private final SignBlockListener blockListener = new SignBlockListener(this);
- public static PermissionHandler permissionHandler;
- @Override
- public void onDisable() {
- PluginDescriptionFile pdfFile = this.getDescription();
- log.info("[" + pdfFile.getName() + "] version: " + pdfFile.getVersion() + " is disabled!" );
- }
- @Override
- public void onEnable() {
- PluginManager pm = getServer().getPluginManager();
- PluginDescriptionFile pdfFile = this.getDescription();
- pm.registerEvent(Event.Type.PLAYER_INTERACT, playerListener, Event.Priority.Normal, this);
- pm.registerEvent(Event.Type.SIGN_CHANGE, blockListener, Event.Priority.Normal, this);
- pm.registerEvent(Event.Type.BLOCK_PLACE, blockListener, Event.Priority.Normal, this);
- log.info("[" + pdfFile.getName() + "] version: " + pdfFile.getVersion() + " is enabled!" );
- setupPermissions();
- }
- private void setupPermissions() {
- if (permissionHandler != null) {
- return;
- }
- Plugin permissionsPlugin = this.getServer().getPluginManager().getPlugin("Permissions");
- if (permissionsPlugin == null) {
- log.info("Permission system not detected, defaulting to OP");
- return;
- }
- permissionHandler = ((Permissions) permissionsPlugin).getHandler();
- log.info("Found and will use plugin "+((Permissions)permissionsPlugin).getDescription().getFullName());
- }
- }
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- ////////////New Source ///////////////
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- package sovereign.yahtze.YahtzeSigns;
- import java.util.logging.Logger;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockState;
- import org.bukkit.block.Sign;
- import org.bukkit.entity.Player;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerListener;
- public class SignPlayerListener extends PlayerListener {
- public static YahtzeSigns plugin;
- public SignPlayerListener(YahtzeSigns instance){
- plugin = instance;
- }
- Logger log = Logger.getLogger("Minecraft");
- public String XBLOCK_COORDINATE;
- public String YBLOCK_COORDINATE;
- public String ZBLOCK_COORDINATE;
- public int XoriginalSignCoordinate;
- public int YoriginalSignCoordinate;
- public int ZoriginalSignCoordinate;
- public void onPlayerInteract(PlayerInteractEvent event){
- if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
- Player player = event.getPlayer();
- Block block = event.getClickedBlock();
- if(block.getType() == Material.SIGN
- || block.getType() == Material.SIGN_POST
- || block.getType() == Material.WALL_SIGN){
- BlockState state = block.getState();
- if(state instanceof Sign){
- Sign sign = (Sign) state;
- if(YahtzeSigns.permissionHandler.has(event.getPlayer(), "YahtzeSigns.Health.Use")
- && sign.getLine(1).equalsIgnoreCase("§6[HEALTH]")){
- int health = 0;
- String signText = sign.getLine(2);
- if(signText.equalsIgnoreCase("")){
- health = 20;
- health = Math.min(health, 20);
- player.setHealth(health);
- player.sendMessage("§6[YahtzeSigns] You have just been healed!");
- }
- if(isInteger(signText)){
- health = Integer.parseInt(sign.getLine(2));
- health = Math.min(health, 20);
- player.setHealth(health);
- player.sendMessage("§6[YahtzeSigns] You have just been healed!");
- }
- } else if(!YahtzeSigns.permissionHandler.has(event.getPlayer(), "YahtzeSigns.Health.Use")
- && sign.getLine(1).equalsIgnoreCase("§6[HEALTH]")){
- player.sendMessage("§6[YahtzeSigns] You don't have permission to use a health sign!");
- }
- if(event.getAction().equals(Action.LEFT_CLICK_BLOCK)){
- Player player1 = event.getPlayer();
- Block signBlock = event.getClickedBlock();
- int Xcoor = signBlock.getX();
- int Ycoor = signBlock.getY() + 1;
- int Zcoor = signBlock.getZ();
- String Xco = Integer.toString(Xcoor);
- String Yco = Integer.toString(Ycoor);
- String Zco = Integer.toString(Zcoor);
- XBLOCK_COORDINATE = Xco;
- YBLOCK_COORDINATE = Yco;
- ZBLOCK_COORDINATE = Zco;
- Location signLoc = player1.getLocation();
- signLoc.setX(XoriginalSignCoordinate);
- signLoc.setY(YoriginalSignCoordinate);
- signLoc.setZ(ZoriginalSignCoordinate);
- Block block2 = player1.getWorld().getBlockAt(signLoc);
- BlockState state2 = block2.getState();
- if(state2 instanceof Sign){
- Sign sign2 = (Sign) state2;
- sign2.setLine(1, XBLOCK_COORDINATE);
- sign2.setLine(2, YBLOCK_COORDINATE);
- sign2.setLine(3, ZBLOCK_COORDINATE);
- sign2.update();
- XoriginalSignCoordinate = 0;
- YoriginalSignCoordinate = 130;
- ZoriginalSignCoordinate = 0;}
- }
- }
- }
- }
- }
- public static boolean isInteger(String string){
- try{
- Integer.parseInt(string);
- } catch(Exception e){
- return false;
- }
- return true;
- }
- }
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- ////////////New Source ///////////////
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- package sovereign.yahtze.YahtzeSigns;
- import java.util.logging.Logger;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockState;
- import org.bukkit.block.Sign;
- import org.bukkit.entity.Player;
- import org.bukkit.event.block.BlockListener;
- import org.bukkit.event.block.BlockPlaceEvent;
- import org.bukkit.event.block.SignChangeEvent;
- public class SignBlockListener extends BlockListener {
- public static YahtzeSigns plugin;
- public SignBlockListener(YahtzeSigns instance){
- plugin = instance;
- }
- Logger log = Logger.getLogger("Minecraft");
- public void onSignChange(SignChangeEvent event){
- Player player = event.getPlayer();
- if(YahtzeSigns.permissionHandler.has(event.getPlayer(), "YahtzeSigns.Health.Create")
- && event.getLine(1).equalsIgnoreCase("[HEALTH]")
- || event.getLine(1).equalsIgnoreCase("[HEAL]")){
- if(isInteger(event.getLine(2)) || event.getLine(2).equals("")){
- event.setLine(1, "§6[Health]");
- player.sendMessage("§6[YahtzeSigns] Heal sign successfully created!");
- }
- } else if(!YahtzeSigns.permissionHandler.has(event.getPlayer(), "YahtzeSigns.Health.Create")
- && event.getLine(1).equalsIgnoreCase("[HEALTH]")
- || event.getLine(1).equalsIgnoreCase("[HEAL]")){
- player.sendMessage("§6[YahtzeSigns] You don't have permission to make a health sign!");}
- }
- public void onBlockPlace(BlockPlaceEvent event){
- Block blockAgainst = event.getBlockAgainst();
- if(blockAgainst.getType() == Material.SIGN
- || blockAgainst.getType() == Material.SIGN_POST
- || blockAgainst.getType() == Material.WALL_SIGN){
- BlockState state = blockAgainst.getState();
- if(state instanceof Sign){
- Sign sign = (Sign) state;
- if(sign.getLine(1).equalsIgnoreCase("§6[HEALTH]")
- && sign.getLine(2).equalsIgnoreCase("")
- || isInteger(sign.getLine(2))){
- event.setCancelled(true);
- }
- }
- }
- }
- public static boolean isInteger(String string){
- try{
- Integer.parseInt(string);
- } catch(Exception e){
- return false;
- }
- return true;
- }
- public static boolean isInteger3(String string1, String string2, String string3){
- try{
- Integer.parseInt(string1);
- Integer.parseInt(string2);
- Integer.parseInt(string3);
- } catch(Exception e){
- return false;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement