From 66243b3272175e758482babfc5f77dcbf44faffb Mon Sep 17 00:00:00 2001
From: Frog-That-code <max@kawallski.localdomain>
Date: Wed, 5 Jun 2024 15:57:34 -0400
Subject: add giving item to players in main module

---
 .../HidersAndDiggers/modules/MainModule.java       | 70 ++++++++++++++++++++++
 1 file changed, 70 insertions(+)
 create mode 100644 src/main/java/los/numeros/HidersAndDiggers/modules/MainModule.java

(limited to 'src/main/java/los/numeros/HidersAndDiggers/modules/MainModule.java')

diff --git a/src/main/java/los/numeros/HidersAndDiggers/modules/MainModule.java b/src/main/java/los/numeros/HidersAndDiggers/modules/MainModule.java
new file mode 100644
index 0000000..8c1b2b3
--- /dev/null
+++ b/src/main/java/los/numeros/HidersAndDiggers/modules/MainModule.java
@@ -0,0 +1,70 @@
+package los.numeros.HidersAndDiggers.modules;
+
+import los.numeros.GameEngine.Module;
+import los.numeros.utils.GiveItem;
+import net.minecraft.enchantment.Enchantment;
+import net.minecraft.enchantment.Enchantments;
+import net.minecraft.entity.effect.StatusEffectInstance;
+import net.minecraft.entity.effect.StatusEffects;
+import net.minecraft.item.ItemStack;
+import net.minecraft.server.network.ServerPlayerEntity;
+import net.minecraft.world.GameMode;
+
+public class MainModule implements Module {
+  ServerPlayerEntity[] diggers, hidders, players;
+
+  public MainModule(ServerPlayerEntity[] diggers, ServerPlayerEntity[] hidders, ServerPlayerEntity[] players) {
+    this.diggers = diggers;
+    this.hidders = hidders;
+    this.players = players;
+  }
+
+  public void giveDiggerItems(ServerPlayerEntity[] diggers) {
+    for (ServerPlayerEntity p : diggers) {
+      GiveItem.setPlayerSlot(p, "diamond_helmet", GiveItem.ARMOR_HEAD);
+      GiveItem.setPlayerSlot(p, "diamond_leggings", GiveItem.ARMOR_LEGS);
+      GiveItem.setPlayerSlot(p, "diamond_chestplate", GiveItem.ARMOR_CHEST);
+      GiveItem.setPlayerSlot(p, "diamond_boots", GiveItem.ARMOR_BOOTS);
+      GiveItem.setPlayerSlot(p, "iron_sword", 0);
+      ItemStack pickaxe = GiveItem.givePlayerSpecialItem(p, "diamond_pickaxe");
+      pickaxe.addEnchantment(Enchantments.EFFICIENCY, 3);
+      pickaxe.addEnchantment(Enchantments.UNBREAKING, 255); // TODO: add item attribute unbreakable
+      p.equip(1, pickaxe);
+    }
+  }
+
+  public void giveHidersItems(ServerPlayerEntity[] hidders) {
+    for (ServerPlayerEntity p : hidders) {
+      ItemStack pickaxe = GiveItem.givePlayerSpecialItem(p, "diamond_pickaxe");
+      pickaxe.addEnchantment(Enchantments.SILK_TOUCH, 1);
+      pickaxe.addEnchantment(Enchantments.UNBREAKING, 255); // TODO: add item attribute unbreakable
+      p.equip(0, pickaxe);
+      GiveItem.setPlayerSlot(p, "minecraft:stone", 1);
+    }
+  }
+
+  @Override
+  public int init()
+  {
+    giveHidersItems(hidders);
+    giveDiggerItems(diggers);
+    for (ServerPlayerEntity p : players) {
+      p.addStatusEffect(new StatusEffectInstance(StatusEffects.NIGHT_VISION, 200000000, 3, false, false));
+      p.addStatusEffect(new StatusEffectInstance(StatusEffects.HASTE, 200000000, 1, false, false));
+      p.addStatusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 300, 100, false, false)); // TODO: Rplace with jsut setting health/hunger
+      p.addStatusEffect(new StatusEffectInstance(StatusEffects.SATURATION, 300, 100, false, false));
+      // TODO: add haste
+      // TODO: add beef x64
+      p.setGameMode(GameMode.SURVIVAL);
+    }
+    // TODO: FILL AND TP PLAYERS AND CLEAR ALL ITEMS
+    return 0;
+  }
+  
+  @Override
+  public int end()
+  {
+
+    return 0;
+  }
+}
\ No newline at end of file
-- 
cgit v1.2.1