Skip to content

Commit

Permalink
utils
Browse files Browse the repository at this point in the history
  • Loading branch information
PinkGoosik committed Mar 29, 2023
1 parent 24478bd commit 87a33b0
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 8 deletions.
9 changes: 4 additions & 5 deletions src/main/java/skylands/api/SkylandsAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import java.util.UUID;

public class SkylandsAPI {
static Skylands skylands = Skylands.getInstance();

public static final Event<HubVisitEvent> ON_HUB_VISIT = EventFactory.createArrayBacked(HubVisitEvent.class, callbacks -> (player, world) -> {
for (HubVisitEvent callback : callbacks) {
Expand Down Expand Up @@ -43,15 +42,15 @@ public class SkylandsAPI {
@FunctionalInterface public interface NetherFirstLoad {void onLoad(World world, Island island);}

public static Optional<Island> getIsland(PlayerEntity player) {
return skylands.islands.get(player);
return Skylands.getIslands().get(player);
}

public static Optional<Island> getIsland(String playerName) {
return skylands.islands.get(playerName);
return Skylands.getIslands().get(playerName);
}

public static Optional<Island> getIsland(UUID playerUuid) {
return skylands.islands.get(playerUuid);
return Skylands.getIslands().get(playerUuid);
}

public static boolean isIsland(World world) {
Expand All @@ -66,7 +65,7 @@ public static boolean isIsland(RegistryKey<World> registryKey) {
public static Optional<Island> getIsland(World world) {
if (isIsland(world)) {
try {
return Skylands.instance.islands.get(UUID.fromString(world.getRegistryKey().getValue().getPath()));
return Skylands.getIslands().get(UUID.fromString(world.getRegistryKey().getValue().getPath()));
}
catch (Exception e) {
return Optional.empty();
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/skylands/command/SkylandsCommands.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
import static net.minecraft.server.command.CommandManager.argument;

import static com.mojang.brigadier.arguments.StringArgumentType.word;
import static net.minecraft.command.argument.BlockPosArgumentType.blockPos;
import static net.minecraft.command.argument.EntityArgumentType.player;

public class SkylandsCommands {

Expand Down
17 changes: 17 additions & 0 deletions src/main/java/skylands/logic/Island.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.entry.RegistryEntryList;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.structure.StructurePlacementData;
import net.minecraft.structure.StructureTemplate;
Expand Down Expand Up @@ -184,6 +185,22 @@ public long getSeed() {
return this.seed;
}

/**
* @return list of players currently on this island
*/
public List<ServerPlayerEntity> getPlayers() {
return server.getPlayerManager().getPlayerList().stream().filter(player -> {
var island = SkylandsAPI.getIsland(player);
return island.isPresent() && island.get().equals(this);
}).toList();
}

@Override
public boolean equals(Object obj) {
if(obj instanceof Island isl) return isl.owner.uuid.equals(this.owner.uuid);
return super.equals(obj);
}

public RuntimeWorldHandle getHandler() {
if(this.islandConfig == null) {
this.islandConfig = createIslandConfig();
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/skylands/util/Texts.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import java.util.function.Consumer;

public class Texts {
public static String prefixTranslationKey = "message.skylands.prefix";

public static Text prefixed(String key, Consumer<Map<String, String>> builder) {
String prefix = getPrefix();
Expand Down Expand Up @@ -44,7 +45,11 @@ public static Text of(String key) {
return of(key, (m) -> {});
}

public static void setPrefix(String key) {
prefixTranslationKey = key;
}

public static String getPrefix() {
return Language.getInstance().get("message.skylands.prefix");
return Language.getInstance().get(prefixTranslationKey);
}
}

0 comments on commit 87a33b0

Please sign in to comment.