diff options
Diffstat (limited to '')
-rw-r--r-- | .factorypath | 12 | ||||
-rw-r--r-- | src/main/java/los/numeros/HidersAndDiggers/Main.java | 55 | ||||
-rw-r--r-- | src/main/java/los/numeros/command/HidersAndDiggersCommand.java | 2 |
3 files changed, 51 insertions, 18 deletions
diff --git a/.factorypath b/.factorypath deleted file mode 100644 index c7088aa..0000000 --- a/.factorypath +++ /dev/null @@ -1,12 +0,0 @@ -<factorypath> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.6/aa205cf0a06dbd8e04ece91c0b37c3f5d567546a/asm-9.6.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.6/f77caf84eb93786a749b2baa40865b9613e3eaee/asm-util-9.6.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/net.fabricmc/mapping-io/0.2.1/2a1aeedce104191bbb9e39e26abfbfeaf9b0590b/mapping-io-0.2.1.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.6/9ce6c7b174bd997fc2552dff47964546bd7a5ec3/asm-analysis-9.6.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/io.github.llamalad7/mixinextras-fabric/0.3.5/3b577be20ea942610b3045e4f0cd909fa415a9d3/mixinextras-fabric-0.3.5.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.6/c0cdda9d211e965d2a4448aa3fd86110f2f8c2de/asm-tree-9.6.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/fabric-loom/1.16.5/net.fabricmc.yarn.1_16_5.1.16.5+build.10-v2/mappings.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.6/f1a9e5508eff490744144565c47326c8648be309/asm-commons-9.6.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/net.fabricmc/fabric-mixin-compile-extensions/0.6.0/6fda0c85c419f0a259da017a1424f27507eb30f0/fabric-mixin-compile-extensions-0.6.0.jar" enabled="true" runInBatchMode="false"/> - <factorypathentry kind="EXTJAR" id="/home/max/.gradle/caches/modules-2/files-2.1/net.fabricmc/sponge-mixin/0.13.3+mixin.0.8.5/9527e6b0d2449408958fd1302594dc65ec5ade9c/sponge-mixin-0.13.3+mixin.0.8.5.jar" enabled="true" runInBatchMode="false"/> -</factorypath> diff --git a/src/main/java/los/numeros/HidersAndDiggers/Main.java b/src/main/java/los/numeros/HidersAndDiggers/Main.java index f5fb21c..951b530 100644 --- a/src/main/java/los/numeros/HidersAndDiggers/Main.java +++ b/src/main/java/los/numeros/HidersAndDiggers/Main.java @@ -1,29 +1,74 @@ package los.numeros.HidersAndDiggers; +import java.util.Random; +import java.util.UUID; import java.util.Collection; +import java.util.Date; import java.util.function.BooleanSupplier; import los.numeros.GameEngine.Engine; import los.numeros.GameEngine.Module; import net.fabricmc.fabric.api.networking.v1.PlayerLookup; +import net.minecraft.network.MessageType; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.text.LiteralText; import los.numeros.HidersAndDiggers.modules.*; public class Main implements Engine { BooleanSupplier running = () -> { return true; }; Module modules[]; - public Main(MinecraftServer server) { + public Main(MinecraftServer server, int numDiggers) { + int i; + ServerPlayerEntity[] players, diggers, hiders; + Random r = new Random(new Date().getTime()); + /* get all the players on the server */ - Collection<ServerPlayerEntity> players = PlayerLookup.all(server); - - /* print out all players on the server */ + Collection<ServerPlayerEntity> playerCollection = PlayerLookup.all(server); + players = playerCollection.toArray(new ServerPlayerEntity[playerCollection.size()]); + + /* create the hiders and diggers array of appropriate sizes */ + diggers = new ServerPlayerEntity[numDiggers]; + hiders = new ServerPlayerEntity[players.length]; + + /* too few players to start the game */ + if (players.length <= 2) { + /* send a message letting everyone know there aren't enough players to start the game */ + server.getPlayerManager().broadcastChatMessage( + new LiteralText("Not enough players to start the game"), + MessageType.SYSTEM, + new UUID(0, 0) + ); + return; + } + + /* creates an array of diggers */ + for (i = 0; numDiggers > 0; numDiggers--, i++) { + /* TODO: make sure the same person isn't picked to be all of the diggers */ + diggers[i] = players[r.nextInt(players.length)]; + } + + /* creates an array of hiders */ for (ServerPlayerEntity p : players) { - System.out.println(p.getEntityName()); + i = 0; + + /* add all players who arent diggers to the hiders array */ + if (!hasPlayer(diggers, p)) { + hiders[i++] = p; + } } /* start the game */ Engine.StartEngine(running, modules); } + + private boolean hasPlayer(ServerPlayerEntity[] array, ServerPlayerEntity player) + { + for (ServerPlayerEntity p : array) { + if (p == player) + return true; + } + return false; + } } diff --git a/src/main/java/los/numeros/command/HidersAndDiggersCommand.java b/src/main/java/los/numeros/command/HidersAndDiggersCommand.java index eed4eed..8e27655 100644 --- a/src/main/java/los/numeros/command/HidersAndDiggersCommand.java +++ b/src/main/java/los/numeros/command/HidersAndDiggersCommand.java @@ -24,7 +24,7 @@ public class HidersAndDiggersCommand { MinecraftServer server = ctx.getSource().getMinecraftServer(); /* pass in the minecraft server object and start it */ - new Main(server); + new Main(server, 1); return 0; } |