Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.h31ix.nasprotect;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Locale;
- import java.util.Map;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import org.bukkit.Location;
- import org.bukkit.block.Block;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Nasprotect extends JavaPlugin {
- private BlockBreakListener blockBreakListener = new BlockBreakListener(this);
- private BlockPlaceListener blockPlaceListener = new BlockPlaceListener(this);
- private NPPlayerListener playerListener = new NPPlayerListener(this);
- public Player lastp = null;
- public Location lastb = null;
- public Connection conn;
- private PluginManager pluginManager;
- private ResultSet rs = null;
- public Statement stmt;
- public Map<Player, Boolean> freeze = new HashMap<Player, Boolean>();
- public Map<Player, Boolean> build = new HashMap<Player, Boolean>();
- public Map<Player, String> update = new HashMap<Player, String>();
- public ArrayList<String> list = new ArrayList<String>();
- public void onDisable() {
- try {
- for (int i=0;i!=list.size();i++)
- {
- PreparedStatement pstmt = conn.prepareStatement(list.get(i));
- pstmt.executeUpdate();
- pstmt.close();
- }
- } catch (SQLException ex) {
- Logger.getLogger(Nasprotect.class.getName()).log(Level.SEVERE, null, ex);
- }
- System.out.println(this + " is now disabled!");
- }
- public void onEnable() {
- connectSQL();
- getCommand("freeze").setExecutor(new CommandFreeze(this));
- getCommand("last").setExecutor(new CommandLast(this));
- getCommand("build").setExecutor(new CommandBuild(this));
- getCommand("np").setExecutor(new CommandNP(this));
- pluginManager = getServer().getPluginManager();
- pluginManager.registerEvent(org.bukkit.event.Event.Type.BLOCK_BREAK, blockBreakListener, org.bukkit.event.Event.Priority.Highest, this);
- pluginManager.registerEvent(org.bukkit.event.Event.Type.BLOCK_PLACE, blockPlaceListener, org.bukkit.event.Event.Priority.Highest, this);
- pluginManager.registerEvent(org.bukkit.event.Event.Type.PLAYER_MOVE, playerListener, org.bukkit.event.Event.Priority.Highest, this);
- pluginManager.registerEvent(org.bukkit.event.Event.Type.PLAYER_INTERACT, playerListener, org.bukkit.event.Event.Priority.Monitor, this);
- System.out.println(this + " is now enabled!");
- getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
- public void run() {
- try {
- for (int i=0;i!=list.size();i++)
- {
- PreparedStatement pstmt = conn.prepareStatement(list.get(i));
- pstmt.executeUpdate();
- pstmt.close();
- }
- } catch (SQLException ex) {
- Logger.getLogger(Nasprotect.class.getName()).log(Level.SEVERE, null, ex);
- }
- System.out.println("Pushed all logs to master");
- }
- }, 1L, 3000L);
- }
- public void getAction(Block block, Player player)
- {
- /**try {
- stmt = conn.createStatement();
- rs = stmt.executeQuery("SELECT * FROM mc_history WHERE loc_x BETWEEN '"+((int)block.getLocation().getX()-1)+"' AND '"+((int)block.getLocation().getX()+1)+"' AND loc_y BETWEEN '"+((int)block.getLocation().getY()-1)+"' AND '"+((int)block.getLocation().getY()+1)+"' AND loc_z BETWEEN '"+((int)block.getLocation().getZ()-1)+"' AND '"+((int)block.getLocation().getZ()+1)+"' AND world='"+block.getWorld().getName()+"'");
- while (rs.next())
- {
- player.sendMessage(rs.getString("player_name")+" "+rs.getString("type")+" "+rs.getString("block_name"));
- }
- } catch (SQLException ex) {
- Logger.getLogger(Nasprotect.class.getName()).log(Level.SEVERE, null, ex);
- }**/
- }
- public void logBreak(Block block, Player player) throws SQLException
- {
- String sql = "INSERT INTO mc_history (date, type, player_name, world, loc_x, loc_y, loc_z, block_name) VALUES ('"+getDate()+"', 'BLOCK_BREAK', '"+player.getName()+"', '"+player.getWorld().getName()+"', '"+(int)player.getLocation().getX()+"', '"+(int)player.getLocation().getY()+"', '"+(int)player.getLocation().getZ()+"', '"+(block.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""))+"')";
- list.add(sql);
- //stmt.addBatch(sql);
- }
- public void logPlace(Block block, Player player) throws SQLException
- {
- String sql = "INSERT INTO mc_history (date, type, player_name, world, loc_x, loc_y, loc_z, block_name) VALUES ('"+getDate()+"', 'BLOCK_PLACE', '"+player.getName()+"', '"+player.getWorld().getName()+"', '"+(int)player.getLocation().getX()+"', '"+(int)player.getLocation().getY()+"', '"+(int)player.getLocation().getZ()+"', '"+(block.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""))+"')";
- list.add(sql);
- //stmt.addBatch(sql);
- }
- public String getDate()
- {
- Calendar cal = Calendar.getInstance();
- int year = cal.get(Calendar.YEAR);
- int month = cal.get(Calendar.MONTH);
- int day = cal.get(Calendar.DATE);
- Date date = new Date(year - 1900, month, day);
- SimpleDateFormat dformat = new SimpleDateFormat("MM/dd/yy");
- return dformat.format(date);
- }
- private void connectSQL() {
- try {
- conn = DriverManager.getConnection("jdbc:mysql://66.85.173.242:3306/minecraft", "mc_admin", "e0667Oqk634M4ls");
- conn.setAutoCommit(false);
- stmt = conn.createStatement();
- System.out.println("[NAS-P] Stats MySQL Connection Established!");
- } catch (SQLException ex) {
- Logger.getLogger(Nasprotect.class.getName()).log(Level.SEVERE, null, ex);
- System.out.println("[NAS-P] MySQL Connection FAILED.");
- pluginManager.disablePlugin(this);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment