Skip to content

Commit

Permalink
feat(SkinOverlayBungee): BungeeCord SkinHandler
Browse files Browse the repository at this point in the history
Removed BungeeCord SkinHandler from the unsupported version SkinHandler
  • Loading branch information
GeorgeV220 committed Jan 6, 2023
1 parent 6c8175f commit 029f4c0
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,19 @@
import com.georgev22.library.minecraft.BungeeMinecraftUtils;
import com.georgev22.library.scheduler.SchedulerManager;
import com.georgev22.library.utilities.Utils;
import com.georgev22.library.yaml.file.FileConfiguration;
import com.georgev22.skinoverlay.handler.SkinHandler;
import com.georgev22.skinoverlay.listeners.bungee.DeveloperInformListener;
import com.georgev22.skinoverlay.listeners.bungee.PlayerListeners;
import com.georgev22.skinoverlay.utilities.BungeeCordPluginMessageUtils;
import com.georgev22.skinoverlay.utilities.interfaces.SkinOverlayImpl;
import com.georgev22.skinoverlay.utilities.player.PlayerObject;
import com.georgev22.skinoverlay.utilities.player.PlayerObjectBungee;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.connection.InitialHandler;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
Expand Down Expand Up @@ -51,7 +57,36 @@ public void onLoad() {
public void onEnable() {
getProxy().getScheduler().schedule(this, () -> SchedulerManager.getScheduler().mainThreadHeartbeat(tick++), 0, 50L, TimeUnit.MILLISECONDS);
SkinOverlay.getInstance().setCommandManager(new BungeeCommandManager(this));
SkinOverlay.getInstance().setSkinHandler(new SkinHandler.SkinHandler_());
SkinOverlay.getInstance().setSkinHandler(new SkinHandler() {
@Override
public void updateSkin(@NotNull FileConfiguration fileConfiguration, @NotNull PlayerObject playerObject, boolean reset, @NotNull String skinName) {
if (reset) {
new BungeeCordPluginMessageUtils().sendDataTooAllServers("reset", playerObject.playerUUID().toString(), "default");
} else {
new BungeeCordPluginMessageUtils().sendDataTooAllServers("change", playerObject.playerUUID().toString(), skinName);
}
}

@Override
public void updateSkin(@NotNull FileConfiguration fileConfiguration, @NotNull PlayerObject playerObject, boolean reset, @NotNull String skinName, Property property) {
if (reset) {
new BungeeCordPluginMessageUtils().sendDataTooAllServers("resetWithProperties", playerObject.playerUUID().toString(), "default", property.getName(), property.getValue(), property.getSignature());
} else {
new BungeeCordPluginMessageUtils().sendDataTooAllServers("changeWithProperties", playerObject.playerUUID().toString(), skinName, property.getName(), property.getValue(), property.getSignature());
}
}

@Override
protected <T> GameProfile getGameProfile0(@NotNull PlayerObject playerObject) {
GameProfile gameProfile = new GameProfile(playerObject.playerUUID(), playerObject.playerName());
if (!gameProfile.getProperties().containsKey("textures")) {
for (net.md_5.bungee.protocol.Property property : ((InitialHandler) ((ProxiedPlayer) playerObject.getPlayer()).getPendingConnection()).getLoginProfile().getProperties()) {
gameProfile.getProperties().put(property.getName(), new Property(property.getName(), property.getValue(), property.getSignature()));
}
}
return gameProfile;
}
});
SkinOverlay.getInstance().onEnable();
BungeeMinecraftUtils.registerListeners(this, new PlayerListeners(), new DeveloperInformListener());
getProxy().registerChannel("skinoverlay:bungee");
Expand All @@ -65,8 +100,8 @@ public void onDisable() {
}

@Override
public boolean isBungee() {
return true;
public Type type() {
return Type.BUNGEE;
}

@Override
Expand Down Expand Up @@ -109,4 +144,9 @@ public List<PlayerObject> onlinePlayers() {
getProxy().getPlayers().forEach(proxiedPlayer -> playerObjects.add(new PlayerObjectBungee(proxiedPlayer)));
return playerObjects;
}

@Override
public Object getPlugin() {
return this;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.georgev22.library.maps.ObjectMap;
import com.georgev22.library.yaml.file.FileConfiguration;
import com.georgev22.skinoverlay.SkinOverlay;
import com.georgev22.skinoverlay.utilities.BungeeCordPluginMessageUtils;
import com.georgev22.skinoverlay.utilities.player.PlayerObject;
import com.google.gson.*;
import com.mojang.authlib.GameProfile;
Expand Down Expand Up @@ -124,26 +123,12 @@ public Property getSkin(@NotNull final PlayerObject playerObject) throws IOExcep
public static class SkinHandler_ extends SkinHandler {
@Override
public void updateSkin(@NotNull FileConfiguration fileConfiguration, @NotNull PlayerObject playerObject, boolean reset, @NotNull String skinName) {
if (SkinOverlay.getInstance().isBungee()) {
if (reset) {
new BungeeCordPluginMessageUtils().sendDataTooAllServers("reset", playerObject.playerUUID().toString(), "default");
} else {
new BungeeCordPluginMessageUtils().sendDataTooAllServers("change", playerObject.playerUUID().toString(), skinName);
}
} else
SkinOverlay.getInstance().getLogger().log(Level.WARNING, "[SkinHandler]: updateSkin(); Unsupported Minecraft Version");
SkinOverlay.getInstance().getLogger().log(Level.WARNING, "[SkinHandler]: updateSkin(); Unsupported Minecraft Version");
}

@Override
public void updateSkin(@NotNull FileConfiguration fileConfiguration, @NotNull PlayerObject playerObject, boolean reset, @NotNull String skinName, Property property) {
if (SkinOverlay.getInstance().isBungee()) {
if (reset) {
new BungeeCordPluginMessageUtils().sendDataTooAllServers("resetWithProperties", playerObject.playerUUID().toString(), "default", property.getName(), property.getValue(), property.getSignature());
} else {
new BungeeCordPluginMessageUtils().sendDataTooAllServers("changeWithProperties", playerObject.playerUUID().toString(), skinName, property.getName(), property.getValue(), property.getSignature());
}
} else
SkinOverlay.getInstance().getLogger().log(Level.WARNING, "[SkinHandler]: updateSkin(); Unsupported Minecraft Version");
SkinOverlay.getInstance().getLogger().log(Level.WARNING, "[SkinHandler]: updateSkin(); Unsupported Minecraft Version");
}

@Override
Expand Down

0 comments on commit 029f4c0

Please sign in to comment.