Advertisement
m1enkrafft_man

AntiPass v0.0.4

Jun 19th, 2012
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.66 KB | None | 0 0
  1. package m1.plugins.AntiPass;
  2.  
  3. import java.util.logging.Logger;
  4.  
  5. import org.bukkit.entity.Player;
  6. import org.bukkit.plugin.PluginManager;
  7. import org.bukkit.plugin.java.JavaPlugin;
  8.  
  9. public class AntiPass extends JavaPlugin{
  10.  
  11. Logger log = this.getLogger();
  12. public final MyPlayerListener playerListener = new MyPlayerListener();
  13.  
  14. public void onEnable(){
  15. log.info("[AntiPass] v" + getDescription().getVersion() + " has enabled!");
  16. PluginManager pm = getServer().getPluginManager();
  17.  
  18. pm.registerEvents(this.playerListener, this);
  19.  
  20.  
  21. }
  22.  
  23. public void onDisable(){
  24. log.info("[AntiPass] v" + getDescription().getVersion() + " has disabled!");
  25.  
  26. }
  27.  
  28.  
  29.  
  30.  
  31. }
  32.  
  33.  
  34. package m1.plugins.AntiPass;
  35.  
  36. import java.util.ArrayList;
  37.  
  38. import org.bukkit.OfflinePlayer;
  39. import org.bukkit.command.Command;
  40. import org.bukkit.command.CommandSender;
  41. import org.bukkit.entity.Player;
  42.  
  43.  
  44. public class AntiPassCommandExecutor {
  45.  
  46. private AntiPass antipass;
  47.  
  48. public AntiPassCommandExecutor(AntiPass antipass) {
  49. this.antipass = antipass;
  50. }
  51. public static ArrayList vanish = new ArrayList();
  52. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
  53. if(cmd.getName().equalsIgnoreCase("checkjesus") && sender.isOp()){
  54. AntiPassBooleans.checkJesus = !AntiPassBooleans.checkJesus;
  55. if(AntiPassBooleans.checkJesus = true){
  56. sender.sendMessage("\247b[AntiPass] /247cJesus check has been enabled.");
  57. }else{
  58. sender.sendMessage("\247b[AntiPass] /247cJesus check has been disabled.");
  59. }
  60. return true;
  61. }else if(cmd.getName().equalsIgnoreCase("quickconsume") && sender.isOp()){
  62. AntiPassBooleans.quickConsume = !AntiPassBooleans.quickConsume;
  63. if(AntiPassBooleans.quickConsume = true){
  64. sender.sendMessage("\247b[AntiPass] /247cQuickConsume bypass check has been enabled.");
  65. }else{
  66. sender.sendMessage("\247b[AntiPass] /247cQuickConsume bypass check has been disabled.");
  67. }
  68. return true;
  69. }else if(cmd.getName().equalsIgnoreCase("checknofall") && sender.isOp()){
  70. AntiPassBooleans.checkNofall = !AntiPassBooleans.checkNofall;
  71. if(AntiPassBooleans.checkNofall = true){
  72. sender.sendMessage("\247b[AntiPass] /247cNofall bypass check(s) has been enabled.");
  73. }else{
  74. sender.sendMessage("\247b[AntiPass] /247cNofall bypass check(s) has been disabled.");
  75. }
  76. return true;
  77. }else if(cmd.getName().equalsIgnoreCase("checkaimbot") && sender.isOp()){
  78. AntiPassBooleans.checkaimbot = !AntiPassBooleans.checkaimbot;
  79. if(AntiPassBooleans.checkaimbot = true){
  80. sender.sendMessage("\247b[AntiPass] /247cAimbot check has been enabled.");
  81. }else{
  82. sender.sendMessage("\247b[AntiPass] /247cAimbot check has been disabled.");
  83. }
  84. return true;
  85. }else if(cmd.getName().equalsIgnoreCase("checkblock") && sender.isOp()){
  86. AntiPassBooleans.checkBlock = !AntiPassBooleans.checkBlock;
  87. if(AntiPassBooleans.checkBlock = true){
  88. sender.sendMessage("\247b[AntiPass] /247cSpeedBlock check has been enabled.");
  89. }else{
  90. sender.sendMessage("\247b[AntiPass] /247cSpeedBlock check has been disabled.");
  91. }
  92. return true;
  93. }else if(cmd.getName().equalsIgnoreCase("checkfly") && sender.isOp()){
  94. AntiPassBooleans.bedCheck = !AntiPassBooleans.bedCheck;
  95. if(AntiPassBooleans.bedCheck = true){
  96. sender.sendMessage("\247b[AntiPass] /247cFlight bypass check has been enabled.");
  97. }else{
  98. sender.sendMessage("\247b[AntiPass] /247cFLight bypass check has been disabled.");
  99. }
  100. return true;
  101. }else if(cmd.getName().equalsIgnoreCase("autokick") && sender.isOp()){
  102. AntiPassBooleans.autoKick = !AntiPassBooleans.autoKick;
  103. if(AntiPassBooleans.autoKick = true){
  104. sender.sendMessage("\247b[AntiPass] /247cAutoKicker enabled. WARNING: Be wary when using this...");
  105. }else{
  106. sender.sendMessage("\247b[AntiPass] /247cAutoKicker disabled.");
  107. }
  108. return true;
  109.  
  110. }else if(cmd.getName().equalsIgnoreCase("apvanish") && sender.isOp()){
  111. if(sender instanceof Player){
  112. Player toVanish = (Player) sender;
  113. AntiPassVanish.determinePlayer(toVanish);
  114.  
  115. for(Player p : sender.getServer().getOnlinePlayers()){
  116. for(int x = 0; x < AntiPassVanish.vanish.size(); x++){
  117. Player who = (Player) AntiPassVanish.vanish.get(x);
  118. p.hidePlayer(who);
  119. }
  120. }
  121. }else{
  122. sender.sendMessage("\247b[AntiPass] /247cMust be a player to vanish!.");
  123. }
  124. return true;
  125. }else if(cmd.getName().equalsIgnoreCase("aphelp") && sender.isOp()){
  126. sender.sendMessage("\247b[AntiPass] /247c/autokick - Toggles automatic kicker.");
  127. sender.sendMessage("\247b[AntiPass] /247c/quickconsume - Toggles QuickConsume bypass check.");
  128. sender.sendMessage("\247b[AntiPass] /247c/checkfly - Toggles Fly bypass check.");
  129. sender.sendMessage("\247b[AntiPass] /247c/checkjesus - Toggles Jesus bypass check.");
  130. sender.sendMessage("\247b[AntiPass] /247c/checkblock - Toggles QuickMove block check.");
  131. sender.sendMessage("\247b[AntiPass] /247c/checkaimbot - Toggles AimBot check.");
  132. sender.sendMessage("\247b[AntiPass] /247c/checknofall - Toggles Nofall bypass(es) check(s).");
  133. sender.sendMessage("\247b[AntiPass] /247c/apvanish - Makes the sender invisible. (Or visible again)");
  134. return true;
  135.  
  136. }
  137. return false;
  138. }
  139.  
  140. }
  141.  
  142.  
  143. package m1.plugins.AntiPass;
  144.  
  145. import java.util.List;
  146.  
  147. import javax.tools.JavaFileManager.Location;
  148.  
  149. import org.bukkit.Material;
  150. import org.bukkit.World;
  151. import org.bukkit.block.Block;
  152. import org.bukkit.entity.Player;
  153. import org.bukkit.event.EventHandler;
  154. import org.bukkit.event.Listener;
  155. import org.bukkit.event.player.PlayerInteractEvent;
  156. import org.bukkit.event.player.PlayerMoveEvent;
  157. import org.bukkit.event.player.PlayerQuitEvent;
  158. import org.bukkit.util.Vector;
  159.  
  160. public class MyPlayerListener implements Listener{
  161.  
  162. @EventHandler
  163. public void onPlayerMovement(PlayerMoveEvent evt) {
  164. //get some locations n stuff
  165. Location loc = (Location) evt.getPlayer().getLocation();
  166. Location locFrom = (Location) evt.getFrom();
  167. World w = ((org.bukkit.Location) loc).getWorld();
  168. Player player = evt.getPlayer();
  169.  
  170. if(AntiPassBooleans.checkaimbot){
  171. float pitch = ((org.bukkit.Location) loc).getPitch();
  172. float prevPitch = ((org.bukkit.Location) locFrom).getPitch();
  173. float almostFinal = pitch - prevPitch;
  174. float finalDiff;
  175. if(almostFinal < 0){
  176. finalDiff = almostFinal * (-1);
  177. }else{
  178. finalDiff = almostFinal;
  179. }
  180. if(finalDiff >= 120 && finalDiff <= 240){
  181. List los = player.getLineOfSight(null, 15);
  182. if(los.contains(evt.getPlayer().getServer().getOnlinePlayers())){
  183. for (Player p : evt.getPlayer().getServer().getOnlinePlayers()) {
  184. if (p.isOp()){
  185. p.sendMessage("\247b[AntiPass] \247c" + evt.getPlayer().getName() + " might be using AimBot. Rotation to face player:" + finalDiff);
  186. }
  187. }
  188. }
  189. }
  190. }
  191.  
  192.  
  193.  
  194. if(AntiPassBooleans.checkNofall){
  195. ((org.bukkit.Location) loc).setY(((org.bukkit.Location) loc).getY() - 1);
  196. int b1 = w.getBlockTypeIdAt((org.bukkit.Location) loc);
  197. boolean isWebMethod;
  198. if(b1 == 30){
  199. isWebMethod = true;
  200. }else{
  201. isWebMethod = false;
  202. }
  203. if(isWebMethod){
  204. if(player.getFallDistance() >= 10 && !player.isOp()){
  205. for (Player p : evt.getPlayer().getServer().getOnlinePlayers()) {
  206. if (p.isOp()){
  207. p.sendMessage("\247b[AntiPass] \247c" + evt.getPlayer().getName() + " might be attempting Nofall exploit. Height: " + player.getFallDistance());
  208. }
  209. }
  210. if(AntiPassBooleans.autoKick){
  211. player.kickPlayer("\247b[AntiPass] Kicked for possible hacking, but not banned. Relog to appeal... or confess.");
  212. }
  213. }
  214. }else{
  215. //add in disconnect method here
  216. }
  217.  
  218. }
  219.  
  220.  
  221.  
  222.  
  223. if(AntiPassBooleans.checkJesus){
  224. //Getting the from and to values of the player
  225. double xFrom = ((Block) locFrom).getX();
  226. double zFrom = ((Block) locFrom).getZ();
  227.  
  228. double xLoc = ((Block) loc).getX();
  229. double zLoc = ((Block) loc).getZ();
  230.  
  231. //Retrieving the differences
  232. double xDistance = xLoc - xFrom;
  233. double zDistance = zLoc - zFrom;
  234.  
  235. //Finally, we have the horizontal distance traveled
  236. final double distanceTraveledHorizontally = Math.sqrt((xDistance * xDistance + zDistance * zDistance));
  237.  
  238. ((org.bukkit.Location) loc).setY(((org.bukkit.Location) loc).getY() - 1);
  239. int b = w.getBlockTypeIdAt((org.bukkit.Location) loc);
  240. if(b == 8 || b == 9){
  241. //Values are guesstimates
  242. if(distanceTraveledHorizontally >= 1.5 && !player.isInsideVehicle() && !player.isOp()){
  243. int jesusViolationLevel = (int)(((distanceTraveledHorizontally / 1.5) * 100));
  244. for (Player p : evt.getPlayer().getServer().getOnlinePlayers()) {
  245. if (p.isOp()){
  246. p.sendMessage("\247b[AntiPass] \247c" + evt.getPlayer().getName() + " might be attempting Jesus. Level: " + jesusViolationLevel + "%");
  247. }
  248. }
  249. if(AntiPassBooleans.autoKick){
  250. player.kickPlayer("\247b[AntiPass] Kicked for possible hacking, but not banned. Relog to appeal... or confess.");
  251. }
  252.  
  253. }
  254.  
  255. }
  256. }//end jesus check
  257.  
  258. }
  259. @EventHandler
  260. public void onPlayerInteract(PlayerInteractEvent evt){
  261.  
  262. if(AntiPassBooleans.bedCheck){
  263. Location loc = (Location) evt.getPlayer().getLocation();
  264. World w = ((org.bukkit.Location) loc).getWorld();
  265. Player player = evt.getPlayer();
  266.  
  267. Location l1 = loc;
  268. Location l2 = loc;
  269. Location l3 = loc;
  270. Location l4 = loc;
  271. boolean nearBoat = false;
  272. boolean nearCart = false;
  273. boolean nearBed = false;
  274.  
  275.  
  276. if(player.getAllowFlight() != true && player.leaveVehicle() == true){
  277. for(int x = 1; x < 4; x++){
  278. ((org.bukkit.Location) l1).setX(((org.bukkit.Location) loc).getX() - x);
  279. ((org.bukkit.Location) l2).setX(((org.bukkit.Location) loc).getX() + x);
  280. ((org.bukkit.Location) l3).setZ(((org.bukkit.Location) loc).getZ() - x);
  281. ((org.bukkit.Location) l4).setZ(((org.bukkit.Location) loc).getZ() + x);
  282. int b = w.getBlockTypeIdAt((org.bukkit.Location) loc);
  283. if(b == 355){
  284. nearBed = true;
  285. }else if(b == 328){
  286. nearCart = true;
  287. }else if(b == 333){
  288. nearBoat = true;
  289. }else{
  290. doNothing();
  291. }
  292.  
  293. }
  294. Location bedLoc = (Location) player.getBedSpawnLocation();
  295. if(nearBed = false){
  296. if(bedLoc != null){
  297.  
  298. double xLoc = ((Block) loc).getX();
  299. double zLoc = ((Block) loc).getZ();
  300.  
  301. double xBed = ((Block) bedLoc).getX();
  302. double zBed = ((Block) bedLoc).getZ();
  303.  
  304. //Retrieving the differences
  305. double xDistance = xLoc - xBed;
  306. double zDistance = zLoc - zBed;
  307.  
  308. //Finally, we have the horizontal distance traveled
  309. final double distanceToPlayerBed = Math.sqrt((xDistance * xDistance + zDistance * zDistance));
  310. if(distanceToPlayerBed > 8){
  311. for (Player p : evt.getPlayer().getServer().getOnlinePlayers()) {
  312. if (p.isOp()){
  313. p.sendMessage("\247b[AntiPass] \247c" + evt.getPlayer().getName() + " might be attempting a Flight bypass.");
  314. }
  315. }
  316. if(AntiPassBooleans.autoKick){
  317. player.kickPlayer("\247b[AntiPass] Kicked for possible hacking, but not banned. Relog to appeal... or confess.");
  318. }
  319. }
  320. }
  321. }else if(bedLoc == null){
  322. for (Player p : evt.getPlayer().getServer().getOnlinePlayers()) {
  323. if (p.isOp()){
  324. p.sendMessage("\247b[AntiPass] \247c" + evt.getPlayer().getName() + " might be attempting a Flight bypass.");
  325. }
  326. }
  327. if(AntiPassBooleans.autoKick){
  328. player.kickPlayer("\247b[AntiPass] Kicked for possible hacking, but not banned. Relog to appeal... or confess.");
  329. }
  330. }
  331. }
  332. }
  333.  
  334. if(AntiPassBooleans.quickConsume){
  335. Location loc = (Location) evt.getPlayer().getLocation();
  336. World w = ((org.bukkit.Location) loc).getWorld();
  337. Player player = evt.getPlayer();
  338. boolean sprinting = player.isSprinting();
  339. Vector v = player.getVelocity();
  340. if(v.length() > 3 || sprinting){
  341. if(player.getItemInHand().getType() == Material.APPLE || player.getItemInHand().getType() == Material.BREAD || player.getItemInHand().getType() == Material.COOKED_BEEF || player.getItemInHand().getType() == Material.COOKED_CHICKEN || player.getItemInHand().getType() == Material.COOKED_FISH || player.getItemInHand().getType() == Material.COOKIE || player.getItemInHand().getType() == Material.GRILLED_PORK || player.getItemInHand().getType() == Material.PORK || player.getItemInHand().getType() == Material.POTION || player.getItemInHand().getType() == Material.SPIDER_EYE && !player.isOp()){
  342. for (Player p : evt.getPlayer().getServer().getOnlinePlayers()) {
  343. if (p.isOp()){
  344. p.sendMessage("\247b[AntiPass] \247c" + evt.getPlayer().getName() + " might be attempting QuickConsume bypass.");
  345. }
  346. }
  347. }
  348. }
  349. }
  350.  
  351. if(AntiPassBooleans.checkBlock){
  352. Location loc = (Location) evt.getPlayer().getLocation();
  353. World w = ((org.bukkit.Location) loc).getWorld();
  354. Player player = evt.getPlayer();
  355. if(player.isBlocking()){
  356. Vector v = player.getVelocity();
  357. if(v.length() > 3 || player.isSprinting()){
  358. for (Player p : evt.getPlayer().getServer().getOnlinePlayers()) {
  359. if (p.isOp()){
  360. p.sendMessage("\247b[AntiPass] \247c" + evt.getPlayer().getName() + " might be blocking and still moving at normal speed.");
  361. }
  362. }
  363. }
  364. }
  365.  
  366. }
  367.  
  368. }//end interact
  369. @EventHandler
  370. public void onPlayerDisconnect(PlayerQuitEvent evt){
  371. Player player = evt.getPlayer();
  372. if(AntiPassBooleans.checkNofall){
  373. if(player.getFallDistance() >= 10 && !player.isOp()){
  374. for (Player p : evt.getPlayer().getServer().getOnlinePlayers()) {
  375. if (p.isOp()){
  376. p.sendMessage("\247b[AntiPass] \247c" + evt.getPlayer().getName() + " might have disconnected to avoid fall damage.");
  377. }
  378. }
  379. }
  380. }
  381. }
  382.  
  383. public void doNothing(){
  384. return;
  385. }
  386.  
  387. }
  388.  
  389.  
  390. package m1.plugins.AntiPass;
  391.  
  392. import java.util.ArrayList;
  393.  
  394. public class AntiPassBooleans {
  395.  
  396. public AntiPassBooleans(){}
  397.  
  398. public static boolean checkJesus = true;
  399.  
  400. public static boolean checkNofall = true;
  401.  
  402. public static boolean quickConsume = true;
  403.  
  404. public static boolean bedCheck = true;
  405.  
  406. public static boolean autoKick = false;
  407.  
  408. public static boolean checkaimbot = true;
  409.  
  410. public static boolean checkBlock = true;
  411.  
  412. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement