Skip to content
This repository has been archived by the owner on Mar 15, 2024. It is now read-only.

Commit

Permalink
Merge pull request #648 from rettichlp/hotfix/1-9-2
Browse files Browse the repository at this point in the history
hotfix/1-9-2
  • Loading branch information
rettichlp committed Mar 15, 2023
2 parents 02efaa3 + bf72238 commit f9f8a5d
Show file tree
Hide file tree
Showing 10 changed files with 315 additions and 136 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-oder-fehler.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ Füge gegebenenfalls Screenshots hinzu, um das Problem zu erläutern.

**Weitere Informationen (bitte ausfüllen):**
Minecraft Version: `1.12.2`
Addon Version: `1.9.1`
Addon Version: `1.9.2`
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'idea'
apply plugin: 'maven-publish'

version = '1.9.1'
version = '1.9.2'
group = 'com.rettichlp' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'UnicacityAddon'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
@Mod(name = "UnicacityAddon", modid = "unicacityaddon", version = UnicacityAddon.VERSION, clientSideOnly = true, acceptedMinecraftVersions = "[1.12,1.12.2]")
public class UnicacityAddon extends LabyModAddon {

public static final String VERSION = "1.9.1";
public static final String VERSION = "1.9.2";
public static final Minecraft MINECRAFT = Minecraft.getMinecraft();
public static UnicacityAddon ADDON;
public static final Logger LOGGER = LogManager.getLogger();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -228,13 +229,16 @@ public boolean isPrioritizedMember() {
boolean hasAnyPlayerHigherRank = filteredPlayerMap.entrySet().stream()
.anyMatch(stringIntegerEntry -> stringIntegerEntry.getValue() > getRank()); // has a higher rank than himself

boolean hasRankPriority = filteredPlayerMap.entrySet().stream()
List<String> rankPlayerList = filteredPlayerMap.entrySet().stream()
.filter(stringIntegerEntry -> stringIntegerEntry.getValue().equals(getRank()))
.map(Map.Entry::getKey)
.sorted()
.collect(Collectors.toList())
.get(0)
.equals(getName());
.collect(Collectors.toList());

boolean hasRankPriority = false;
if (!rankPlayerList.isEmpty()) {
hasRankPriority = rankPlayerList.get(0).equals(getName());
}

return !hasAnyPlayerHigherRank && hasRankPriority;
}
Expand Down
22 changes: 12 additions & 10 deletions src/main/java/com/rettichlp/unicacityaddon/base/api/Syncer.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,20 @@ public class Syncer {
public static List<WantedReason> WANTEDREASONLIST = new ArrayList<>();

public static void syncAll() {
Thread t1 = syncPlayerAddonGroupMap();
Thread t2 = syncPlayerFactionData();
new Thread(() -> {
try {
Thread t1 = syncPlayerAddonGroupMap();
Thread t2 = syncPlayerFactionData();

try {
t1.start();
t1.join();
t1.start();
t1.join();

t2.start();
t2.join();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
t2.start();
t2.join();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}).start();

new Thread(() -> {
if (!(HOUSEBANLIST = getHouseBanList()).isEmpty())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.rettichlp.unicacityaddon.base.utils.ForgeUtils;
import com.rettichlp.unicacityaddon.events.TabListEventHandler;

import java.util.Objects;
import java.util.stream.Collectors;

/**
Expand All @@ -21,7 +20,7 @@ public static boolean checkPlayerDuty(String playerName) {
.collect(Collectors.toList()).stream()
.map(ForgeUtils::stripColor)
.map(ForgeUtils::stripPrefix)
.anyMatch(s -> Objects.equals(s.substring(0, Math.min(s.length(), 13)), playerName.substring(0, Math.min(playerName.length(), 13))));
.anyMatch(playerName::startsWith);
}
return duty;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
package com.rettichlp.unicacityaddon.commands;

import com.rettichlp.unicacityaddon.base.abstraction.AbstractionLayer;
import com.rettichlp.unicacityaddon.base.abstraction.UPlayer;
import com.rettichlp.unicacityaddon.base.builder.TabCompletionBuilder;
import com.rettichlp.unicacityaddon.base.manager.FactionManager;
import com.rettichlp.unicacityaddon.base.registry.annotation.UCCommand;
import com.rettichlp.unicacityaddon.base.text.ColorCode;
import com.rettichlp.unicacityaddon.base.text.Message;
import net.minecraft.command.ICommand;
import net.minecraft.command.ICommandSender;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.client.IClientCommand;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Collections;
import java.util.List;

/**
* @author RettichLP
*/
@UCCommand
public class DutyCommand implements IClientCommand {

@Override
@Nonnull
public String getName() {
return "checkduty";
}

@Override
@Nonnull
public String getUsage(@Nonnull ICommandSender sender) {
return "/checkduty [Spieler]";
}

@Override
@Nonnull
public List<String> getAliases() {
return Collections.emptyList();
}

@Override
public boolean checkPermission(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender) {
return AbstractionLayer.getPlayer().isSuperUser();
}

@Override
public void execute(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] args) {
UPlayer p = AbstractionLayer.getPlayer();

if (args.length == 0) {
p.sendSyntaxMessage(getUsage(sender));
return;
}

boolean isDuty = FactionManager.checkPlayerDuty(args[0]);

p.sendMessage(Message.getBuilder()
.of("Der Spieler").color(ColorCode.GRAY).advance().space()
.of(args[0]).color(ColorCode.AQUA).advance().space()
.of("befindet sich für das UnicacityAddon").color(ColorCode.GRAY).advance().space()
.of((isDuty ? "" : "nicht ") + "im Dienst").color(isDuty ? ColorCode.GREEN : ColorCode.RED).advance()
.of(".").color(ColorCode.GRAY).advance()
.createComponent());
}

@Override
@Nonnull
public List<String> getTabCompletions(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] args, @Nullable BlockPos targetPos) {
return TabCompletionBuilder.getBuilder(args).build();
}

@Override
public boolean isUsernameIndex(@Nonnull String[] args, int index) {
return false;
}

@Override
public boolean allowUsageWithoutPrefix(ICommandSender sender, String message) {
return false;
}

@Override
public int compareTo(@Nonnull ICommand o) {
return 0;
}
}
Loading

0 comments on commit f9f8a5d

Please sign in to comment.