Skip to content

Commit

Permalink
feat(ObservableListener): Changed UserManagerListener to ObservableLi…
Browse files Browse the repository at this point in the history
…stener

BREAKING CHANGE: Bumped major version due to extensive internal API changes
  • Loading branch information
GeorgeV220 committed Apr 17, 2023
1 parent 082aa4d commit 845cf67
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 15 deletions.
31 changes: 25 additions & 6 deletions core/src/main/java/com/georgev22/skinoverlay/SkinOverlay.java
Expand Up @@ -20,7 +20,7 @@
import com.georgev22.skinoverlay.hook.SkinHook;
import com.georgev22.skinoverlay.hook.hooks.SkinHookImpl;
import com.georgev22.skinoverlay.listeners.DebugListeners;
import com.georgev22.skinoverlay.listeners.UserManagerListener;
import com.georgev22.skinoverlay.listeners.ObservableListener;
import com.georgev22.skinoverlay.utilities.MessagesUtil;
import com.georgev22.skinoverlay.utilities.OptionsUtil;
import com.georgev22.skinoverlay.utilities.PluginMessageUtils;
Expand Down Expand Up @@ -328,18 +328,37 @@ protected void setupCommands() {
}

/**
* Adds the specified list of {@link UserManagerListener}s to this {@link UserManager} instance. Each listener in the
* list will be registered with the {@link ObservableObjectMap} that holds the loaded users in the user manager, and
* will be notified whenever a new user is added to the map.
* Adds the specified list of {@link ObservableListener}s to this {@link UserManager} instance.
* Each listener in the
* list will be registered with the {@link ObservableObjectMap}
* that holds the loaded users in the user manager,
* and
* will be notified whenever a new user is added or removed to the map.
*
* @param managerListeners the list of listeners to be added
*/
public void registerUserManagerListeners(@NotNull List<UserManagerListener<UUID, UserManager.User>> managerListeners) {
for (UserManagerListener<UUID, UserManager.User> managerListener : managerListeners) {
public void registerUserManagerListeners(@NotNull List<ObservableListener<UUID, UserManager.User>> managerListeners) {
for (ObservableListener<UUID, UserManager.User> managerListener : managerListeners) {
this.userManager.getLoadedUsers().addListener(managerListener);
}
}

/**
* Adds the specified list of {@link ObservableListener}s to this {@link SkinOverlayImpl} instance.
* Each listener in the
* list will be registered with the {@link ObservableObjectMap}
* that holds the online players in the server,
* and
* will be notified whenever a new player is added or removed to the map.
*
* @param pListeners the list of listeners to be added
*/
public void registerOnlinePlayersListeners(@NotNull List<ObservableListener<UUID, PlayerObject>> pListeners) {
for (ObservableListener<UUID, PlayerObject> pListener : pListeners) {
this.skinOverlay.onlinePlayers().addListener(pListener);
}
}


private void unregisterCommands() {
if (!type().isProxy() && OptionsUtil.PROXY.getBooleanValue())
Expand Down
@@ -0,0 +1,13 @@
package com.georgev22.skinoverlay.listeners;

import com.georgev22.library.maps.ObservableObjectMap;
import org.jetbrains.annotations.Nullable;

public abstract class ObservableListener<K, V> implements ObservableObjectMap.MapChangeListener<K, V> {

@Override
public abstract void entryAdded(K key, V value);

@Override
public abstract void entryRemoved(Object key, @Nullable Object value);
}

This file was deleted.

0 comments on commit 845cf67

Please sign in to comment.