Added NoCheatsPlus support and a new version of bukkit to the compatability

This commit is contained in:
Alastair 2015-06-28 20:37:00 +01:00
parent eb053c5ea4
commit 3ce49556aa
13 changed files with 72 additions and 54 deletions

View File

@ -1,7 +1,7 @@
package com.sekwah.advancedportals;
import com.sekwah.advancedportals.DataCollector.DataCollector;
import com.sekwah.advancedportals.compat.NMS;
import com.sekwah.advancedportals.compat.bukkit.NMS;
import com.sekwah.advancedportals.destinations.Destination;
import com.sekwah.advancedportals.metrics.Metrics;
import com.sekwah.advancedportals.portals.Portal;
@ -30,7 +30,7 @@ public class AdvancedPortalsPlugin extends JavaPlugin {
String version = packageSplit[packageSplit.length - 1];
try {
Class<?> nmsClass = Class.forName("com.sekwah.advancedportals.compat." + version);
Class<?> nmsClass = Class.forName("com.sekwah.advancedportals.compat.bukkit." + version);
if(NMS.class.isAssignableFrom(nmsClass)){
this.nmsAccess = (NMS) nmsClass.getConstructor().newInstance();
}else
@ -41,20 +41,11 @@ public class AdvancedPortalsPlugin extends JavaPlugin {
} catch (ClassNotFoundException e) {
System.out.println("This version of craftbukkit is not yet supported, please notify the author and give version v:" + version);
this.setEnabled(false);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException |
NoSuchMethodException | SecurityException e) {
e.printStackTrace();
}
new Assets(this);
// Opens a channel that messages bungeeCord

View File

@ -16,6 +16,7 @@ import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerPortalEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.metadata.FixedMetadataValue;
public class Listeners implements Listener {
@ -112,15 +113,15 @@ public class Listeners implements Listener {
+ "\",color:yellow},{\"text\":\".\",color:green}]", player);*/
}
if(!warped){
player.teleport(fromloc);
event.setCancelled(true);
if(warped){
event.setFrom(player.getLocation());
event.setTo(player.getLocation());
}
else{
player.teleport(fromloc, PlayerTeleportEvent.TeleportCause.PLUGIN);
event.setCancelled(true);
}
}
else{
}
if(portal.trigger.equals(Material.PORTAL)){
final Player finalplayer = event.getPlayer();
@ -232,7 +233,6 @@ public class Listeners implements Listener {
event.setCancelled(true);
// Returns the event so no more code is executed(stops unnecessary code being executed)
return;
}
else if(event.getAction() == Action.RIGHT_CLICK_BLOCK) {
Location blockloc = event.getClickedBlock().getLocation();
@ -246,7 +246,6 @@ public class Listeners implements Listener {
event.setCancelled(true);
// Returns the event so no more code is executed(stops unnecessary code being executed)
return;
}
}

View File

@ -1,10 +0,0 @@
package com.sekwah.advancedportals.compat;
import org.bukkit.entity.Player;
public interface NMS {
public void sendRawMessage(String rawMessage, Player player);
public void sendActionBarMessage(String rawMessage, Player player);
}

View File

@ -0,0 +1,10 @@
package com.sekwah.advancedportals.compat.bukkit;
import org.bukkit.entity.Player;
public interface NMS {
void sendRawMessage(String rawMessage, Player player);
void sendActionBarMessage(String rawMessage, Player player);
}

View File

@ -1,4 +1,4 @@
package com.sekwah.advancedportals.compat;
package com.sekwah.advancedportals.compat.bukkit;
import net.minecraft.server.v1_7_R1.ChatSerializer;
import net.minecraft.server.v1_7_R1.IChatBaseComponent;

View File

@ -1,4 +1,4 @@
package com.sekwah.advancedportals.compat;
package com.sekwah.advancedportals.compat.bukkit;
import net.minecraft.server.v1_7_R2.ChatSerializer;
import net.minecraft.server.v1_7_R2.IChatBaseComponent;

View File

@ -1,4 +1,4 @@
package com.sekwah.advancedportals.compat;
package com.sekwah.advancedportals.compat.bukkit;
import net.minecraft.server.v1_7_R3.ChatSerializer;
import net.minecraft.server.v1_7_R3.IChatBaseComponent;

View File

@ -1,4 +1,4 @@
package com.sekwah.advancedportals.compat;
package com.sekwah.advancedportals.compat.bukkit;
import net.minecraft.server.v1_7_R4.ChatSerializer;
import net.minecraft.server.v1_7_R4.IChatBaseComponent;

View File

@ -1,4 +1,4 @@
package com.sekwah.advancedportals.compat;
package com.sekwah.advancedportals.compat.bukkit;
import net.minecraft.server.v1_8_R1.ChatSerializer;
import net.minecraft.server.v1_8_R1.IChatBaseComponent;

View File

@ -1,4 +1,4 @@
package com.sekwah.advancedportals.compat;
package com.sekwah.advancedportals.compat.bukkit;
import net.minecraft.server.v1_8_R2.IChatBaseComponent;
import net.minecraft.server.v1_8_R2.PacketPlayOutChat;

View File

@ -0,0 +1,27 @@
package com.sekwah.advancedportals.compat.bukkit;
import net.minecraft.server.v1_8_R3.IChatBaseComponent;
import net.minecraft.server.v1_8_R3.PacketPlayOutChat;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
public class v1_8_R3 implements NMS {
@Override
public void sendRawMessage(String rawMessage, Player player) {
IChatBaseComponent comp = IChatBaseComponent.ChatSerializer.a(rawMessage);
// "json message", position(0: chat (chat box), 1: system message (chat box), 2: above action bar)
PacketPlayOutChat packet = new PacketPlayOutChat(comp, (byte) 1);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
@Override
public void sendActionBarMessage(String rawMessage, Player player) {
IChatBaseComponent comp = IChatBaseComponent.ChatSerializer.a(rawMessage);
// "json message", position(0: chat (chat box), 1: system message (chat box), 2: above action bar)
PacketPlayOutChat packet = new PacketPlayOutChat(comp, (byte) 2);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
}

View File

@ -9,6 +9,7 @@ import org.bukkit.Location;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTeleportEvent;
import java.util.Collections;
import java.util.LinkedList;
@ -65,7 +66,7 @@ public class Destination {
config.getConfig().set(newName.toLowerCase() + ".pos.pitch", config.getConfig().getDouble(oldName + ".pos.pitch"));
config.getConfig().set(newName.toLowerCase() + ".pos.yaw", config.getConfig().getDouble(oldName + ".pos.yaw"));
remove(oldName);
config.saveConfig();
@ -111,12 +112,12 @@ public class Destination {
if (!c.isLoaded()) c.load();
if(player.getVehicle() != null){
riding.eject();
riding.teleport(loc);
player.teleport(loc);
riding.teleport(loc, PlayerTeleportEvent.TeleportCause.PLUGIN);
player.teleport(loc, PlayerTeleportEvent.TeleportCause.PLUGIN);
riding.setPassenger(player);
}
else{
player.teleport(loc);
player.teleport(loc, PlayerTeleportEvent.TeleportCause.PLUGIN);
}
WarpEffects.activateParticles(player);
WarpEffects.activateSound(player);
@ -147,9 +148,9 @@ public class Destination {
/**
* Same as other warp but changes sender to player for you.
*
* @param player
* @param name
* @return
* @param player the player being warped
* @param name name of the warp
* @return returns if the player has warped
*/
public static boolean warp(Player player, String name) {
return warp(player, name, true);
@ -159,9 +160,9 @@ public class Destination {
/**
* Same as other warp but changes sender to player for you.
*
* @param sender
* @param name
* @return
* @param sender the player being warped
* @param name name of the warp
* @return returns if the player has warped
*/
public static boolean warp(CommandSender sender, String name, boolean senderror) {
Player player = (Player)sender;
@ -172,9 +173,9 @@ public class Destination {
/**
* Same as other warp but changes sender to player for you.
*
* @param sender
* @param name
* @return
* @param sender the player being warped
* @param name name of the warp
* @return returns if the player has warped
*/
public static boolean warp(CommandSender sender, String name) {
Player player = (Player)sender;
@ -186,7 +187,7 @@ public class Destination {
ConfigAccessor config = new ConfigAccessor(plugin, "Destinations.yml");
LinkedList<String> destiList = new LinkedList<String>();
LinkedList<String> destiList = new LinkedList<>();
Set<String> destiSet = config.getConfig().getKeys(false);
if(destiSet.size() > 0){

View File

@ -1,6 +1,6 @@
main: com.sekwah.advancedportals.AdvancedPortalsPlugin
name: AdvancedPortals
version: 0.0.6
version: 0.0.7
author: SEKWAH41
description: An advanced portals plugin for bukkit.
commands: