added missing gradle files
This commit is contained in:
parent
541eb1e733
commit
2306308071
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,6 +1,3 @@
|
|||||||
# ---> Java
|
|
||||||
*.gradle
|
|
||||||
|
|
||||||
# Compiled class file
|
# Compiled class file
|
||||||
*.class
|
*.class
|
||||||
|
|
||||||
|
81
build.gradle
Normal file
81
build.gradle
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
|
||||||
|
//for jar packaging see https://github.com/Protonull/BasicMinestomServer/blob/master/build.gradle.kts
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id 'java'
|
||||||
|
id "com.github.johnrengelman.shadow" version "7.1.0"
|
||||||
|
}
|
||||||
|
|
||||||
|
group 'eu.mhsl.minenet'
|
||||||
|
version '1.0-SNAPSHOT'
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
//maven 'https://repo.unnamed.team/repository/unnamed-public/'
|
||||||
|
|
||||||
|
mavenCentral()
|
||||||
|
google()
|
||||||
|
|
||||||
|
maven {
|
||||||
|
url 'https://jitpack.io'
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
url "https://repo.unnamed.team/repository/unnamed-public/"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
url 'https://oss.sonatype.org/content/repositories/snapshots'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.0'
|
||||||
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.0'
|
||||||
|
|
||||||
|
//https://jitpack.io/#Minestom/Minestom
|
||||||
|
//implementation 'com.github.Minestom:Minestom:aa621021e2'
|
||||||
|
//implementation 'com.github.Minestom.Minestom:Minestom:4f7ff5b474'
|
||||||
|
// implementation 'com.github.Minestom.Minestom:Minestom:2cdb3911b0'
|
||||||
|
// implementation 'com.github.Minestom:MinestomDataGenerator:ddde11056e'
|
||||||
|
implementation 'com.github.waxeria:Minestom:e0427a36f3'
|
||||||
|
|
||||||
|
|
||||||
|
//Tools
|
||||||
|
//implementation 'com.github.Articdive.JNoise:jnoise-core:4.0.0'
|
||||||
|
implementation 'de.articdive:jnoise:3.0.2'
|
||||||
|
// implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4.2'
|
||||||
|
// implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.4'
|
||||||
|
implementation 'org.yaml:snakeyaml:2.0'
|
||||||
|
implementation 'net.md-5:bungeecord-config:1.19-R0.1-SNAPSHOT'
|
||||||
|
implementation 'org.apache.commons:commons-text:1.10.0'
|
||||||
|
implementation 'org.spongepowered:configurate-yaml:4.1.2'
|
||||||
|
|
||||||
|
|
||||||
|
//PvP
|
||||||
|
implementation 'com.github.TogAr2:MinestomPvP:35e5661'
|
||||||
|
//implementation 'com.github.TogAr2:MinestomPvP:135ec9e2b7'
|
||||||
|
|
||||||
|
|
||||||
|
// Hephaestus engine
|
||||||
|
implementation("team.unnamed:hephaestus-api:0.2.1-SNAPSHOT")
|
||||||
|
implementation("team.unnamed:hephaestus-reader-blockbench:0.2.1-SNAPSHOT")
|
||||||
|
implementation("team.unnamed:hephaestus-runtime-minestom:0.2.1-SNAPSHOT")
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks {
|
||||||
|
jar {
|
||||||
|
manifest {
|
||||||
|
attributes 'Main-Class': 'eu.mhsl.minenet.minigames.Main'
|
||||||
|
attributes 'Multi-Release': true
|
||||||
|
}
|
||||||
|
duplicatesStrategy = 'exclude'
|
||||||
|
from configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
|
||||||
|
}
|
||||||
|
build {
|
||||||
|
dependsOn(shadowJar)
|
||||||
|
}
|
||||||
|
shadowJar {
|
||||||
|
mergeServiceFiles()
|
||||||
|
archiveClassifier.set("")
|
||||||
|
}
|
||||||
|
}
|
2
settings.gradle
Normal file
2
settings.gradle
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
rootProject.name = 'Minigames'
|
||||||
|
|
@ -1,4 +0,0 @@
|
|||||||
package eu.mhsl.minenet.minigames;
|
|
||||||
|
|
||||||
public class Api {
|
|
||||||
}
|
|
@ -0,0 +1,6 @@
|
|||||||
|
package eu.mhsl.minenet.minigames.api;
|
||||||
|
|
||||||
|
import static spark.Spark.*;
|
||||||
|
|
||||||
|
public class HttpServer {
|
||||||
|
}
|
@ -18,7 +18,7 @@ public class RoomCommand extends PrivilegedCommand {
|
|||||||
|
|
||||||
Room.getAllRooms().forEach((roomInstance) -> out
|
Room.getAllRooms().forEach((roomInstance) -> out
|
||||||
.newLine()
|
.newLine()
|
||||||
.appendStatic("Owner: ").appendStatic(roomInstance.getOwner().getUsername()).newLine()
|
.appendStatic("Owner: ").appendStatic(roomInstance.getOwner() != null ? roomInstance.getOwner().getUsername() : "none").newLine()
|
||||||
.appendStatic("Players: ").appendStatic(String.valueOf(roomInstance.getAllMembers().size())).newLine()
|
.appendStatic("Players: ").appendStatic(String.valueOf(roomInstance.getAllMembers().size())).newLine()
|
||||||
.list(roomInstance.getAllMembers().stream().map(Player::getUsername).collect(Collectors.toList())).newLine());
|
.list(roomInstance.getAllMembers().stream().map(Player::getUsername).collect(Collectors.toList())).newLine());
|
||||||
|
|
||||||
|
@ -25,7 +25,8 @@ import java.util.logging.Logger;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class Room extends MineNetInstance implements Spawnable {
|
public class Room extends MineNetInstance implements Spawnable {
|
||||||
private static final Map<Player, Room> rooms = new WeakHashMap<>();
|
private static final Set<Room> rooms = new HashSet<>();
|
||||||
|
private static final Map<Player, Room> players = new WeakHashMap<>();
|
||||||
private static final Logger logger = Logger.getLogger("room");
|
private static final Logger logger = Logger.getLogger("room");
|
||||||
|
|
||||||
public static Room createRoom(Player owner) {
|
public static Room createRoom(Player owner) {
|
||||||
@ -34,15 +35,22 @@ public class Room extends MineNetInstance implements Spawnable {
|
|||||||
return getRoom(owner).orElseThrow();
|
return getRoom(owner).orElseThrow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Room createOwnerlessRoom() {
|
||||||
|
Room room = new Room();
|
||||||
|
rooms.add(room);
|
||||||
|
return room;
|
||||||
|
}
|
||||||
|
|
||||||
public static void deleteRoom(Room room) {
|
public static void deleteRoom(Room room) {
|
||||||
logger.info("Deleting room " + room.uniqueId);
|
logger.info("Deleting room " + room.uniqueId);
|
||||||
rooms.values().removeAll(Collections.singleton(room)); // remove(room) would only remove the first one
|
rooms.remove(room);
|
||||||
|
players.values().removeAll(Collections.singleton(room));
|
||||||
room.getAllMembers().forEach(player -> MoveInstance.move(player, Hub.INSTANCE));
|
room.getAllMembers().forEach(player -> MoveInstance.move(player, Hub.INSTANCE));
|
||||||
MoveInstance.forceCloseInstance(room);
|
MoveInstance.forceCloseInstance(room);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Optional<Room> getRoom(Player p) {
|
public static Optional<Room> getRoom(Player p) {
|
||||||
return Optional.ofNullable(rooms.get(p));
|
return Optional.ofNullable(players.get(p));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setOwnRoom(Player p) {
|
public static void setOwnRoom(Player p) {
|
||||||
@ -50,42 +58,45 @@ public class Room extends MineNetInstance implements Spawnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void setRoom(Player p, Room room) {
|
public static void setRoom(Player p, Room room) {
|
||||||
logger.info("Set room for player " + p.getUsername() + " to room by " + room.owner.getUsername());
|
|
||||||
p.clearEffects();
|
p.clearEffects();
|
||||||
p.clearTitle();
|
p.clearTitle();
|
||||||
p.getInventory().clear();
|
p.getInventory().clear();
|
||||||
p.setGameMode(GameMode.ADVENTURE);
|
p.setGameMode(GameMode.ADVENTURE);
|
||||||
rooms.put(p, room);
|
rooms.add(room);
|
||||||
|
players.put(p, room);
|
||||||
MoveInstance.move(p, room);
|
MoveInstance.move(p, room);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void unsetRoom(Player p) {
|
public static void unsetRoom(Player p) {
|
||||||
logger.info("Unset room for " + p.getUsername());
|
logger.info("Unset room for " + p.getUsername());
|
||||||
rooms.remove(p);
|
players.remove(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Set<Room> getAllRooms() {
|
public static Set<Room> getAllRooms() {
|
||||||
return new HashSet<>(rooms.values());
|
return rooms;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Player owner;
|
private Player owner;
|
||||||
|
public final UUID uuid = UUID.randomUUID();
|
||||||
private GameSelector gameSelector;
|
private GameSelector gameSelector;
|
||||||
private Room(Player owner) {
|
private Room(Player owner) {
|
||||||
super(Dimension.THE_END.DIMENSION);
|
super(Dimension.THE_END.DIMENSION);
|
||||||
construct();
|
construct();
|
||||||
setOwner(owner);
|
setOwner(owner);
|
||||||
this.gameSelector = new GameSelector();
|
|
||||||
this.gameSelector.setInstance(this, new Pos(0.5, 50, 19.5));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Room() {
|
protected Room() {
|
||||||
super(Dimension.THE_END.DIMENSION);
|
super(Dimension.THE_END.DIMENSION);
|
||||||
|
construct();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void construct() {
|
private void construct() {
|
||||||
MinecraftServer.getInstanceManager().registerInstance(this);
|
MinecraftServer.getInstanceManager().registerInstance(this);
|
||||||
setChunkLoader(new AnvilLoader(Resource.LOBBY_MAP.getPath()));
|
setChunkLoader(new AnvilLoader(Resource.LOBBY_MAP.getPath()));
|
||||||
|
|
||||||
|
this.gameSelector = new GameSelector();
|
||||||
|
this.gameSelector.setInstance(this, new Pos(0.5, 50, 19.5));
|
||||||
|
|
||||||
eventNode().addListener(PlayerBlockBreakEvent.class, CommonEventHandles::cancel);
|
eventNode().addListener(PlayerBlockBreakEvent.class, CommonEventHandles::cancel);
|
||||||
eventNode().addListener(PlayerDisconnectEvent.class, playerDisconnectEvent -> unsetRoom(playerDisconnectEvent.getPlayer()));
|
eventNode().addListener(PlayerDisconnectEvent.class, playerDisconnectEvent -> unsetRoom(playerDisconnectEvent.getPlayer()));
|
||||||
}
|
}
|
||||||
@ -128,7 +139,7 @@ public class Room extends MineNetInstance implements Spawnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Set<Player> getAllMembers() {
|
public Set<Player> getAllMembers() {
|
||||||
return rooms.keySet().stream()
|
return players.keySet().stream()
|
||||||
.filter(player -> getRoom(player).orElse(null) == this)
|
.filter(player -> getRoom(player).orElse(null) == this)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
}
|
}
|
||||||
|
@ -37,10 +37,7 @@ public class GameSelector extends InteractableEntity {
|
|||||||
if(playerEntityInteractEvent.getPlayer() != room.getOwner()) {
|
if(playerEntityInteractEvent.getPlayer() != room.getOwner()) {
|
||||||
abstractVillagerMeta.setHeadShakeTimer(20);
|
abstractVillagerMeta.setHeadShakeTimer(20);
|
||||||
|
|
||||||
new ChatMessage(Icon.ERROR).appendStatic("Only the room leader can start games!").newLine()
|
new ChatMessage(Icon.ERROR).appendStatic("Only the room leader can start games!").send(playerEntityInteractEvent.getPlayer());
|
||||||
.appendStatic("current leader: ").appendStatic(room.getOwner().getUsername())
|
|
||||||
.send(playerEntityInteractEvent.getPlayer());
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user