SkyeDarkhawk

pistonSmelt.jar

Jul 14th, 2011
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.61 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.io.PrintWriter;
  8. import java.util.logging.Logger;
  9.  
  10. public class PistonSmelt extends Plugin
  11. {
  12.   private Logger log = Logger.getLogger("Minecraft");
  13.   public static PistonSmelt.PistonSmeltListener listener;
  14.   public static String name = "PistonSmelt";
  15.   public static String version = "1.1";
  16.   public static String author = "PspTrusz";
  17.   public static String directory = "plugins/config/";
  18.   public static PropertiesFile props;
  19.  
  20.   public PistonSmelt()
  21.   {
  22.     listener = new PistonSmelt.PistonSmeltListener(null);
  23.   }
  24.   public void disable() {
  25.     this.log.info(name + " disabled.");
  26.   }
  27.   public void enable() {
  28.     this.log.info(name + " enabled.");
  29.   }
  30.   public void initialize() {
  31.     new File(directory).mkdir();
  32.     File file = new File(directory + "PistonSmelt.txt");
  33.     if (!file.exists())
  34.       try {
  35.         PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file)), true);
  36.         out.println("#PistonSmelt by PspTrusz");
  37.         out.println("#Put each smelting recipe on a new line. Format = blockToSmelt:result");
  38.         out.println("#e.g. 12:20 will turn sand into glass.");
  39.         out.close();
  40.       }
  41.       catch (Exception localException) {
  42.       }
  43.     else {
  44.       file.exists();
  45.     }
  46.     this.log.info(name + " v" + version + " by " + author + " initialized.");
  47.     etc.getLoader().addListener(PluginLoader.Hook.REDSTONE_CHANGE, listener, this, PluginListener.Priority.MEDIUM);
  48.   }
  49.   private class PistonSmeltListener extends PluginListener {
  50.     private PistonSmeltListener() {
  51.     }
  52.     public int onRedstoneChange(Block block, int oldLevel, int newLevel) {
  53.       try { File file = new File(PistonSmelt.directory + "PistonSmelt.txt");
  54.         BufferedReader in = new BufferedReader(new FileReader(file));
  55.         String line = in.readLine();
  56.         line = in.readLine();
  57.         while (line != null) {
  58.           if (!line.contains("#")) {
  59.             String[] l = line.split(":");
  60.             int result = Integer.valueOf(l[1]).intValue();
  61.  
  62.             Block pw = block.getWorld().getBlockAt(block.getX(), block.getY(), block.getZ() + 1);
  63.             Block ps = block.getWorld().getBlockAt(block.getX() + 1, block.getY(), block.getZ());
  64.             Block pe = block.getWorld().getBlockAt(block.getX(), block.getY(), block.getZ() - 1);
  65.             Block pn = block.getWorld().getBlockAt(block.getX() - 1, block.getY(), block.getZ());
  66.  
  67.             if ((pw.getType() == 29) && (pw.isPowered())) {
  68.               Block pws = pw.getWorld().getBlockAt(pw.getX() + 2, pw.getY(), pw.getZ());
  69.               Block pwsl = pw.getWorld().getBlockAt(pw.getX() + 2, pw.getY() - 1, pw.getZ());
  70.               Block pwn = pw.getWorld().getBlockAt(pw.getX() - 2, pw.getY(), pw.getZ());
  71.               Block pwnl = pw.getWorld().getBlockAt(pw.getX() - 2, pw.getY() - 1, pw.getZ());
  72.               Block pww = pw.getWorld().getBlockAt(pw.getX(), pw.getY(), pw.getZ() + 2);
  73.               Block pwwl = pw.getWorld().getBlockAt(pw.getX(), pw.getY() - 1, pw.getZ() + 2);
  74.  
  75.               if (((pwsl.getType() == 10) || (pwsl.getType() == 11)) &&
  76.                 (line.startsWith(pws.getType() + ":"))) {
  77.                 result = Integer.valueOf(l[1]).intValue();
  78.                 pw.getWorld().dropItem(pw.getX(), pw.getY() + 1, pw.getZ(), result);
  79.                 pws.setType(0);
  80.                 pws.getWorld().setBlock(pws);
  81.               }
  82.               if (((pwnl.getType() == 10) || (pwnl.getType() == 11)) &&
  83.                 (line.startsWith(pwn.getType() + ":"))) {
  84.                 result = Integer.valueOf(l[1]).intValue();
  85.                 pw.getWorld().dropItem(pw.getX(), pw.getY() + 1, pw.getZ(), result);
  86.                 pwn.setType(0);
  87.                 pwn.getWorld().setBlock(pwn);
  88.               }
  89.               if (((pwwl.getType() == 10) || (pwwl.getType() == 11)) &&
  90.                 (line.startsWith(pww.getType() + ":"))) {
  91.                 result = Integer.valueOf(l[1]).intValue();
  92.                 pw.getWorld().dropItem(pw.getX(), pw.getY() + 1, pw.getZ(), result);
  93.                 pww.setType(0);
  94.                 pww.getWorld().setBlock(pww);
  95.               }
  96.             }
  97.  
  98.             if ((pe.getType() == 29) && (pe.isPowered())) {
  99.               Block pes = pe.getWorld().getBlockAt(pe.getX() + 2, pe.getY(), pe.getZ());
  100.               Block pesl = pe.getWorld().getBlockAt(pe.getX() + 2, pe.getY() - 1, pe.getZ());
  101.               Block pen = pe.getWorld().getBlockAt(pe.getX() - 2, pe.getY(), pe.getZ());
  102.               Block penl = pe.getWorld().getBlockAt(pe.getX() - 2, pe.getY() - 1, pe.getZ());
  103.               Block pee = pe.getWorld().getBlockAt(pe.getX(), pe.getY(), pe.getZ() - 2);
  104.               Block peel = pe.getWorld().getBlockAt(pe.getX(), pe.getY() - 1, pe.getZ() - 2);
  105.  
  106.               if (((pesl.getType() == 10) || (pesl.getType() == 11)) &&
  107.                 (line.startsWith(pes.getType() + ":"))) {
  108.                 result = Integer.valueOf(l[1]).intValue();
  109.                 pe.getWorld().dropItem(pe.getX(), pe.getY() + 1, pe.getZ(), result);
  110.                 pes.setType(0);
  111.                 pes.getWorld().setBlock(pes);
  112.               }
  113.               if (((penl.getType() == 10) || (penl.getType() == 11)) &&
  114.                 (line.startsWith(pen.getType() + ":"))) {
  115.                 result = Integer.valueOf(l[1]).intValue();
  116.                 pe.getWorld().dropItem(pe.getX(), pe.getY() + 1, pe.getZ(), result);
  117.                 pen.setType(0);
  118.                 pen.getWorld().setBlock(pen);
  119.               }
  120.               if (((peel.getType() == 10) || (peel.getType() == 11)) &&
  121.                 (line.startsWith(pee.getType() + ":"))) {
  122.                 result = Integer.valueOf(l[1]).intValue();
  123.                 pe.getWorld().dropItem(pe.getX(), pe.getY() + 1, pe.getZ(), result);
  124.                 pee.setType(0);
  125.                 pee.getWorld().setBlock(pee);
  126.               }
  127.             }
  128.  
  129.             if ((pn.getType() == 29) && (pn.isPowered())) {
  130.               Block pnw = pn.getWorld().getBlockAt(pn.getX(), pn.getY(), pn.getZ() + 2);
  131.               Block pnwl = pn.getWorld().getBlockAt(pn.getX(), pn.getY() - 1, pn.getZ() + 2);
  132.               Block pnn = pn.getWorld().getBlockAt(pn.getX() - 2, pn.getY(), pn.getZ());
  133.               Block pnnl = pn.getWorld().getBlockAt(pn.getX() - 2, pn.getY() - 1, pn.getZ());
  134.               Block pne = pn.getWorld().getBlockAt(pn.getX(), pn.getY(), pn.getZ() - 2);
  135.               Block pnel = pn.getWorld().getBlockAt(pn.getX(), pn.getY() - 1, pn.getZ() - 2);
  136.  
  137.               if (((pnwl.getType() == 10) || (pnwl.getType() == 11)) &&
  138.                 (line.startsWith(pnw.getType() + ":"))) {
  139.                 result = Integer.valueOf(l[1]).intValue();
  140.                 pn.getWorld().dropItem(pn.getX(), pn.getY() + 1, pn.getZ(), result);
  141.                 pnw.setType(0);
  142.                 pnw.getWorld().setBlock(pnw);
  143.               }
  144.               if (((pnnl.getType() == 10) || (pnnl.getType() == 11)) &&
  145.                 (line.startsWith(pnn.getType() + ":"))) {
  146.                 result = Integer.valueOf(l[1]).intValue();
  147.                 pn.getWorld().dropItem(pn.getX(), pn.getY() + 1, pn.getZ(), result);
  148.                 pnn.setType(0);
  149.                 pnn.getWorld().setBlock(pnn);
  150.               }
  151.               if (((pnel.getType() == 10) || (pnel.getType() == 11)) &&
  152.                 (line.startsWith(pne.getType() + ":"))) {
  153.                 result = Integer.valueOf(l[1]).intValue();
  154.                 pn.getWorld().dropItem(pn.getX(), pn.getY() + 1, pn.getZ(), result);
  155.                 pne.setType(0);
  156.                 pne.getWorld().setBlock(pne);
  157.               }
  158.             }
  159.  
  160.             if ((ps.getType() == 29) && (ps.isPowered())) {
  161.               Block psw = ps.getWorld().getBlockAt(ps.getX(), ps.getY(), ps.getZ() + 2);
  162.               Block pswl = ps.getWorld().getBlockAt(ps.getX(), ps.getY() - 1, ps.getZ() + 2);
  163.               Block pss = ps.getWorld().getBlockAt(ps.getX() + 2, ps.getY(), ps.getZ());
  164.               Block pssl = ps.getWorld().getBlockAt(ps.getX() + 2, ps.getY() - 1, ps.getZ());
  165.               Block pse = ps.getWorld().getBlockAt(ps.getX(), ps.getY(), ps.getZ() - 2);
  166.               Block psel = ps.getWorld().getBlockAt(ps.getX(), ps.getY() - 1, ps.getZ() - 2);
  167.  
  168.               if (((pswl.getType() == 10) || (pswl.getType() == 11)) &&
  169.                 (line.startsWith(psw.getType() + ":"))) {
  170.                 result = Integer.valueOf(l[1]).intValue();
  171.                 ps.getWorld().dropItem(ps.getX(), ps.getY() + 1, ps.getZ(), result);
  172.                 psw.setType(0);
  173.                 psw.getWorld().setBlock(psw);
  174.               }
  175.               if (((pssl.getType() == 10) || (pssl.getType() == 11)) &&
  176.                 (line.startsWith(pss.getType() + ":"))) {
  177.                 result = Integer.valueOf(l[1]).intValue();
  178.                 ps.getWorld().dropItem(ps.getX(), ps.getY() + 1, ps.getZ(), result);
  179.                 pss.setType(0);
  180.                 pss.getWorld().setBlock(pss);
  181.               }
  182.               if (((psel.getType() == 10) || (psel.getType() == 11)) &&
  183.                 (line.startsWith(pse.getType() + ":"))) {
  184.                 result = Integer.valueOf(l[1]).intValue();
  185.                 ps.getWorld().dropItem(ps.getX(), ps.getY() + 1, ps.getZ(), result);
  186.                 psw.setType(0);
  187.                 pse.getWorld().setBlock(pse);
  188.               }
  189.             }
  190.           }
  191.           line = in.readLine();
  192.         }in.close();
  193.       } catch (IOException e) {
  194.         e.printStackTrace();
  195.       }
  196.       return newLevel;
  197.     }
  198.   }
  199. }
Advertisement
Add Comment
Please, Sign In to add comment