Skip to content

Commit

Permalink
Replace UserDiscoverer with stripped back ServerUserProvider.
Browse files Browse the repository at this point in the history
The idea of the UserManager is to manage User objects, not GameProfiles. While we do some operations with GameProfiles, they mirror what Users we think have been created.

The file system watching is in, but all GameProfile caching is delegated to the PlayerProfileCache, which we just get profiles from when required.

* Save the username cache json when we save the worlds
* Add stream methods to GameProfileCache
* Create UUID only GameProfiles for files that don't have an associated profile during the stream methods
  • Loading branch information
dualspiral committed Jul 17, 2020
1 parent 6498820 commit a1cf23b
Show file tree
Hide file tree
Showing 18 changed files with 596 additions and 596 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@
import org.spongepowered.common.accessor.network.play.client.CClientSettingsPacketAccessor;
import org.spongepowered.common.accessor.network.play.server.SChangeBlockPacketAccessor;
import org.spongepowered.common.mixin.core.entity.player.PlayerEntityMixin;
import org.spongepowered.common.service.user.SpongeUserManager;
import org.spongepowered.common.user.SpongeUserManager;
import org.spongepowered.common.text.SpongeTexts;
import org.spongepowered.common.text.chat.ChatUtil;
import org.spongepowered.common.util.Constants;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.management.PlayerList;
import net.minecraft.world.IWorld;
import net.minecraft.world.storage.IPlayerFileData;
import org.apache.logging.log4j.Logger;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
Expand All @@ -40,5 +41,7 @@ public interface PlayerListAccessor {

@Accessor("server") MinecraftServer accessor$getServer();

@Accessor("playerDataManager") IPlayerFileData accessor$getPlayerDataManager();

@Invoker("setPlayerGameTypeBasedOnOther") void accessor$setPlayerGameTypeBasedOnOther(ServerPlayerEntity target, ServerPlayerEntity source, IWorld world);
}
2 changes: 1 addition & 1 deletion src/accessors/resources/mixins.common.accessors.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@
"scoreboard.ScorePlayerTeamAccessor",
"server.MinecraftServerAccessor",
"server.management.IPBanListAccessor",
"server.management.PlayerListAccessor",
"server.management.PlayerProfileCache_ProfileEntryAccessor",
"server.management.PlayerProfileCacheAccessor",
"tileentity.AbstractFurnaceTileEntityAccessor",
Expand Down Expand Up @@ -165,7 +166,6 @@
],
"server": [
"server.dedicated.DedicatedServerAccessor",
"server.management.PlayerListAccessor",
"server.management.UserListAccessor",
"server.management.UserListEntryAccessor"
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,14 @@
import org.spongepowered.api.service.economy.EconomyService;
import org.spongepowered.api.service.pagination.PaginationService;
import org.spongepowered.api.service.permission.PermissionService;
import org.spongepowered.api.user.UserManager;
import org.spongepowered.api.service.whitelist.WhitelistService;
import org.spongepowered.common.SpongeCommon;
import org.spongepowered.common.config.category.ServicesCategory;
import org.spongepowered.common.event.SpongeEventManager;
import org.spongepowered.common.event.lifecycle.ProvideServiceEventImpl;
import org.spongepowered.common.event.tracking.PhaseTracker;
import org.spongepowered.common.launch.Launcher;
import org.spongepowered.common.service.ban.SpongeBanService;
import org.spongepowered.common.service.permission.SpongePermissionService;
import org.spongepowered.common.service.user.SpongeUserManager;
import org.spongepowered.common.service.whitelist.SpongeWhitelistService;
import org.spongepowered.common.util.PrettyPrinter;
import org.spongepowered.plugin.PluginContainer;
Expand Down

This file was deleted.

Loading

0 comments on commit a1cf23b

Please sign in to comment.