updated minestom version, breaking some behaviour
This commit is contained in:
parent
5c4ddf892c
commit
a321d243ba
23
build.gradle
23
build.gradle
@ -28,9 +28,16 @@ repositories {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
allprojects {
|
||||||
|
repositories {
|
||||||
|
maven { url "https://jitpack.io" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
java {
|
java {
|
||||||
toolchain {
|
toolchain {
|
||||||
languageVersion = JavaLanguageVersion.of(17)
|
languageVersion = JavaLanguageVersion.of(21)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,13 +46,7 @@ dependencies {
|
|||||||
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.0'
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.0'
|
||||||
|
|
||||||
//https://jitpack.io/#Minestom/Minestom
|
//https://jitpack.io/#Minestom/Minestom
|
||||||
// implementation 'com.github.Minestom:Minestom:c496ee357'
|
implementation 'net.minestom:minestom-snapshots:59406d5b54'
|
||||||
// implementation 'com.github.waxeria:Minestom:e0427a36f3'
|
|
||||||
|
|
||||||
// implementation 'dev.hollowcube:minestom-ce:5bcc72b911'
|
|
||||||
implementation 'dev.hollowcube:minestom-ce:8715f4305d'
|
|
||||||
implementation 'dev.hollowcube:minestom-ce-extensions:1.2.0'
|
|
||||||
|
|
||||||
|
|
||||||
//Tools
|
//Tools
|
||||||
implementation 'de.articdive:jnoise:3.0.2'
|
implementation 'de.articdive:jnoise:3.0.2'
|
||||||
@ -54,13 +55,11 @@ dependencies {
|
|||||||
implementation 'org.spongepowered:configurate-yaml:4.1.2'
|
implementation 'org.spongepowered:configurate-yaml:4.1.2'
|
||||||
implementation 'com.sparkjava:spark-core:2.9.4'
|
implementation 'com.sparkjava:spark-core:2.9.4'
|
||||||
implementation 'com.google.code.gson:gson:2.10.1'
|
implementation 'com.google.code.gson:gson:2.10.1'
|
||||||
implementation 'com.google.guava:guava:31.0.1-jre'
|
implementation 'com.google.guava:guava:32.0.0-android'
|
||||||
|
|
||||||
|
|
||||||
//PvP
|
//PvP
|
||||||
implementation 'com.github.TogAr2:MinestomPvP:35e5661'
|
implementation 'com.github.TogAr2:MinestomPvP:0a5f94bcd7'
|
||||||
//implementation 'com.github.TogAr2:MinestomPvP:135ec9e2b7'
|
|
||||||
|
|
||||||
|
|
||||||
// Hephaestus engine
|
// Hephaestus engine
|
||||||
implementation("team.unnamed:hephaestus-api:0.2.1-SNAPSHOT")
|
implementation("team.unnamed:hephaestus-api:0.2.1-SNAPSHOT")
|
||||||
|
@ -6,7 +6,7 @@ import eu.mhsl.minenet.minigames.handler.Listeners;
|
|||||||
import eu.mhsl.minenet.minigames.lang.Languages;
|
import eu.mhsl.minenet.minigames.lang.Languages;
|
||||||
import eu.mhsl.minenet.minigames.server.tasks.TablistUpdateTask;
|
import eu.mhsl.minenet.minigames.server.tasks.TablistUpdateTask;
|
||||||
import eu.mhsl.minenet.minigames.server.provider.ByPlayerNameUuidProvider;
|
import eu.mhsl.minenet.minigames.server.provider.ByPlayerNameUuidProvider;
|
||||||
import io.github.bloepiloepi.pvp.PvpExtension;
|
import io.github.togar2.pvp.MinestomPvP;
|
||||||
import net.minestom.server.MinecraftServer;
|
import net.minestom.server.MinecraftServer;
|
||||||
import net.minestom.server.extras.bungee.BungeeCordProxy;
|
import net.minestom.server.extras.bungee.BungeeCordProxy;
|
||||||
import net.minestom.server.extras.lan.OpenToLAN;
|
import net.minestom.server.extras.lan.OpenToLAN;
|
||||||
@ -42,7 +42,7 @@ public class Main {
|
|||||||
logger.info("Initialize Minecraft server...");
|
logger.info("Initialize Minecraft server...");
|
||||||
|
|
||||||
MinecraftServer server = MinecraftServer.init();
|
MinecraftServer server = MinecraftServer.init();
|
||||||
PvpExtension.init();
|
MinestomPvP.init();
|
||||||
|
|
||||||
MinecraftServer.setBrandName("mhsl.eu - minenet - credits to minestom");
|
MinecraftServer.setBrandName("mhsl.eu - minenet - credits to minestom");
|
||||||
MinecraftServer.setCompressionThreshold(serverConfig.node("compression-threshold").getInt(0));
|
MinecraftServer.setCompressionThreshold(serverConfig.node("compression-threshold").getInt(0));
|
||||||
|
@ -6,8 +6,6 @@ import eu.mhsl.minenet.minigames.message.Icon;
|
|||||||
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
import eu.mhsl.minenet.minigames.message.type.ChatMessage;
|
||||||
import net.minestom.server.command.builder.arguments.ArgumentType;
|
import net.minestom.server.command.builder.arguments.ArgumentType;
|
||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.entity.fakeplayer.FakePlayer;
|
|
||||||
import net.minestom.server.entity.fakeplayer.FakePlayerOption;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@ -18,12 +16,12 @@ public class FakeplayerCommand extends PrivilegedCommand {
|
|||||||
addSyntax((sender, context) -> {
|
addSyntax((sender, context) -> {
|
||||||
if(sender instanceof Player p) {
|
if(sender instanceof Player p) {
|
||||||
if(p.getInstance() instanceof Room room) {
|
if(p.getInstance() instanceof Room room) {
|
||||||
FakePlayer.initPlayer(
|
// FakePlayer.initPlayer( // TODO FakePlayer does no longer exists
|
||||||
UUID.randomUUID(),
|
// UUID.randomUUID(),
|
||||||
context.getRaw("name"),
|
// context.getRaw("name"),
|
||||||
new FakePlayerOption().setInTabList(true).setRegistered(true),
|
// new FakePlayerOption().setInTabList(true).setRegistered(true),
|
||||||
fakePlayer -> Room.setRoom(fakePlayer, room)
|
// fakePlayer -> Room.setRoom(fakePlayer, room)
|
||||||
);
|
// );
|
||||||
} else {
|
} else {
|
||||||
new ChatMessage(Icon.ERROR).appendStatic("Du musst dich in einer Raumlobby befinden!").send(sender);
|
new ChatMessage(Icon.ERROR).appendStatic("Du musst dich in einer Raumlobby befinden!").send(sender);
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ public class KickCommand extends PrivilegedCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void kick(String playername, String reason) {
|
private void kick(String playername, String reason) {
|
||||||
Player playerToKick = MinecraftServer.getConnectionManager().findPlayer(playername);
|
Player playerToKick = MinecraftServer.getConnectionManager().findOnlinePlayer(playername);
|
||||||
Objects.requireNonNull(playerToKick).kick(reason);
|
Objects.requireNonNull(playerToKick).kick(reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ public class OpCommand extends PrivilegedCommand {
|
|||||||
super("op");
|
super("op");
|
||||||
|
|
||||||
addSyntax((sender, context) -> {
|
addSyntax((sender, context) -> {
|
||||||
Player target = MinecraftServer.getConnectionManager().getPlayer(context.getRaw("target"));
|
Player target = MinecraftServer.getConnectionManager().getOnlinePlayerByUsername(context.getRaw("target"));
|
||||||
if(target != null) {
|
if(target != null) {
|
||||||
target.addPermission(new Permission("admin"));
|
target.addPermission(new Permission("admin"));
|
||||||
target.refreshCommands();
|
target.refreshCommands();
|
||||||
|
@ -27,7 +27,7 @@ public class SetRoomOwnerCommand extends PrivilegedCommand {
|
|||||||
addSyntax((sender, context) -> {
|
addSyntax((sender, context) -> {
|
||||||
System.out.println("Test");
|
System.out.println("Test");
|
||||||
if(sender instanceof Player p) {
|
if(sender instanceof Player p) {
|
||||||
Player newOwner = MinecraftServer.getConnectionManager().getPlayer(context.getRaw("player"));
|
Player newOwner = MinecraftServer.getConnectionManager().getOnlinePlayerByUsername(context.getRaw("player"));
|
||||||
Room.getRoom(p).orElseThrow().setOwner(Objects.requireNonNull(newOwner));
|
Room.getRoom(p).orElseThrow().setOwner(Objects.requireNonNull(newOwner));
|
||||||
new ChatMessage(Icon.SUCCESS).appendStatic("The new owner has been set!").send(sender);
|
new ChatMessage(Icon.SUCCESS).appendStatic("The new owner has been set!").send(sender);
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ public class AddEntityToInstanceEventListener implements EventListener<AddEntity
|
|||||||
@Override
|
@Override
|
||||||
public @NotNull Result run(@NotNull AddEntityToInstanceEvent event) {
|
public @NotNull Result run(@NotNull AddEntityToInstanceEvent event) {
|
||||||
if(event.getEntity() instanceof Player p) {
|
if(event.getEntity() instanceof Player p) {
|
||||||
MinecraftServer.getSchedulerManager().scheduleNextTick(p::refreshCommands, ExecutionType.ASYNC);
|
MinecraftServer.getSchedulerManager().scheduleNextTick(p::refreshCommands, ExecutionType.TICK_END);
|
||||||
|
|
||||||
if(event.getInstance() instanceof Spawnable instance) {
|
if(event.getInstance() instanceof Spawnable instance) {
|
||||||
p.setRespawnPoint(instance.getSpawn());
|
p.setRespawnPoint(instance.getSpawn());
|
||||||
|
@ -8,9 +8,9 @@ import eu.mhsl.minenet.minigames.skin.SkinCache;
|
|||||||
import eu.mhsl.minenet.minigames.util.MoveInstance;
|
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 net.minestom.server.event.EventListener;
|
|
||||||
import net.minestom.server.event.player.PlayerLoginEvent;
|
|
||||||
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.player.AsyncPlayerConfigurationEvent;
|
||||||
import net.minestom.server.permission.Permission;
|
import net.minestom.server.permission.Permission;
|
||||||
import net.minestom.server.timer.TaskSchedule;
|
import net.minestom.server.timer.TaskSchedule;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -20,14 +20,14 @@ import java.util.Objects;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class PlayerLoginHandler implements EventListener<PlayerLoginEvent> {
|
public class PlayerLoginHandler implements EventListener<AsyncPlayerConfigurationEvent> {
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Class<PlayerLoginEvent> eventType() {
|
public @NotNull Class<AsyncPlayerConfigurationEvent> eventType() {
|
||||||
return PlayerLoginEvent.class;
|
return AsyncPlayerConfigurationEvent.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Result run(@NotNull PlayerLoginEvent event) {
|
public @NotNull Result run(@NotNull AsyncPlayerConfigurationEvent event) {
|
||||||
Player p = event.getPlayer();
|
Player p = event.getPlayer();
|
||||||
|
|
||||||
Transfer transferInstance = new Transfer();
|
Transfer transferInstance = new Transfer();
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package eu.mhsl.minenet.minigames.instance;
|
package eu.mhsl.minenet.minigames.instance;
|
||||||
|
|
||||||
import net.minestom.server.MinecraftServer;
|
import net.minestom.server.MinecraftServer;
|
||||||
|
import net.minestom.server.registry.DynamicRegistry;
|
||||||
import net.minestom.server.utils.NamespaceID;
|
import net.minestom.server.utils.NamespaceID;
|
||||||
import net.minestom.server.world.DimensionType;
|
import net.minestom.server.world.DimensionType;
|
||||||
|
|
||||||
@ -9,33 +10,39 @@ import net.minestom.server.world.DimensionType;
|
|||||||
*/
|
*/
|
||||||
public enum Dimension {
|
public enum Dimension {
|
||||||
OVERWORLD(
|
OVERWORLD(
|
||||||
|
NamespaceID.from("minenet:fullbright_overworld"),
|
||||||
DimensionType
|
DimensionType
|
||||||
.builder(NamespaceID.from("minenet:fullbright_overworld"))
|
.builder()
|
||||||
.ambientLight(2.0f)
|
.ambientLight(2.0f)
|
||||||
.build()
|
.build()
|
||||||
),
|
),
|
||||||
|
|
||||||
NETHER(
|
NETHER(
|
||||||
|
NamespaceID.from("minenet:fullbright_nether"),
|
||||||
DimensionType
|
DimensionType
|
||||||
.builder(NamespaceID.from("minenet:fullbright_nether"))
|
.builder()
|
||||||
.ambientLight(2.0f)
|
.ambientLight(2.0f)
|
||||||
.effects("minecraft:the_nether")
|
.effects("minecraft:the_nether")
|
||||||
.build()
|
.build()
|
||||||
),
|
),
|
||||||
|
|
||||||
THE_END(
|
THE_END(
|
||||||
|
NamespaceID.from("minenet:fullbright_end"),
|
||||||
DimensionType
|
DimensionType
|
||||||
.builder(NamespaceID.from("minenet:fullbright_end"))
|
.builder()
|
||||||
.ambientLight(2.0f)
|
.ambientLight(2.0f)
|
||||||
.effects("minecraft:the_end")
|
.effects("minecraft:the_end")
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
|
||||||
public final DimensionType DIMENSION;
|
public final DimensionType DIMENSION;
|
||||||
Dimension(DimensionType dimType) {
|
public final NamespaceID namespaceID;
|
||||||
|
public final DynamicRegistry.Key<DimensionType> key;
|
||||||
|
Dimension(NamespaceID namespaceID, DimensionType dimType) {
|
||||||
this.DIMENSION = dimType;
|
this.DIMENSION = dimType;
|
||||||
|
this.namespaceID = namespaceID;
|
||||||
|
|
||||||
MinecraftServer.getDimensionTypeManager().addDimension(this.DIMENSION);
|
this.key = MinecraftServer.getDimensionTypeRegistry().register(namespaceID, DIMENSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,13 +7,15 @@ import net.minestom.server.event.instance.AddEntityToInstanceEvent;
|
|||||||
import net.minestom.server.event.instance.RemoveEntityFromInstanceEvent;
|
import net.minestom.server.event.instance.RemoveEntityFromInstanceEvent;
|
||||||
import net.minestom.server.instance.Instance;
|
import net.minestom.server.instance.Instance;
|
||||||
import net.minestom.server.instance.InstanceContainer;
|
import net.minestom.server.instance.InstanceContainer;
|
||||||
|
import net.minestom.server.instance.InstanceManager;
|
||||||
|
import net.minestom.server.registry.DynamicRegistry;
|
||||||
import net.minestom.server.timer.TaskSchedule;
|
import net.minestom.server.timer.TaskSchedule;
|
||||||
import net.minestom.server.world.DimensionType;
|
import net.minestom.server.world.DimensionType;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class MineNetInstance extends InstanceContainer {
|
public class MineNetInstance extends InstanceContainer {
|
||||||
public MineNetInstance(DimensionType type) {
|
public MineNetInstance(DynamicRegistry.Key<DimensionType> type) {
|
||||||
super(UUID.randomUUID(), type);
|
super(UUID.randomUUID(), type);
|
||||||
MinecraftServer.getInstanceManager().registerInstance(this);
|
MinecraftServer.getInstanceManager().registerInstance(this);
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ import net.minestom.server.event.item.ItemDropEvent;
|
|||||||
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
||||||
import net.minestom.server.event.player.PlayerBlockPlaceEvent;
|
import net.minestom.server.event.player.PlayerBlockPlaceEvent;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
|
import net.minestom.server.registry.DynamicRegistry;
|
||||||
import net.minestom.server.timer.ExecutionType;
|
import net.minestom.server.timer.ExecutionType;
|
||||||
import net.minestom.server.timer.TaskSchedule;
|
import net.minestom.server.timer.TaskSchedule;
|
||||||
import net.minestom.server.world.DimensionType;
|
import net.minestom.server.world.DimensionType;
|
||||||
@ -36,7 +37,7 @@ public abstract class Game extends MineNetInstance implements Spawnable {
|
|||||||
|
|
||||||
protected final Logger logger;
|
protected final Logger logger;
|
||||||
|
|
||||||
public Game(DimensionType dimensionType) {
|
public Game(DynamicRegistry.Key<DimensionType> dimensionType) {
|
||||||
super(dimensionType);
|
super(dimensionType);
|
||||||
|
|
||||||
MinecraftServer.getInstanceManager().registerInstance(this);
|
MinecraftServer.getInstanceManager().registerInstance(this);
|
||||||
@ -78,7 +79,7 @@ public abstract class Game extends MineNetInstance implements Spawnable {
|
|||||||
this.onLoad(callback);
|
this.onLoad(callback);
|
||||||
// callback.whenComplete((unused, throwable) -> this.start());
|
// callback.whenComplete((unused, throwable) -> this.start());
|
||||||
return TaskSchedule.stop();
|
return TaskSchedule.stop();
|
||||||
}, ExecutionType.ASYNC);
|
}, ExecutionType.TICK_END);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ import eu.mhsl.minenet.minigames.score.Score;
|
|||||||
import net.kyori.adventure.audience.Audience;
|
import net.kyori.adventure.audience.Audience;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import net.minestom.server.registry.DynamicRegistry;
|
||||||
import net.minestom.server.timer.ExecutionType;
|
import net.minestom.server.timer.ExecutionType;
|
||||||
import net.minestom.server.timer.TaskSchedule;
|
import net.minestom.server.timer.TaskSchedule;
|
||||||
import net.minestom.server.world.DimensionType;
|
import net.minestom.server.world.DimensionType;
|
||||||
@ -22,7 +23,7 @@ public class StatelessGame extends Game {
|
|||||||
|
|
||||||
private int timeLimit = 0;
|
private int timeLimit = 0;
|
||||||
private int timePlayed = 0;
|
private int timePlayed = 0;
|
||||||
public StatelessGame(DimensionType dimensionType, String gameName, Score score) {
|
public StatelessGame(DynamicRegistry.Key<DimensionType> dimensionType, String gameName, Score score) {
|
||||||
super(dimensionType);
|
super(dimensionType);
|
||||||
this.score = score;
|
this.score = score;
|
||||||
this.name = gameName;
|
this.name = gameName;
|
||||||
@ -55,7 +56,7 @@ public class StatelessGame extends Game {
|
|||||||
timePlayed++;
|
timePlayed++;
|
||||||
|
|
||||||
return TaskSchedule.seconds(1);
|
return TaskSchedule.seconds(1);
|
||||||
}, ExecutionType.SYNC);
|
}, ExecutionType.TICK_START);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ public class GameConfigurationInventory extends InteractableInventory {
|
|||||||
|
|
||||||
setClickableItem(
|
setClickableItem(
|
||||||
ItemStack.builder(Material.RED_WOOL)
|
ItemStack.builder(Material.RED_WOOL)
|
||||||
.displayName(
|
.customName(
|
||||||
TranslatedComponent.byId("common#back")
|
TranslatedComponent.byId("common#back")
|
||||||
.setColor(NamedTextColor.RED)
|
.setColor(NamedTextColor.RED)
|
||||||
.getAssembled(p)
|
.getAssembled(p)
|
||||||
@ -62,7 +62,7 @@ public class GameConfigurationInventory extends InteractableInventory {
|
|||||||
|
|
||||||
setDummyItem(
|
setDummyItem(
|
||||||
ItemStack.builder(Material.NAME_TAG)
|
ItemStack.builder(Material.NAME_TAG)
|
||||||
.displayName(
|
.customName(
|
||||||
factory.name().setColor(NamedTextColor.GOLD).getAssembled(p)
|
factory.name().setColor(NamedTextColor.GOLD).getAssembled(p)
|
||||||
)
|
)
|
||||||
.build(),
|
.build(),
|
||||||
@ -80,7 +80,7 @@ public class GameConfigurationInventory extends InteractableInventory {
|
|||||||
if(config == null) {
|
if(config == null) {
|
||||||
setDummyItem(
|
setDummyItem(
|
||||||
ItemStack.builder(Material.BARRIER)
|
ItemStack.builder(Material.BARRIER)
|
||||||
.displayName(
|
.customName(
|
||||||
TranslatedComponent.byId("room#noOption").setColor(NamedTextColor.RED).getAssembled(p)
|
TranslatedComponent.byId("room#noOption").setColor(NamedTextColor.RED).getAssembled(p)
|
||||||
)
|
)
|
||||||
.lore(
|
.lore(
|
||||||
@ -130,7 +130,7 @@ public class GameConfigurationInventory extends InteractableInventory {
|
|||||||
|
|
||||||
setClickableItem(
|
setClickableItem(
|
||||||
ItemStack.builder(restrictionHandler.getWarnings(restrictionData).size() > 0 ? Material.YELLOW_WOOL : Material.GREEN_WOOL)
|
ItemStack.builder(restrictionHandler.getWarnings(restrictionData).size() > 0 ? Material.YELLOW_WOOL : Material.GREEN_WOOL)
|
||||||
.displayName(TranslatedComponent.byId("restriction#success").setColor(NamedTextColor.GREEN).getAssembled(p))
|
.customName(TranslatedComponent.byId("restriction#success").setColor(NamedTextColor.GREEN).getAssembled(p))
|
||||||
.lore(restrictionHandler.getWarnings(restrictionData).stream().map(translatedComponent -> translatedComponent.getAssembled(p)).collect(Collectors.toList()))
|
.lore(restrictionHandler.getWarnings(restrictionData).stream().map(translatedComponent -> translatedComponent.getAssembled(p)).collect(Collectors.toList()))
|
||||||
.build(),
|
.build(),
|
||||||
8,
|
8,
|
||||||
@ -142,7 +142,7 @@ public class GameConfigurationInventory extends InteractableInventory {
|
|||||||
|
|
||||||
setClickableItem(
|
setClickableItem(
|
||||||
ItemStack.builder(Material.RED_WOOL)
|
ItemStack.builder(Material.RED_WOOL)
|
||||||
.displayName(TranslatedComponent.byId("restriction#fail").setColor(NamedTextColor.RED).getAssembled(p))
|
.customName(TranslatedComponent.byId("restriction#fail").setColor(NamedTextColor.RED).getAssembled(p))
|
||||||
.lore(
|
.lore(
|
||||||
restrictionHandler.getRestrictions()
|
restrictionHandler.getRestrictions()
|
||||||
.stream()
|
.stream()
|
||||||
|
@ -46,7 +46,7 @@ public abstract class Option<T> {
|
|||||||
public ItemStack getCurrent(Player p) {
|
public ItemStack getCurrent(Player p) {
|
||||||
int amount = Integer.parseInt(options.get(pointer).toString());
|
int amount = Integer.parseInt(options.get(pointer).toString());
|
||||||
return ItemStack.builder(item)
|
return ItemStack.builder(item)
|
||||||
.displayName(name.getAssembled(p))
|
.customName(name.getAssembled(p))
|
||||||
.lore(TranslatedComponent.byId("optionCommon#value").setColor(NamedTextColor.GOLD).getAssembled(p)
|
.lore(TranslatedComponent.byId("optionCommon#value").setColor(NamedTextColor.GOLD).getAssembled(p)
|
||||||
.append(Component.text(": ")).append(Component.text(amount)))
|
.append(Component.text(": ")).append(Component.text(amount)))
|
||||||
.build();
|
.build();
|
||||||
|
@ -17,8 +17,8 @@ import net.minestom.server.event.player.PlayerMoveEvent;
|
|||||||
import net.minestom.server.event.player.PlayerTickEvent;
|
import net.minestom.server.event.player.PlayerTickEvent;
|
||||||
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
|
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
|
||||||
import net.minestom.server.instance.block.Block;
|
import net.minestom.server.instance.block.Block;
|
||||||
|
import net.minestom.server.network.packet.server.play.ParticlePacket;
|
||||||
import net.minestom.server.particle.Particle;
|
import net.minestom.server.particle.Particle;
|
||||||
import net.minestom.server.particle.ParticleCreator;
|
|
||||||
import net.minestom.server.timer.ExecutionType;
|
import net.minestom.server.timer.ExecutionType;
|
||||||
import net.minestom.server.timer.TaskSchedule;
|
import net.minestom.server.timer.TaskSchedule;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -38,7 +38,7 @@ public class AcidRain extends StatelessGame {
|
|||||||
.setFrequency(0.09)
|
.setFrequency(0.09)
|
||||||
.build();
|
.build();
|
||||||
public AcidRain() {
|
public AcidRain() {
|
||||||
super(Dimension.OVERWORLD.DIMENSION, "acidRain", new LastWinsScore());
|
super(Dimension.OVERWORLD.key, "acidRain", new LastWinsScore());
|
||||||
setGenerator(
|
setGenerator(
|
||||||
new CircularPlateTerrainGenerator(radius)
|
new CircularPlateTerrainGenerator(radius)
|
||||||
.setPlateHeight(50)
|
.setPlateHeight(50)
|
||||||
@ -62,13 +62,13 @@ public class AcidRain extends StatelessGame {
|
|||||||
MinecraftServer.getSchedulerManager().submitTask(() -> {
|
MinecraftServer.getSchedulerManager().submitTask(() -> {
|
||||||
|
|
||||||
getPlayers().forEach(player -> {
|
getPlayers().forEach(player -> {
|
||||||
player.sendPacket(ParticleCreator.createParticlePacket(Particle.SNEEZE, 0, 60, 0, radius, radius, radius, 500));
|
player.sendPacket(new ParticlePacket(Particle.SNEEZE, 0, 60, 0, radius, radius, radius, 1f, 500));
|
||||||
player.sendPacket(ParticleCreator.createParticlePacket(Particle.ITEM_SLIME, 0, 60, 0, radius, radius, radius, 500));
|
player.sendPacket(new ParticlePacket(Particle.ITEM_SLIME, 0, 60, 0, radius, radius, radius, 1f, 500));
|
||||||
});
|
});
|
||||||
|
|
||||||
if(!isRunning) return TaskSchedule.stop();
|
if(!isRunning) return TaskSchedule.stop();
|
||||||
return TaskSchedule.millis(100);
|
return TaskSchedule.millis(100);
|
||||||
}, ExecutionType.ASYNC);
|
}, ExecutionType.TICK_END);
|
||||||
|
|
||||||
MinecraftServer.getSchedulerManager().submitTask(() -> {
|
MinecraftServer.getSchedulerManager().submitTask(() -> {
|
||||||
generationOffset++;
|
generationOffset++;
|
||||||
@ -76,7 +76,7 @@ public class AcidRain extends StatelessGame {
|
|||||||
|
|
||||||
if(!isRunning) return TaskSchedule.stop();
|
if(!isRunning) return TaskSchedule.stop();
|
||||||
return TaskSchedule.millis((long) NumberUtil.map(50 - difficulty, 0, 50, 100, 1000));
|
return TaskSchedule.millis((long) NumberUtil.map(50 - difficulty, 0, 50, 100, 1000));
|
||||||
}, ExecutionType.ASYNC);
|
}, ExecutionType.TICK_END);
|
||||||
|
|
||||||
MinecraftServer.getSchedulerManager().submitTask(() -> {
|
MinecraftServer.getSchedulerManager().submitTask(() -> {
|
||||||
difficulty++;
|
difficulty++;
|
||||||
|
@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
|
|
||||||
public class Backrooms extends StatelessGame {
|
public class Backrooms extends StatelessGame {
|
||||||
public Backrooms() {
|
public Backrooms() {
|
||||||
super(Dimension.NETHER.DIMENSION, "Backrooms", new NoScore());
|
super(Dimension.NETHER.key, "Backrooms", new NoScore());
|
||||||
BackroomsGenerator generator = new BackroomsGenerator();
|
BackroomsGenerator generator = new BackroomsGenerator();
|
||||||
setGenerator(unit -> generator.generateRoom(unit, 50));
|
setGenerator(unit -> generator.generateRoom(unit, 50));
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ import net.minestom.server.event.item.PickupItemEvent;
|
|||||||
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
||||||
import net.minestom.server.event.player.PlayerBlockPlaceEvent;
|
import net.minestom.server.event.player.PlayerBlockPlaceEvent;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
import net.minestom.server.instance.AnvilLoader;
|
import net.minestom.server.instance.anvil.AnvilLoader;
|
||||||
import net.minestom.server.item.ItemStack;
|
import net.minestom.server.item.ItemStack;
|
||||||
import net.minestom.server.item.Material;
|
import net.minestom.server.item.Material;
|
||||||
import net.minestom.server.timer.ExecutionType;
|
import net.minestom.server.timer.ExecutionType;
|
||||||
@ -38,7 +38,7 @@ public class Bedwars extends StatelessGame {
|
|||||||
|
|
||||||
|
|
||||||
public Bedwars() throws IOException {
|
public Bedwars() throws IOException {
|
||||||
super(Dimension.OVERWORLD.DIMENSION, "Bedwars", new LastWinsScore());
|
super(Dimension.OVERWORLD.key, "Bedwars", new LastWinsScore());
|
||||||
setChunkLoader(new AnvilLoader(Resource.GAME_MAP.getPath().resolve("bedwars/test")));
|
setChunkLoader(new AnvilLoader(Resource.GAME_MAP.getPath().resolve("bedwars/test")));
|
||||||
|
|
||||||
Configuration config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(Resource.GAME_MAP.getPath().resolve("bedwars/test/config.yml").toFile());
|
Configuration config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(Resource.GAME_MAP.getPath().resolve("bedwars/test/config.yml").toFile());
|
||||||
@ -78,7 +78,7 @@ public class Bedwars extends StatelessGame {
|
|||||||
});
|
});
|
||||||
|
|
||||||
return TaskSchedule.stop();
|
return TaskSchedule.stop();
|
||||||
}, ExecutionType.SYNC);
|
}, ExecutionType.TICK_END);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,24 +6,24 @@ import eu.mhsl.minenet.minigames.message.component.TranslatedComponent;
|
|||||||
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
||||||
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
||||||
import eu.mhsl.minenet.minigames.util.GeneratorUtils;
|
import eu.mhsl.minenet.minigames.util.GeneratorUtils;
|
||||||
import io.github.bloepiloepi.pvp.events.ProjectileHitEvent;
|
import io.github.togar2.pvp.entity.projectile.CustomEntityProjectile;
|
||||||
import io.github.bloepiloepi.pvp.projectile.CustomEntityProjectile;
|
|
||||||
import net.minestom.server.coordinate.Point;
|
import net.minestom.server.coordinate.Point;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.coordinate.Vec;
|
import net.minestom.server.coordinate.Vec;
|
||||||
import net.minestom.server.entity.*;
|
import net.minestom.server.entity.*;
|
||||||
import net.minestom.server.entity.metadata.arrow.ArrowMeta;
|
|
||||||
import net.minestom.server.entity.metadata.other.PrimedTntMeta;
|
import net.minestom.server.entity.metadata.other.PrimedTntMeta;
|
||||||
|
import net.minestom.server.entity.metadata.projectile.ArrowMeta;
|
||||||
import net.minestom.server.event.EventListener;
|
import net.minestom.server.event.EventListener;
|
||||||
|
import net.minestom.server.event.entity.projectile.ProjectileCollideWithBlockEvent;
|
||||||
|
import net.minestom.server.event.entity.projectile.ProjectileCollideWithEntityEvent;
|
||||||
import net.minestom.server.event.item.ItemUpdateStateEvent;
|
import net.minestom.server.event.item.ItemUpdateStateEvent;
|
||||||
import net.minestom.server.event.player.PlayerItemAnimationEvent;
|
import net.minestom.server.event.player.PlayerItemAnimationEvent;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
|
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
|
||||||
import net.minestom.server.instance.block.Block;
|
import net.minestom.server.instance.block.Block;
|
||||||
import net.minestom.server.item.Enchantment;
|
|
||||||
import net.minestom.server.item.ItemHideFlag;
|
|
||||||
import net.minestom.server.item.ItemStack;
|
import net.minestom.server.item.ItemStack;
|
||||||
import net.minestom.server.item.Material;
|
import net.minestom.server.item.Material;
|
||||||
|
import net.minestom.server.item.enchant.Enchantment;
|
||||||
import net.minestom.server.tag.Tag;
|
import net.minestom.server.tag.Tag;
|
||||||
import net.minestom.server.utils.MathUtils;
|
import net.minestom.server.utils.MathUtils;
|
||||||
import net.minestom.server.utils.time.TimeUnit;
|
import net.minestom.server.utils.time.TimeUnit;
|
||||||
@ -39,7 +39,7 @@ public class BowSpleef extends StatelessGame {
|
|||||||
private final int radius = 30;
|
private final int radius = 30;
|
||||||
private final int totalElevation = 50;
|
private final int totalElevation = 50;
|
||||||
public BowSpleef() {
|
public BowSpleef() {
|
||||||
super(Dimension.OVERWORLD.DIMENSION, "bowSpleef", new LastWinsScore());
|
super(Dimension.OVERWORLD.key, "bowSpleef", new LastWinsScore());
|
||||||
|
|
||||||
eventNode().addListener(
|
eventNode().addListener(
|
||||||
EventListener
|
EventListener
|
||||||
@ -58,17 +58,17 @@ public class BowSpleef extends StatelessGame {
|
|||||||
final double power = MathUtils.clamp((chargedFor * chargedFor + 2 * chargedFor) / 2D, 0, 1);
|
final double power = MathUtils.clamp((chargedFor * chargedFor + 2 * chargedFor) / 2D, 0, 1);
|
||||||
|
|
||||||
if (power > 0.2) {
|
if (power > 0.2) {
|
||||||
final CustomEntityProjectile projectile = new CustomEntityProjectile(player, EntityType.ARROW, true);
|
final CustomEntityProjectile projectile = new CustomEntityProjectile(player, EntityType.ARROW);
|
||||||
final ArrowMeta meta = (ArrowMeta) projectile.getEntityMeta();
|
final ArrowMeta meta = (ArrowMeta) projectile.getEntityMeta();
|
||||||
meta.setCritical(power >= 0.9);
|
meta.setCritical(power >= 0.9);
|
||||||
projectile.scheduleRemove(Duration.of(100, TimeUnit.SERVER_TICK));
|
projectile.scheduleRemove(Duration.of(100, TimeUnit.SERVER_TICK));
|
||||||
projectile.setOnFire(true);
|
meta.setOnFire(true);
|
||||||
|
|
||||||
final Pos position = player.getPosition().add(0, player.getEyeHeight(), 0);
|
final Pos position = player.getPosition().add(0, player.getEyeHeight(), 0);
|
||||||
projectile.setInstance(Objects.requireNonNull(player.getInstance()), position);
|
projectile.setInstance(Objects.requireNonNull(player.getInstance()), position);
|
||||||
|
|
||||||
final Vec direction = projectile.getPosition().direction();
|
final Vec direction = projectile.getPosition().direction();
|
||||||
projectile.shoot(position.add(direction).sub(0, 0.2, 0), power * 3, 1.0);
|
projectile.shootFrom(position.add(direction).sub(0, 0.2, 0), power * 3, 1.0);
|
||||||
projectile.setTag(ARROW_FIRST_HIT, true);
|
projectile.setTag(ARROW_FIRST_HIT, true);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -78,9 +78,9 @@ public class BowSpleef extends StatelessGame {
|
|||||||
|
|
||||||
eventNode().addListener(
|
eventNode().addListener(
|
||||||
EventListener
|
EventListener
|
||||||
.builder(ProjectileHitEvent.ProjectileBlockHitEvent.class)
|
.builder(ProjectileCollideWithBlockEvent.class)
|
||||||
.handler(projectileBlockHitEvent -> {
|
.handler(projectileBlockHitEvent -> {
|
||||||
CustomEntityProjectile projectile = projectileBlockHitEvent.getEntity();
|
Entity projectile = projectileBlockHitEvent.getEntity();
|
||||||
if(!projectile.getTag(ARROW_FIRST_HIT)) {
|
if(!projectile.getTag(ARROW_FIRST_HIT)) {
|
||||||
projectile.remove();
|
projectile.remove();
|
||||||
return;
|
return;
|
||||||
@ -108,7 +108,7 @@ public class BowSpleef extends StatelessGame {
|
|||||||
|
|
||||||
eventNode().addListener(
|
eventNode().addListener(
|
||||||
EventListener
|
EventListener
|
||||||
.builder(ProjectileHitEvent.ProjectileEntityHitEvent.class)
|
.builder(ProjectileCollideWithEntityEvent.class)
|
||||||
.handler(projectileEntityHitEvent -> projectileEntityHitEvent.setCancelled(true))
|
.handler(projectileEntityHitEvent -> projectileEntityHitEvent.setCancelled(true))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
@ -135,9 +135,8 @@ public class BowSpleef extends StatelessGame {
|
|||||||
0,
|
0,
|
||||||
ItemStack
|
ItemStack
|
||||||
.builder(Material.BOW)
|
.builder(Material.BOW)
|
||||||
.displayName(TranslatedComponent.byId("bow").getAssembled(player))
|
.customName(TranslatedComponent.byId("bow").getAssembled(player))
|
||||||
.meta(builder -> builder.enchantment(Enchantment.FLAME, (short) 1).build())
|
.glowing(true)
|
||||||
.meta(builder -> builder.hideFlag(ItemHideFlag.HIDE_ENCHANTS))
|
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -6,9 +6,9 @@ import eu.mhsl.minenet.minigames.util.BatchUtil;
|
|||||||
import eu.mhsl.minenet.minigames.instance.Dimension;
|
import eu.mhsl.minenet.minigames.instance.Dimension;
|
||||||
import eu.mhsl.minenet.minigames.world.BlockPallet;
|
import eu.mhsl.minenet.minigames.world.BlockPallet;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
|
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
|
||||||
import io.github.bloepiloepi.pvp.config.AttackConfig;
|
import io.github.togar2.pvp.config.AttackConfig;
|
||||||
import io.github.bloepiloepi.pvp.config.DamageConfig;
|
import io.github.togar2.pvp.config.DamageConfig;
|
||||||
import io.github.bloepiloepi.pvp.config.PvPConfig;
|
import io.github.togar2.pvp.config.PvPConfig;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
|
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
|
||||||
@ -23,18 +23,18 @@ class Deathcube extends StatelessGame {
|
|||||||
final int percentage;
|
final int percentage;
|
||||||
|
|
||||||
public Deathcube(int radius, int height, int percentage, int pvpEnabled) {
|
public Deathcube(int radius, int height, int percentage, int pvpEnabled) {
|
||||||
super(Dimension.THE_END.DIMENSION, "Deathcube", new FirstWinsScore());
|
super(Dimension.THE_END.key, "Deathcube", new FirstWinsScore());
|
||||||
this.radius = radius;
|
this.radius = radius;
|
||||||
this.height = height + 49;
|
this.height = height + 49;
|
||||||
this.percentage = percentage;
|
this.percentage = percentage;
|
||||||
this.setGenerator(new CircularPlateTerrainGenerator(radius+10).setPlateHeight(50));
|
this.setGenerator(new CircularPlateTerrainGenerator(radius+10).setPlateHeight(50));
|
||||||
|
|
||||||
if(pvpEnabled == 1) eventNode().addChild(
|
// if(pvpEnabled == 1) eventNode().addChild( // TODO update
|
||||||
PvPConfig.emptyBuilder()
|
// PvPConfig.emptyBuilder()
|
||||||
.damage(DamageConfig.legacyBuilder().fallDamage(false))
|
// .damage(DamageConfig.LEGACY.fallDamage(false))
|
||||||
.attack(AttackConfig.legacyBuilder().attackCooldown(true))
|
// .attack(AttackConfig.DEFAULT.attackCooldown(true))
|
||||||
.build().createNode()
|
// .build().createNode()
|
||||||
);
|
// );
|
||||||
System.out.println(radius);
|
System.out.println(radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@ import net.minestom.server.item.ItemStack;
|
|||||||
import net.minestom.server.item.Material;
|
import net.minestom.server.item.Material;
|
||||||
import net.minestom.server.network.packet.server.play.ParticlePacket;
|
import net.minestom.server.network.packet.server.play.ParticlePacket;
|
||||||
import net.minestom.server.particle.Particle;
|
import net.minestom.server.particle.Particle;
|
||||||
import net.minestom.server.particle.ParticleCreator;
|
|
||||||
import net.minestom.server.sound.SoundEvent;
|
import net.minestom.server.sound.SoundEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@ -57,7 +56,7 @@ public class ElytraRace extends StatelessGame {
|
|||||||
private final Map<Player, CheckPointData> playerCheckpoints = new HashMap<>();
|
private final Map<Player, CheckPointData> playerCheckpoints = new HashMap<>();
|
||||||
|
|
||||||
public ElytraRace(int ringCount) {
|
public ElytraRace(int ringCount) {
|
||||||
super(Dimension.OVERWORLD.DIMENSION, "ElytraRace", new FirstWinsScore());
|
super(Dimension.OVERWORLD.key, "ElytraRace", new FirstWinsScore());
|
||||||
|
|
||||||
this.ringCount = ringCount;
|
this.ringCount = ringCount;
|
||||||
|
|
||||||
@ -120,7 +119,7 @@ public class ElytraRace extends StatelessGame {
|
|||||||
getPlayers().forEach(player -> {
|
getPlayers().forEach(player -> {
|
||||||
player.getInventory().setChestplate(ItemStack.of(Material.ELYTRA));
|
player.getInventory().setChestplate(ItemStack.of(Material.ELYTRA));
|
||||||
for(int i = 0; i < 3; i++) {
|
for(int i = 0; i < 3; i++) {
|
||||||
player.getInventory().setItemStack(i, ItemStack.builder(boostMaterial).displayName(TranslatedComponent.byId("boost").getAssembled(player)).build());
|
player.getInventory().setItemStack(i, ItemStack.builder(boostMaterial).customName(TranslatedComponent.byId("boost").getAssembled(player)).build());
|
||||||
}
|
}
|
||||||
addResetItemToPlayer(player);
|
addResetItemToPlayer(player);
|
||||||
});
|
});
|
||||||
@ -144,7 +143,7 @@ public class ElytraRace extends StatelessGame {
|
|||||||
|
|
||||||
if(newPos.y() > gameHeight - 5) {
|
if(newPos.y() > gameHeight - 5) {
|
||||||
Point particlePoint = newPos.withY(gameHeight);
|
Point particlePoint = newPos.withY(gameHeight);
|
||||||
ParticlePacket particle = ParticleCreator.createParticlePacket(
|
ParticlePacket particle = new ParticlePacket(
|
||||||
Particle.WAX_ON,
|
Particle.WAX_ON,
|
||||||
particlePoint.blockX(),
|
particlePoint.blockX(),
|
||||||
particlePoint.blockY(),
|
particlePoint.blockY(),
|
||||||
@ -152,6 +151,7 @@ public class ElytraRace extends StatelessGame {
|
|||||||
20,
|
20,
|
||||||
0,
|
0,
|
||||||
30,
|
30,
|
||||||
|
1f,
|
||||||
Math.toIntExact((long) NumberUtil.map(newPos.y(), gameHeight - 5, gameHeight, 50, 500))
|
Math.toIntExact((long) NumberUtil.map(newPos.y(), gameHeight - 5, gameHeight, 50, 500))
|
||||||
);
|
);
|
||||||
player.sendPacket(particle);
|
player.sendPacket(particle);
|
||||||
@ -173,7 +173,7 @@ public class ElytraRace extends StatelessGame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addResetItemToPlayer(Player p) {
|
private void addResetItemToPlayer(Player p) {
|
||||||
p.getInventory().setItemStack(8, ItemStack.builder(resetMaterial).displayName(TranslatedComponent.byId("reset").getAssembled(p)).build());
|
p.getInventory().setItemStack(8, ItemStack.builder(resetMaterial).customName(TranslatedComponent.byId("reset").getAssembled(p)).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
private Point getRingPositionAtZ(int z) {
|
private Point getRingPositionAtZ(int z) {
|
||||||
@ -189,7 +189,7 @@ public class ElytraRace extends StatelessGame {
|
|||||||
|
|
||||||
Point ringPos = getRingPositionAtZ(zPos);
|
Point ringPos = getRingPositionAtZ(zPos);
|
||||||
GeneratorUtils.iterateArea(
|
GeneratorUtils.iterateArea(
|
||||||
ringPos.sub(100, 0, 0).withY(getDimensionType().getMinY()),
|
ringPos.sub(100, 0, 0).withY(0), // TODO 0 was before update getDimensionType().getMinY, might not work correctly
|
||||||
ringPos.add(100, 0, 0).withY(gameHeight),
|
ringPos.add(100, 0, 0).withY(gameHeight),
|
||||||
point -> batch.setBlock(point, Block.BARRIER)
|
point -> batch.setBlock(point, Block.BARRIER)
|
||||||
);
|
);
|
||||||
|
@ -33,7 +33,7 @@ class Minerun extends StatelessGame {
|
|||||||
private final int afterFinishLine = 10;
|
private final int afterFinishLine = 10;
|
||||||
|
|
||||||
public Minerun(int width, int length, int minePercentage) {
|
public Minerun(int width, int length, int minePercentage) {
|
||||||
super(Dimension.THE_END.DIMENSION, "Minerun", new FirstWinsScore());
|
super(Dimension.THE_END.key, "Minerun", new FirstWinsScore());
|
||||||
setGenerator(new SquarePlateTerrainGenerator(width, length + preRun + afterFinishLine).setPlateHeight(50).setGenerateBorders(true));
|
setGenerator(new SquarePlateTerrainGenerator(width, length + preRun + afterFinishLine).setPlateHeight(50).setGenerateBorders(true));
|
||||||
|
|
||||||
this.width = width;
|
this.width = width;
|
||||||
|
@ -26,7 +26,7 @@ public class Spleef extends StatelessGame {
|
|||||||
final int totalElevation = 50;
|
final int totalElevation = 50;
|
||||||
|
|
||||||
public Spleef(int radius, int stackCount) {
|
public Spleef(int radius, int stackCount) {
|
||||||
super(Dimension.OVERWORLD.DIMENSION, "Spleef", new LastWinsScore());
|
super(Dimension.OVERWORLD.key, "Spleef", new LastWinsScore());
|
||||||
getScore().setIgnoreLastPlayers(1);
|
getScore().setIgnoreLastPlayers(1);
|
||||||
|
|
||||||
this.radius = radius;
|
this.radius = radius;
|
||||||
@ -61,13 +61,7 @@ public class Spleef extends StatelessGame {
|
|||||||
player.getInventory().addItemStack(
|
player.getInventory().addItemStack(
|
||||||
ItemStack
|
ItemStack
|
||||||
.builder(Material.DIAMOND_SHOVEL)
|
.builder(Material.DIAMOND_SHOVEL)
|
||||||
.displayName(TranslatedComponent.byId("game_Spleef#shovelName").getAssembled(player))
|
.customName(TranslatedComponent.byId("game_Spleef#shovelName").getAssembled(player))
|
||||||
.meta(
|
|
||||||
builder -> builder
|
|
||||||
.enchantment(Enchantment.EFFICIENCY, (short) 99)
|
|
||||||
.hideFlag(ItemHideFlag.HIDE_ENCHANTS)
|
|
||||||
.build()
|
|
||||||
)
|
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
player.setHeldItemSlot((byte) 0);
|
player.setHeldItemSlot((byte) 0);
|
||||||
|
@ -5,8 +5,8 @@ import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
|
|||||||
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
||||||
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
|
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
|
||||||
import io.github.bloepiloepi.pvp.config.*;
|
import io.github.togar2.pvp.config.PvPConfig;
|
||||||
import io.github.bloepiloepi.pvp.events.FinalAttackEvent;
|
import io.github.togar2.pvp.events.FinalAttackEvent;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
@ -18,14 +18,14 @@ import java.util.concurrent.CompletableFuture;
|
|||||||
|
|
||||||
public class Stickfight extends StatelessGame {
|
public class Stickfight extends StatelessGame {
|
||||||
public Stickfight() {
|
public Stickfight() {
|
||||||
super(Dimension.OVERWORLD.DIMENSION, "Stickfight", new LastWinsScore());
|
super(Dimension.OVERWORLD.key, "Stickfight", new LastWinsScore());
|
||||||
|
|
||||||
eventNode().addChild(
|
// eventNode().addChild( // TODO update
|
||||||
PvPConfig.emptyBuilder()
|
// PvPConfig.emptyBuilder()
|
||||||
.damage(DamageConfig.legacyBuilder().fallDamage(false))
|
// .damage(DamageConfig.legacyBuilder().fallDamage(false))
|
||||||
.attack(AttackConfig.legacyBuilder().attackCooldown(true))
|
// .attack(AttackConfig.legacyBuilder().attackCooldown(true))
|
||||||
.build().createNode()
|
// .build().createNode()
|
||||||
);
|
// );
|
||||||
|
|
||||||
eventNode().addListener(FinalAttackEvent.class, finalAttackEvent -> {
|
eventNode().addListener(FinalAttackEvent.class, finalAttackEvent -> {
|
||||||
finalAttackEvent.setBaseDamage(0);
|
finalAttackEvent.setBaseDamage(0);
|
||||||
|
@ -27,7 +27,7 @@ public class TntRun extends StatelessGame {
|
|||||||
final int radius;
|
final int radius;
|
||||||
final int stackCount;
|
final int stackCount;
|
||||||
public TntRun(int radius, int stackCount) {
|
public TntRun(int radius, int stackCount) {
|
||||||
super(Dimension.OVERWORLD.DIMENSION, "tntRun", new LastWinsScore());
|
super(Dimension.OVERWORLD.key, "tntRun", new LastWinsScore());
|
||||||
this.radius = radius;
|
this.radius = radius;
|
||||||
this.stackCount = stackCount;
|
this.stackCount = stackCount;
|
||||||
setGenerator(new CircularPlateTerrainGenerator(radius));
|
setGenerator(new CircularPlateTerrainGenerator(radius));
|
||||||
@ -74,7 +74,7 @@ public class TntRun extends StatelessGame {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, TaskSchedule.millis(500), TaskSchedule.stop(), ExecutionType.ASYNC);
|
}, TaskSchedule.millis(500), TaskSchedule.stop(), ExecutionType.TICK_END);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import net.minestom.server.item.Material;
|
|||||||
|
|
||||||
public class Towerdefense extends StatelessGame {
|
public class Towerdefense extends StatelessGame {
|
||||||
public Towerdefense() {
|
public Towerdefense() {
|
||||||
super(Dimension.NETHER.DIMENSION, "Towerdefense", new NoScore());
|
super(Dimension.NETHER.key, "Towerdefense", new NoScore());
|
||||||
|
|
||||||
setGenerator(new MazeGenerator());
|
setGenerator(new MazeGenerator());
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ class TrafficLightRace extends StatelessGame {
|
|||||||
private final List<Pos> trafficLights = new ArrayList<>();
|
private final List<Pos> trafficLights = new ArrayList<>();
|
||||||
|
|
||||||
public TrafficLightRace(int width, int length) {
|
public TrafficLightRace(int width, int length) {
|
||||||
super(Dimension.THE_END.DIMENSION, "Ampelrennen", new FirstWinsScore());
|
super(Dimension.THE_END.key, "Ampelrennen", new FirstWinsScore());
|
||||||
this.width = width;
|
this.width = width;
|
||||||
this.length = length;
|
this.length = length;
|
||||||
|
|
||||||
@ -150,7 +150,7 @@ class TrafficLightRace extends StatelessGame {
|
|||||||
BatchUtil.loadAndApplyBatch(changeLightsBatch, this, () -> {});
|
BatchUtil.loadAndApplyBatch(changeLightsBatch, this, () -> {});
|
||||||
|
|
||||||
return phase.taskScheduleRandomDuration();
|
return phase.taskScheduleRandomDuration();
|
||||||
}, ExecutionType.SYNC);
|
}, ExecutionType.TICK_END);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -9,7 +9,7 @@ import eu.mhsl.minenet.minigames.instance.Dimension;
|
|||||||
import net.minestom.server.MinecraftServer;
|
import net.minestom.server.MinecraftServer;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.event.player.*;
|
import net.minestom.server.event.player.*;
|
||||||
import net.minestom.server.instance.AnvilLoader;
|
import net.minestom.server.instance.anvil.AnvilLoader;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ public class Hub extends MineNetInstance implements Spawnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Hub() {
|
private Hub() {
|
||||||
super(Dimension.THE_END.DIMENSION);
|
super(Dimension.THE_END.key);
|
||||||
setChunkLoader(new AnvilLoader(Path.of("maps/hub")));
|
setChunkLoader(new AnvilLoader(Path.of("maps/hub")));
|
||||||
|
|
||||||
setTime(18000);
|
setTime(18000);
|
||||||
|
@ -5,7 +5,6 @@ import eu.mhsl.minenet.minigames.message.component.TranslatedComponent;
|
|||||||
import eu.mhsl.minenet.minigames.shared.inventory.InteractableInventory;
|
import eu.mhsl.minenet.minigames.shared.inventory.InteractableInventory;
|
||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.inventory.InventoryType;
|
import net.minestom.server.inventory.InventoryType;
|
||||||
import net.minestom.server.item.ItemHideFlag;
|
|
||||||
import net.minestom.server.item.ItemStack;
|
import net.minestom.server.item.ItemStack;
|
||||||
import net.minestom.server.item.Material;
|
import net.minestom.server.item.Material;
|
||||||
|
|
||||||
@ -16,9 +15,8 @@ public class HubInventory extends InteractableInventory {
|
|||||||
setClickableItem(
|
setClickableItem(
|
||||||
ItemStack
|
ItemStack
|
||||||
.builder(Material.WRITABLE_BOOK)
|
.builder(Material.WRITABLE_BOOK)
|
||||||
.displayName(TranslatedComponent.assemble("hub#create", p))
|
.customName(TranslatedComponent.assemble("hub#create", p))
|
||||||
.lore(TranslatedComponent.assemble("hub#create_description", p))
|
.lore(TranslatedComponent.assemble("hub#create_description", p))
|
||||||
.meta(metaBuilder -> metaBuilder.hideFlag(ItemHideFlag.HIDE_ATTRIBUTES))
|
|
||||||
.build(),
|
.build(),
|
||||||
12,
|
12,
|
||||||
itemClick -> Room.createRoom(itemClick.getPlayer()),
|
itemClick -> Room.createRoom(itemClick.getPlayer()),
|
||||||
@ -28,7 +26,7 @@ public class HubInventory extends InteractableInventory {
|
|||||||
setClickableItem(
|
setClickableItem(
|
||||||
ItemStack
|
ItemStack
|
||||||
.builder(Material.KNOWLEDGE_BOOK)
|
.builder(Material.KNOWLEDGE_BOOK)
|
||||||
.displayName(TranslatedComponent.assemble("hub#join", p))
|
.customName(TranslatedComponent.assemble("hub#join", p))
|
||||||
.lore(TranslatedComponent.assemble("hub#join_description", p))
|
.lore(TranslatedComponent.assemble("hub#join_description", p))
|
||||||
.build(),
|
.build(),
|
||||||
14,
|
14,
|
||||||
|
@ -29,7 +29,7 @@ public class JoinInventory extends InteractableInventory {
|
|||||||
|
|
||||||
setClickableItem(
|
setClickableItem(
|
||||||
ItemStack.builder(Material.GREEN_STAINED_GLASS_PANE)
|
ItemStack.builder(Material.GREEN_STAINED_GLASS_PANE)
|
||||||
.displayName(Component.text(prefix))
|
.customName(Component.text(prefix))
|
||||||
.build(),
|
.build(),
|
||||||
0,
|
0,
|
||||||
itemClick -> {}
|
itemClick -> {}
|
||||||
@ -51,7 +51,7 @@ public class JoinInventory extends InteractableInventory {
|
|||||||
|
|
||||||
typedText = formatInput(typedText);
|
typedText = formatInput(typedText);
|
||||||
|
|
||||||
Optional<Room> target = Room.getRoom(MinecraftServer.getConnectionManager().findPlayer(typedText));
|
Optional<Room> target = Room.getRoom(MinecraftServer.getConnectionManager().findOnlinePlayer(typedText));
|
||||||
if(target.isPresent())
|
if(target.isPresent())
|
||||||
Room.setRoom(player, target.get());
|
Room.setRoom(player, target.get());
|
||||||
else
|
else
|
||||||
|
@ -17,7 +17,7 @@ import net.minestom.server.entity.GameMode;
|
|||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
||||||
import net.minestom.server.event.player.PlayerDisconnectEvent;
|
import net.minestom.server.event.player.PlayerDisconnectEvent;
|
||||||
import net.minestom.server.instance.AnvilLoader;
|
import net.minestom.server.instance.anvil.AnvilLoader;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
@ -85,14 +85,14 @@ public class Room extends MineNetInstance implements Spawnable {
|
|||||||
private GameSelector gameSelector;
|
private GameSelector gameSelector;
|
||||||
private final Tournament tournament = new Tournament();
|
private final Tournament tournament = new Tournament();
|
||||||
private Room(Player owner) {
|
private Room(Player owner) {
|
||||||
super(Dimension.THE_END.DIMENSION);
|
super(Dimension.THE_END.key);
|
||||||
this.apiDriven = false;
|
this.apiDriven = false;
|
||||||
construct();
|
construct();
|
||||||
setOwner(owner);
|
setOwner(owner);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Room() {
|
protected Room() {
|
||||||
super(Dimension.THE_END.DIMENSION);
|
super(Dimension.THE_END.key);
|
||||||
this.apiDriven = true;
|
this.apiDriven = true;
|
||||||
construct();
|
construct();
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@ import eu.mhsl.minenet.minigames.shared.inventory.InteractableInventory;
|
|||||||
import eu.mhsl.minenet.minigames.util.InventoryItemAlignment;
|
import eu.mhsl.minenet.minigames.util.InventoryItemAlignment;
|
||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.inventory.InventoryType;
|
import net.minestom.server.inventory.InventoryType;
|
||||||
import net.minestom.server.item.ItemHideFlag;
|
|
||||||
import net.minestom.server.item.ItemStack;
|
import net.minestom.server.item.ItemStack;
|
||||||
import net.minestom.server.item.Material;
|
import net.minestom.server.item.Material;
|
||||||
|
|
||||||
@ -29,7 +28,7 @@ public class MinigameSelectInventory extends InteractableInventory {
|
|||||||
for (GameType type : GameType.values()) {
|
for (GameType type : GameType.values()) {
|
||||||
setClickableItem(
|
setClickableItem(
|
||||||
ItemStack.builder(type.getIcon())
|
ItemStack.builder(type.getIcon())
|
||||||
.displayName(type.getTitle().getAssembled(p))
|
.customName(type.getTitle().getAssembled(p))
|
||||||
.lore(type.getDescription().addWrap().getWrappedAssembled(p))
|
.lore(type.getDescription().addWrap().getWrappedAssembled(p))
|
||||||
.build(),
|
.build(),
|
||||||
itemAlignment.next().get(),
|
itemAlignment.next().get(),
|
||||||
@ -58,9 +57,8 @@ public class MinigameSelectInventory extends InteractableInventory {
|
|||||||
|
|
||||||
setClickableItem(
|
setClickableItem(
|
||||||
ItemStack.builder(gameFactory.symbol())
|
ItemStack.builder(gameFactory.symbol())
|
||||||
.displayName(gameFactory.name().getAssembled(p))
|
.customName(gameFactory.name().getAssembled(p))
|
||||||
.lore(gameFactory.description().addWrap().getWrappedAssembled(p))
|
.lore(gameFactory.description().addWrap().getWrappedAssembled(p))
|
||||||
.meta(metaBuilder -> metaBuilder.hideFlag(ItemHideFlag.HIDE_ATTRIBUTES))
|
|
||||||
.build(),
|
.build(),
|
||||||
offset + itemAlignment.next().get(),
|
offset + itemAlignment.next().get(),
|
||||||
itemClick -> itemClick.getPlayer().openInventory(new GameConfigurationInventory(room, itemClick.getPlayer(), gameFactory))
|
itemClick -> itemClick.getPlayer().openInventory(new GameConfigurationInventory(room, itemClick.getPlayer(), gameFactory))
|
||||||
|
@ -10,7 +10,7 @@ import net.minestom.server.instance.block.Block;
|
|||||||
|
|
||||||
public class Transfer extends MineNetInstance implements Spawnable {
|
public class Transfer extends MineNetInstance implements Spawnable {
|
||||||
public Transfer() {
|
public Transfer() {
|
||||||
super(Dimension.THE_END.DIMENSION);
|
super(Dimension.THE_END.key);
|
||||||
eventNode().addListener(PlayerMoveEvent.class, CommonEventHandles::cancel);
|
eventNode().addListener(PlayerMoveEvent.class, CommonEventHandles::cancel);
|
||||||
setBlock(0, 0, 0, Block.BARRIER);
|
setBlock(0, 0, 0, Block.BARRIER);
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ import net.minestom.server.MinecraftServer;
|
|||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.entity.*;
|
import net.minestom.server.entity.*;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
import net.minestom.server.instance.AnvilLoader;
|
import net.minestom.server.instance.anvil.AnvilLoader;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ public class TournamentDisplay extends MineNetInstance implements Spawnable {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public TournamentDisplay(Tournament tournament) {
|
public TournamentDisplay(Tournament tournament) {
|
||||||
super(Dimension.OVERWORLD.DIMENSION);
|
super(Dimension.OVERWORLD.key);
|
||||||
setChunkLoader(new AnvilLoader(Resource.RESULT_DISPLAY.getPath()));
|
setChunkLoader(new AnvilLoader(Resource.RESULT_DISPLAY.getPath()));
|
||||||
this.places = tournament.getPlaces();
|
this.places = tournament.getPlaces();
|
||||||
this.tournament = tournament;
|
this.tournament = tournament;
|
||||||
|
@ -14,7 +14,7 @@ public class ByPlayerNameUuidProvider implements UuidProvider {
|
|||||||
public UUID provide(PlayerConnection playerConnection, String username) {
|
public UUID provide(PlayerConnection playerConnection, String username) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
if(MinecraftServer.getConnectionManager().getPlayer(username) != null) throw new IllegalStateException();
|
if(MinecraftServer.getConnectionManager().findOnlinePlayer(username) != null) throw new IllegalStateException();
|
||||||
String client = MojangUtils.fromUsername(username).get("id").getAsString();
|
String client = MojangUtils.fromUsername(username).get("id").getAsString();
|
||||||
return UuidUtil.unTrimm(client);
|
return UuidUtil.unTrimm(client);
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ public class InteractableInventory extends Inventory {
|
|||||||
|
|
||||||
protected void setDummyItem(Material material, int slot) {
|
protected void setDummyItem(Material material, int slot) {
|
||||||
this.setDummyItem(
|
this.setDummyItem(
|
||||||
ItemStack.builder(material).displayName(Component.text("")).build(),
|
ItemStack.builder(material).customName(Component.text("")).build(),
|
||||||
slot
|
slot
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,6 @@ public class SkinCache {
|
|||||||
MinecraftServer.getSchedulerManager().submitTask(() -> {
|
MinecraftServer.getSchedulerManager().submitTask(() -> {
|
||||||
p.setSkin(SkinCache.getSkin(p.getUsername()));
|
p.setSkin(SkinCache.getSkin(p.getUsername()));
|
||||||
return TaskSchedule.stop();
|
return TaskSchedule.stop();
|
||||||
}, ExecutionType.ASYNC);
|
}, ExecutionType.TICK_END);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@ import net.minestom.server.entity.GameMode;
|
|||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.entity.PlayerSkin;
|
import net.minestom.server.entity.PlayerSkin;
|
||||||
import net.minestom.server.network.packet.server.play.PlayerInfoUpdatePacket;
|
import net.minestom.server.network.packet.server.play.PlayerInfoUpdatePacket;
|
||||||
import net.minestom.server.network.packet.server.play.SpawnPlayerPacket;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -32,9 +31,9 @@ public class PacketUtil {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
p.sendPacket(
|
// p.sendPacket( //TODO spawnPlayerPacket does no longer exists
|
||||||
new SpawnPlayerPacket(player.getEntityId(), player.getUuid(), player.getPosition())
|
// new SpawnPlayerPacket(player.getEntityId(), player.getUuid(), player.getPosition())
|
||||||
);
|
// );
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package eu.mhsl.minenet.minigames.util;
|
|||||||
import com.google.common.io.ByteArrayDataOutput;
|
import com.google.common.io.ByteArrayDataOutput;
|
||||||
import com.google.common.io.ByteStreams;
|
import com.google.common.io.ByteStreams;
|
||||||
import net.minestom.server.entity.Player;
|
import net.minestom.server.entity.Player;
|
||||||
import net.minestom.server.network.packet.server.play.PluginMessagePacket;
|
import net.minestom.server.network.packet.server.common.PluginMessagePacket;
|
||||||
|
|
||||||
public class PluginMessageUtil {
|
public class PluginMessageUtil {
|
||||||
private static final String bungeeTargetSelector = "bungeecord:main";
|
private static final String bungeeTargetSelector = "bungeecord:main";
|
||||||
|
@ -24,6 +24,6 @@ public class WeatherUtils {
|
|||||||
} else {
|
} else {
|
||||||
return TaskSchedule.stop();
|
return TaskSchedule.stop();
|
||||||
}
|
}
|
||||||
}, ExecutionType.ASYNC);
|
}, ExecutionType.TICK_END);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,7 @@ public class SquarePlateTerrainGenerator extends PlateTerrainGenerator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(generateBorders) {
|
if(generateBorders) {
|
||||||
Runnable generateBorder = () -> unit.modifier().fill(bottom, bottom.add(1, DimensionType.OVERWORLD.getMaxY(), 1), Block.BARRIER);
|
Runnable generateBorder = () -> unit.modifier().fill(bottom, bottom.add(1, 0, 1), Block.BARRIER); // TODO DimensionType.OVERWORLD.getMaxY() is now hardcoded 0, might break behaviour
|
||||||
|
|
||||||
if(bottom.z() <= length+1 && bottom.z() >= -1 && bottom.x() >= -1 && bottom.x() <= width+1) {
|
if(bottom.z() <= length+1 && bottom.z() >= -1 && bottom.x() >= -1 && bottom.x() <= width+1) {
|
||||||
if(bottom.x() == -1 || bottom.x() == width+1) {
|
if(bottom.x() == -1 || bottom.x() == width+1) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user