spenk

RulesConfirmListener

Feb 12th, 2012
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.94 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.io.Writer;
  8. import java.util.Scanner;
  9. public class RulesConfirmListener extends PluginListener {
  10.     private PropertiesFile properties = new PropertiesFile("plugins/config/RCprops.properties");
  11.     String msg1;
  12.     String msg2;
  13.     String msg3;
  14.     String msg4;
  15.     String msg5;
  16.     String msg6;
  17.     String msg7;
  18.     String file = "plugins/config/RCplayers.txt";
  19.     File props = new File(file);
  20.     String rule = "plugins/config/RCrules.txt";
  21.     File rules = new File(rule);
  22.     public void loadConfiguration() {
  23.         msg1 = properties.getString("Main-Message","&2please do '/rules' to see the rules.");
  24.         msg2 = properties.getString("Accept-Message","&2Thank You for reading the rules and accepting them :D.");
  25.         msg4 = properties.getString("Deny-Message","&4Youll have to accept the rules");
  26.         msg3 = properties.getString("Error-Message","&4o.O an error occured /tell an admin to help you.");
  27.         msg5 = properties.getString("File-Not-Found-Message","&4Sorry But We Could Not Find The Rules \n Please do /accept rules to continiue ");
  28.         msg6 = properties.getString("Rules-Message","&2Please do &4/Acceptrules or &4/denyrules");
  29.         msg7 = properties.getString("Already-Accepted-Message","&4You already accepted the rules.");
  30.     }
  31.     public boolean onItemUse(Player player,Block blockPlaced,Block blockClicked,Item itemInHand){
  32.         if (!isInList(player.getName())){
  33.             msg1 = msg1.replaceAll("&", "§");
  34.             player.sendMessage(msg1);
  35.             return true;
  36.         }else{
  37.         return false;
  38.     }
  39.     }
  40.    
  41.     public boolean onOpenInventory(Player player,Inventory inventory){
  42.         if (!isInList(player.getName())){
  43.             msg1 = msg1.replaceAll("&", "§");
  44.             player.sendMessage(msg1);
  45.             return true;
  46.         }else{
  47.         return false;
  48.         }      
  49.     }
  50.    
  51.     public void onPlayerMove(Player player, Location from, Location to)
  52.     {
  53.         if (!isInList(player.getName())){
  54.         Location location = findPlaceToStand(player, "down");
  55.         try {
  56.           player.teleportTo(from.x, location.y, from.z, player.getRotation(), player.getPitch()); } catch (Throwable t) {
  57.           player.teleportTo(from);
  58.         }
  59.       }
  60.     }
  61.    
  62.     public boolean onChat(Player player,java.lang.String message){
  63.         if (!isInList(player.getName())){
  64.                 msg1 = msg1.replaceAll("&", "§");
  65.             player.sendMessage(msg1);
  66.             return true;
  67.         }else{
  68.         return false;
  69.     }
  70.     }
  71.    
  72.     public boolean onBlockBreak(Player player,Block block){
  73.         if (!isInList(player.getName())){
  74.                 msg1 = msg1.replaceAll("&", "§");
  75.             player.sendMessage(msg1);
  76.             return true;
  77.         }else{
  78.         return false;
  79.         }
  80.     }
  81.    
  82.     public boolean onBlockCreate(Player player,Block blockPlaced,Block blockClicked,int itemInHand){
  83.         if (!isInList(player.getName())){
  84.                 msg1 = msg1.replaceAll("&", "§");
  85.             player.sendMessage(msg1);
  86.             return true;
  87.         }else{
  88.         return false;
  89.     }
  90.     }
  91.    
  92.     public void onLogin(Player player){
  93.         if (!isInList(player.getName())){
  94.                 msg1 = msg1.replaceAll("&", "§");
  95.             player.sendMessage(msg1);
  96.         }
  97.     }
  98.     public boolean onItemDrop(Player player,Item item){
  99.         if (!isInList(player.getName())){
  100.                 msg1 = msg1.replaceAll("&", "§");
  101.             player.sendMessage(msg1);
  102.             return true;
  103.         }else{
  104.         return false;
  105.     }
  106.     }
  107.     public boolean onItemPickUp(Player player,Item item){
  108.         if (!isInList(player.getName())){
  109.                 msg1 = msg1.replaceAll("&", "§");
  110.             player.sendMessage(msg1);
  111.             return true;
  112.         }else{
  113.         return false;
  114.         }
  115.     }
  116.    
  117.     public boolean onCommand(Player player,java.lang.String[] split){
  118.         if(split[0].equalsIgnoreCase("/acceptrules")){
  119.             if (isInList(player.getName())){
  120.                 msg7 = msg7.replaceAll("&", "§");
  121.                 player.sendMessage(msg7);
  122.                 return true;
  123.             }else{
  124.             Writer writer = null;
  125.             try {
  126.              if (!new File(file).exists()) {
  127.                  props.createNewFile();
  128.                  writer = new FileWriter(file, true);
  129.                  writer.write(player.getName());
  130.                  return true;
  131.              }else{
  132.                  writer = new FileWriter(file, true);
  133.                 writer.write(player.getName()+"\n");
  134.                 writer.close();
  135.                 if (msg2.toLowerCase().contains("&")) {
  136.                     msg2 = msg2.replaceAll("&", "§");
  137.                 player.sendMessage(msg2);
  138.                 return true;
  139.                 }
  140.              }
  141.             } catch (IOException e) {
  142.                     msg3 = msg3.replaceAll("&", "§");
  143.                 player.sendMessage(msg3);
  144.                 return true;
  145.             }
  146.             }
  147.         }
  148.        
  149.         if(split[0].equalsIgnoreCase("/denyrules")){
  150.             if (isInList(player.getName())){
  151.                 msg7 = msg7.replaceAll("&", "§");
  152.                 player.sendMessage(msg7);
  153.                 return true;
  154.             }else{
  155.             if (msg4.toLowerCase().contains("&")) {
  156.                 msg4 = msg4.replaceAll("&", "§");
  157.             player.kick(msg4);
  158.             return true;
  159.             }
  160.             }
  161.         }
  162.        
  163.     if(split[0].equalsIgnoreCase("/rules")){
  164.         if (!isInList(player.getName())){
  165.         msg6 = msg6.replaceAll("&", "§");
  166.         player.sendMessage(msg6);
  167.         }
  168.             try {
  169.               FileInputStream fis = new FileInputStream("plugins/config/RCrules.txt");
  170.               Scanner scanner = new Scanner(fis, "UTF-8");
  171.               scanner.useDelimiter("\r\n");
  172.               while (scanner.hasNext()) {
  173.                 String line = scanner.nextLine();
  174.                 if (line.startsWith("#")) {
  175.                   continue;
  176.                 }
  177.                 if (line.toLowerCase().contains("&")) {
  178.                     line = line.replaceAll("&", "§");
  179.                   player.sendMessage(line);
  180.                 }
  181.               }
  182.               scanner.close();
  183.               fis.close();
  184.             }catch (IOException e) {
  185.                     msg5 = msg5.replaceAll("&", "§");
  186.                 player.sendMessage(msg5);
  187.                 return true;
  188.             }
  189.             return true;
  190.         }
  191.     return false;
  192.     }
  193.    
  194.     public boolean isInList(String playername) {
  195.         try {
  196.           BufferedReader in = new BufferedReader(new FileReader(props));
  197.           String line = in.readLine();
  198.           while (line != null) {
  199.             if (line.equalsIgnoreCase(playername)) {
  200.               in.close();
  201.               return true;
  202.             }
  203.             line = in.readLine();
  204.           }
  205.           in.close();
  206.         } catch (IOException localIOException) {
  207.         }
  208.         return false; }
  209.    
  210.     public Location findPlaceToStand(Player player, String direction)
  211.     {
  212.       int step;
  213.       if (direction.equals("up")) {
  214.         step = 1;
  215.       }
  216.       else
  217.       {
  218.         if (direction.equals("down"))
  219.           step = -1;
  220.         else
  221.           return null;
  222.       }
  223.       int x = (int)Math.round(player.getX() - 0.5D);
  224.       int y = (int)Math.round(player.getY() + step);
  225.       int z = (int)Math.round(player.getZ() - 0.5D);
  226.       World s = player.getWorld();
  227.       while ((2 < y) && (y < 125)) {
  228.         if ((s.getBlockIdAt(x, y, z) != 0) && (s.getBlockIdAt(x, y + 1, z) == 0) && (s.getBlockIdAt(x, y + 2, z) == 0)) {
  229.           return new Location(x + 0.5D, y + 1.0D, z + 0.5D, player.getRotation(), player.getPitch());
  230.         }
  231.         y += step;
  232.       }
  233.       return null;
  234.     }
  235. }
Advertisement
Add Comment
Please, Sign In to add comment