Skip to content
This repository has been archived by the owner on Jul 27, 2019. It is now read-only.

Commit

Permalink
Add support for CraftBukkit 1.8.3.
Browse files Browse the repository at this point in the history
  • Loading branch information
cnaude committed May 3, 2015
1 parent 9433505 commit e330ce6
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 0 deletions.
6 changes: 6 additions & 0 deletions dependency-reduced-pom.xml
Expand Up @@ -136,6 +136,12 @@
<version>1.7.9-R0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
<version>1.8.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
Expand Down
8 changes: 8 additions & 0 deletions pom.xml
Expand Up @@ -77,6 +77,14 @@
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
<version>1.8.3</version>
<type>jar</type>
<scope>provided</scope>
</dependency>

<!-- PircBotX -->
<dependency>
<groupId>com.cnaude.pircbotx</groupId>
Expand Down
39 changes: 39 additions & 0 deletions src/main/java/com/cnaude/purpleirc/Utilities/NetPackets.java
Expand Up @@ -27,7 +27,13 @@
import com.comphenix.protocol.reflect.FieldAccessException;
import com.comphenix.protocol.wrappers.WrappedGameProfile;
import com.google.common.base.Charsets;
import com.mojang.authlib.GameProfile;
import java.lang.reflect.InvocationTargetException;
import java.util.UUID;
import net.minecraft.server.v1_8_R2.EntityPlayer;
import net.minecraft.server.v1_8_R2.MinecraftServer;
import net.minecraft.server.v1_8_R2.PacketPlayOutPlayerInfo;
import net.minecraft.server.v1_8_R2.PlayerInteractManager;
import org.bukkit.entity.Player;
import org.pircbotx.Channel;
import org.pircbotx.User;
Expand Down Expand Up @@ -119,6 +125,39 @@ private PacketContainer tabPacket(String name, boolean add) {
} catch (Exception ex) {
plugin.logError("tabPacket: " + ex.getMessage());
}
} else if (version.contains("MC: 1.8.3")) {
try {
UUID uuid = null; // = plugin.getPlayerUuid(name);
if (uuid == null) {
uuid = UUID.nameUUIDFromBytes(("OfflinePlayer:" + displayName).getBytes(Charsets.UTF_8));
}
if (add) {
EntityPlayer pl = new EntityPlayer(
MinecraftServer.getServer(),
MinecraftServer.getServer().getWorldServer(0),
(GameProfile) (new WrappedGameProfile(uuid, displayName)).getHandle(),
new PlayerInteractManager(MinecraftServer.getServer().getWorldServer(0))
);
PacketPlayOutPlayerInfo pi
= new PacketPlayOutPlayerInfo(
PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, pl);
return PacketContainer.fromPacket(pi);
} else {
plugin.logDebug("T: Removing: " + name);
EntityPlayer pl = new EntityPlayer(
MinecraftServer.getServer(),
MinecraftServer.getServer().getWorldServer(0),
(GameProfile) (new WrappedGameProfile(uuid, displayName)).getHandle(),
new PlayerInteractManager(MinecraftServer.getServer().getWorldServer(0))
);
PacketPlayOutPlayerInfo pi
= new PacketPlayOutPlayerInfo(
PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, pl);
return PacketContainer.fromPacket(pi);
}
} catch (Exception ex) {
plugin.logError("tabPacket: " + ex.getMessage());
}
} else {
plugin.logDebug("tabPacket: deprecated ");
playerListConstructor = protocolManager.createPacketConstructor(Packets.Server.PLAYER_INFO, "", false, (int) 0);
Expand Down

0 comments on commit e330ce6

Please sign in to comment.