Update to CraftApi 0.2

This commit is contained in:
games647
2018-07-29 18:47:07 +02:00
parent f7a10d86eb
commit 64175fe9e8
4 changed files with 11 additions and 11 deletions

View File

@ -1,6 +1,6 @@
package com.github.games647.fastlogin.bukkit; package com.github.games647.fastlogin.bukkit;
import com.github.games647.craftapi.model.skin.Property; import com.github.games647.craftapi.model.skin.SkinProperty;
import com.github.games647.fastlogin.core.StoredProfile; import com.github.games647.fastlogin.core.StoredProfile;
import com.github.games647.fastlogin.core.shared.LoginSession; import com.github.games647.fastlogin.core.shared.LoginSession;
@ -20,7 +20,7 @@ public class BukkitLoginSession extends LoginSession {
private boolean verified; private boolean verified;
private Property skinProperty; private SkinProperty skinProperty;
public BukkitLoginSession(String username, String serverId, byte[] verifyToken, boolean registered public BukkitLoginSession(String username, String serverId, byte[] verifyToken, boolean registered
, StoredProfile profile) { , StoredProfile profile) {
@ -54,7 +54,7 @@ public class BukkitLoginSession extends LoginSession {
/** /**
* @return premium skin if available * @return premium skin if available
*/ */
public synchronized Optional<Property> getSkin() { public synchronized Optional<SkinProperty> getSkin() {
return Optional.ofNullable(skinProperty); return Optional.ofNullable(skinProperty);
} }
@ -62,7 +62,7 @@ public class BukkitLoginSession extends LoginSession {
* Sets the premium skin property which was retrieved by the session server * Sets the premium skin property which was retrieved by the session server
* @param skinProperty premium skin * @param skinProperty premium skin
*/ */
public synchronized void setSkinProperty(Property skinProperty) { public synchronized void setSkinProperty(SkinProperty skinProperty) {
this.skinProperty = skinProperty; this.skinProperty = skinProperty;
} }

View File

@ -6,7 +6,7 @@ import com.comphenix.protocol.reflect.accessors.MethodAccessor;
import com.comphenix.protocol.utility.MinecraftReflection; import com.comphenix.protocol.utility.MinecraftReflection;
import com.comphenix.protocol.wrappers.WrappedGameProfile; import com.comphenix.protocol.wrappers.WrappedGameProfile;
import com.comphenix.protocol.wrappers.WrappedSignedProperty; import com.comphenix.protocol.wrappers.WrappedSignedProperty;
import com.github.games647.craftapi.model.skin.Property; import com.github.games647.craftapi.model.skin.Textures;
import com.github.games647.fastlogin.bukkit.BukkitLoginSession; import com.github.games647.fastlogin.bukkit.BukkitLoginSession;
import com.github.games647.fastlogin.bukkit.FastLoginBukkit; import com.github.games647.fastlogin.bukkit.FastLoginBukkit;
@ -54,14 +54,14 @@ public class SkinApplyListener implements Listener {
private void applySkin(Player player, String skinData, String signature) { private void applySkin(Player player, String skinData, String signature) {
WrappedGameProfile gameProfile = WrappedGameProfile.fromPlayer(player); WrappedGameProfile gameProfile = WrappedGameProfile.fromPlayer(player);
WrappedSignedProperty skin = WrappedSignedProperty.fromValues(Property.TEXTURE_KEY, skinData, signature); WrappedSignedProperty skin = WrappedSignedProperty.fromValues(Textures.KEY, skinData, signature);
try { try {
gameProfile.getProperties().put(Property.TEXTURE_KEY, skin); gameProfile.getProperties().put(Textures.KEY, skin);
} catch (ClassCastException castException) { } catch (ClassCastException castException) {
//Cauldron, MCPC, Thermos, ... //Cauldron, MCPC, Thermos, ...
Object map = GET_PROPERTIES.invoke(gameProfile.getHandle()); Object map = GET_PROPERTIES.invoke(gameProfile.getHandle());
try { try {
MethodUtils.invokeMethod(map, "put", new Object[]{Property.TEXTURE_KEY, skin.getHandle()}); MethodUtils.invokeMethod(map, "put", new Object[]{Textures.KEY, skin.getHandle()});
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
plugin.getLog().error("Error setting premium skin of: {}", player, ex); plugin.getLog().error("Error setting premium skin of: {}", player, ex);
} }

View File

@ -9,7 +9,7 @@ import com.comphenix.protocol.reflect.FuzzyReflection;
import com.comphenix.protocol.wrappers.WrappedChatComponent; import com.comphenix.protocol.wrappers.WrappedChatComponent;
import com.comphenix.protocol.wrappers.WrappedGameProfile; import com.comphenix.protocol.wrappers.WrappedGameProfile;
import com.github.games647.craftapi.model.auth.Verification; import com.github.games647.craftapi.model.auth.Verification;
import com.github.games647.craftapi.model.skin.Property; import com.github.games647.craftapi.model.skin.SkinProperty;
import com.github.games647.craftapi.resolver.MojangResolver; import com.github.games647.craftapi.resolver.MojangResolver;
import com.github.games647.fastlogin.bukkit.BukkitLoginSession; import com.github.games647.fastlogin.bukkit.BukkitLoginSession;
import com.github.games647.fastlogin.bukkit.EncryptionUtil; import com.github.games647.fastlogin.bukkit.EncryptionUtil;
@ -108,7 +108,7 @@ public class VerifyResponseTask implements Runnable {
if (response.isPresent()) { if (response.isPresent()) {
plugin.getLog().info("GameProfile {} has a verified premium account", username); plugin.getLog().info("GameProfile {} has a verified premium account", username);
Property[] properties = response.get().getProperties(); SkinProperty[] properties = response.get().getProperties();
if (properties.length > 0) { if (properties.length > 0) {
session.setSkinProperty(properties[0]); session.setSkinProperty(properties[0]);
} }

View File

@ -67,7 +67,7 @@
<dependency> <dependency>
<groupId>com.github.games647</groupId> <groupId>com.github.games647</groupId>
<artifactId>craftapi</artifactId> <artifactId>craftapi</artifactId>
<version>0.1.3-SNAPSHOT</version> <version>0.2</version>
</dependency> </dependency>
<!-- APIs we can use because they are available in all platforms (Spigot, Bungee, Cauldron) --> <!-- APIs we can use because they are available in all platforms (Spigot, Bungee, Cauldron) -->