Compare commits
13 Commits
865cdfa605
...
develop-ja
| Author | SHA1 | Date | |
|---|---|---|---|
| e760cdb2c6 | |||
| c111c027ff | |||
| 2f8ff36e5e | |||
| 5cb71c5c32 | |||
| 5ab42fde4b | |||
| d5c2f06409 | |||
| 1ff8cca7e9 | |||
| 47c40c4941 | |||
| d4a7fcada7 | |||
| a0124f1bcb | |||
| c79fbf3136 | |||
| 660eb645e4 | |||
| 3c50aca1e8 |
@@ -25,7 +25,7 @@ public class PublishRewardCommand extends PrivilegedCommand {
|
||||
|
||||
String rewardRequestJson = new Gson().toJson(room.getTournament().getRewards());
|
||||
HttpRequest giveRewardsRequest = HttpRequest.newBuilder()
|
||||
.uri(new URI("http://10.20.7.1:8080/api/event/reward"))
|
||||
.uri(new URI("http://10.20.9.3:8080/api/event/reward"))
|
||||
.POST(HttpRequest.BodyPublishers.ofString(rewardRequestJson))
|
||||
.build();
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@ package eu.mhsl.minenet.minigames.handler.global;
|
||||
|
||||
import eu.mhsl.minenet.minigames.message.Icon;
|
||||
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import net.minestom.server.event.EventListener;
|
||||
import net.minestom.server.event.player.PlayerChatEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -14,7 +16,14 @@ public class ChatFormatHandler implements EventListener<PlayerChatEvent> {
|
||||
|
||||
@Override
|
||||
public @NotNull Result run(@NotNull PlayerChatEvent event) {
|
||||
event.setFormattedMessage(new ChatMessage(Icon.CHAT).appendStatic(event.getRawMessage()).build(event.getPlayer()));
|
||||
NamedTextColor color = event.getPlayer().getPermissionLevel() > 0 ? NamedTextColor.AQUA : NamedTextColor.GRAY;
|
||||
event.setFormattedMessage(
|
||||
new ChatMessage(Icon.CHAT)
|
||||
.appendStatic(Component.text(event.getPlayer().getUsername(), color))
|
||||
.appendStatic(Component.text(" > ", NamedTextColor.DARK_GRAY))
|
||||
.appendStatic(event.getRawMessage())
|
||||
.build(event.getPlayer())
|
||||
);
|
||||
return Result.SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ public class ElytraRace extends StatelessGame {
|
||||
return;
|
||||
}
|
||||
|
||||
this.playerCheckpoints.putIfAbsent(player, new CheckPointData(this.ringSpacing, this.ringSpacing * 2));
|
||||
this.playerCheckpoints.putIfAbsent(player, new CheckPointData(0, this.ringSpacing));
|
||||
|
||||
if(newPos.z() > this.generatedUntil - this.ringSpacing) {
|
||||
this.generateRing(this.generatedUntil + this.ringSpacing);
|
||||
@@ -224,7 +224,9 @@ public class ElytraRace extends StatelessGame {
|
||||
}
|
||||
|
||||
private void toCheckpoint(Player p) {
|
||||
CheckPointData data = this.playerCheckpoints.get(p);
|
||||
Point checkpointPos = this.getRingPositionAtZ(this.playerCheckpoints.get(p).currentCheckpoint);
|
||||
if(data.currentCheckpoint == 0) checkpointPos = this.getSpawn().add(0, 3, 0);
|
||||
p.setVelocity(Vec.ZERO);
|
||||
p.setFlyingWithElytra(false);
|
||||
p.teleport(Pos.fromPoint(checkpointPos).add(0.5, 0, 0.5));
|
||||
|
||||
@@ -110,7 +110,7 @@ public class SpaceSnake extends StatelessGame {
|
||||
playerMoveEvent.getPlayer().teleport(this.getSpawn());
|
||||
playerMoveEvent.getPlayer().setGameMode(GameMode.SPECTATOR);
|
||||
long livingPlayers = this.getPlayers().stream()
|
||||
.filter(p -> this.getScore().hasResult(p))
|
||||
.filter(p -> !this.getScore().hasResult(p))
|
||||
.count();
|
||||
if(livingPlayers == 1) this.setTimeLimit(10);
|
||||
if(livingPlayers == 0) this.stop();
|
||||
|
||||
@@ -28,7 +28,8 @@ public class StickFightFactory implements GameFactory {
|
||||
@Override
|
||||
public ConfigManager configuration() {
|
||||
return new ConfigManager()
|
||||
.addOption(new NumericOption("length", Material.SANDSTONE, TranslatedComponent.byId("optionCommon#length"), 7, 10, 13, 16, 19));
|
||||
.addOption(new NumericOption("length", Material.SANDSTONE, TranslatedComponent.byId("optionCommon#length"), 7, 10, 13, 16, 19))
|
||||
.addOption(new NumericOption("seconds", Material.CLOCK, TranslatedComponent.byId("optionCommon#seconds"), 30, 60, 90, 120));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -40,7 +41,7 @@ public class StickFightFactory implements GameFactory {
|
||||
|
||||
@Override
|
||||
public Game manufacture(Room parent, Map<String, Option<?>> configuration) {
|
||||
return new Stickfight(configuration.get("length").getAsInt()).setParent(parent);
|
||||
return new Stickfight(configuration.get("length").getAsInt(), configuration.get("seconds").getAsInt()).setParent(parent);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,6 +10,8 @@ import net.minestom.server.coordinate.Pos;
|
||||
import net.minestom.server.entity.Player;
|
||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||
import net.minestom.server.instance.block.Block;
|
||||
import net.minestom.server.item.ItemStack;
|
||||
import net.minestom.server.item.Material;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
@@ -22,10 +24,12 @@ public class Stickfight extends StatelessGame {
|
||||
private final WeakHashMap<Player, Pos> spawnPoints = new WeakHashMap<>();
|
||||
private final Map<Player, Integer> scoreMap = new WeakHashMap<>();
|
||||
private boolean countdownStarted = false;
|
||||
private final int seconds;
|
||||
|
||||
public Stickfight(int length) {
|
||||
public Stickfight(int length, int seconds) {
|
||||
super(Dimension.OVERWORLD.key, "Stickfight", new LowestPointsWinScore());
|
||||
this.radius = length;
|
||||
this.seconds = seconds;
|
||||
|
||||
this.eventNode().addChild(
|
||||
CombatFeatures.empty()
|
||||
@@ -79,10 +83,18 @@ public class Stickfight extends StatelessGame {
|
||||
this.generateBridge(spawnX, spawnY, spawnZ);
|
||||
}
|
||||
|
||||
ItemStack item = ItemStack.of(Material.STICK).withGlowing(true);
|
||||
players.forEach(player -> player.getInventory().addItemStack(item));
|
||||
|
||||
this.setBlock(0, 50, 0, Block.GOLD_BLOCK);
|
||||
super.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
this.setTimeLimit(this.seconds);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
this.scoreMap.forEach((player, score) -> this.getScore().insertResult(player, score));
|
||||
@@ -117,6 +129,7 @@ public class Stickfight extends StatelessGame {
|
||||
player.teleport(this.spawnPoints.get(player));
|
||||
this.scoreMap.putIfAbsent(player, 0);
|
||||
this.scoreMap.put(player, this.scoreMap.get(player) + 1);
|
||||
player.setLevel(this.scoreMap.get(player));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -54,18 +54,18 @@ public class Tournament {
|
||||
}
|
||||
|
||||
public List<Set<Player>> getPlaces() {
|
||||
List<Set<Player>> players = new ArrayList<>(
|
||||
this.getGameScores().entrySet().stream()
|
||||
.collect(
|
||||
Collectors.groupingBy(
|
||||
Map.Entry::getValue,
|
||||
Collectors.mapping(Map.Entry::getKey, Collectors.toSet())
|
||||
)
|
||||
).values()
|
||||
);
|
||||
Map<Integer, Set<Player>> players = this.getGameScores().entrySet().stream()
|
||||
.collect(
|
||||
Collectors.groupingBy(
|
||||
Map.Entry::getValue,
|
||||
Collectors.mapping(Map.Entry::getKey, Collectors.toSet())
|
||||
)
|
||||
);
|
||||
|
||||
Collections.reverse(players);
|
||||
return players;
|
||||
return players.entrySet().stream()
|
||||
.sorted(Map.Entry.<Integer, Set<Player>>comparingByKey().reversed())
|
||||
.map(Map.Entry::getValue)
|
||||
.toList();
|
||||
}
|
||||
|
||||
private int boost(int selfPlace, int placeCount) {
|
||||
|
||||
Reference in New Issue
Block a user