Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Lars Neuhaus 2024-12-24 00:26:53 +01:00
commit f03011e4f1
3 changed files with 35 additions and 5 deletions

View File

@ -24,7 +24,7 @@ public class PublishRewardCommand extends PrivilegedCommand {
String rewardRequestJson = new Gson().toJson(room.getTournament().getRewards()); String rewardRequestJson = new Gson().toJson(room.getTournament().getRewards());
HttpRequest giveRewardsRequest = HttpRequest.newBuilder() HttpRequest giveRewardsRequest = HttpRequest.newBuilder()
.uri(new URI("http://10.20.6.1:8080/api/event/reward")) .uri(new URI("http://10.20.7.1:8080/api/event/reward"))
.POST(HttpRequest.BodyPublishers.ofString(rewardRequestJson)) .POST(HttpRequest.BodyPublishers.ofString(rewardRequestJson))
.build(); .build();

View File

@ -3,12 +3,15 @@ package eu.mhsl.minenet.minigames.handler.global;
import eu.mhsl.minenet.minigames.Main; import eu.mhsl.minenet.minigames.Main;
import eu.mhsl.minenet.minigames.api.QueuedPlayerRooms; import eu.mhsl.minenet.minigames.api.QueuedPlayerRooms;
import eu.mhsl.minenet.minigames.instance.room.Room; import eu.mhsl.minenet.minigames.instance.room.Room;
import eu.mhsl.minenet.minigames.instance.transfer.Transfer;
import eu.mhsl.minenet.minigames.skin.SkinCache; import eu.mhsl.minenet.minigames.skin.SkinCache;
import eu.mhsl.minenet.minigames.util.MoveInstance;
import net.minestom.server.MinecraftServer; import net.minestom.server.MinecraftServer;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import eu.mhsl.minenet.minigames.instance.hub.Hub; import eu.mhsl.minenet.minigames.instance.hub.Hub;
import net.minestom.server.event.EventListener; import net.minestom.server.event.EventListener;
import net.minestom.server.event.player.AsyncPlayerConfigurationEvent; import net.minestom.server.event.player.AsyncPlayerConfigurationEvent;
import net.minestom.server.timer.TaskSchedule;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.spongepowered.configurate.serialize.SerializationException; import org.spongepowered.configurate.serialize.SerializationException;
@ -26,17 +29,22 @@ public class PlayerLoginHandler implements EventListener<AsyncPlayerConfiguratio
public @NotNull Result run(@NotNull AsyncPlayerConfigurationEvent event) { public @NotNull Result run(@NotNull AsyncPlayerConfigurationEvent event) {
Player p = event.getPlayer(); Player p = event.getPlayer();
event.setSpawningInstance(Hub.INSTANCE); Transfer transferInstance = new Transfer();
p.setRespawnPoint(Hub.INSTANCE.getSpawn()); p.setRespawnPoint(transferInstance.getSpawn());
event.setSpawningInstance(transferInstance);
UUID pushQueue = QueuedPlayerRooms.pullQueue(event.getPlayer().getUuid()); UUID pushQueue = QueuedPlayerRooms.pullQueue(event.getPlayer().getUuid());
MinecraftServer.getSchedulerManager().scheduleNextTick( MinecraftServer.getSchedulerManager().scheduleTask(
() -> { () -> {
if(pushQueue != null) { if(pushQueue != null) {
Room.setRoom(p, Room.getRoom(pushQueue).orElseThrow()); Room.setRoom(p, Room.getRoom(pushQueue).orElseThrow());
} else {
MoveInstance.move(p, Hub.INSTANCE);
} }
} },
TaskSchedule.seconds(5),
TaskSchedule.stop()
); );
SkinCache.applySkin(p); SkinCache.applySkin(p);

View File

@ -0,0 +1,22 @@
package eu.mhsl.minenet.minigames.instance.transfer;
import eu.mhsl.minenet.minigames.instance.Dimension;
import eu.mhsl.minenet.minigames.instance.MineNetInstance;
import eu.mhsl.minenet.minigames.instance.Spawnable;
import eu.mhsl.minenet.minigames.util.CommonEventHandles;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.event.player.PlayerMoveEvent;
import net.minestom.server.instance.block.Block;
public class Transfer extends MineNetInstance implements Spawnable {
public Transfer() {
super(Dimension.THE_END.key);
eventNode().addListener(PlayerMoveEvent.class, CommonEventHandles::cancel);
setBlock(0, 0, 0, Block.BARRIER);
}
@Override
public Pos getSpawn() {
return new Pos(0.5, 1, 0.5);
}
}