aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.factorypath20
-rw-r--r--src/main/java/los/numeros/HidersAndDiggers/modules/MainModule.java70
-rw-r--r--src/main/java/los/numeros/utils/GiveItem.java36
3 files changed, 116 insertions, 10 deletions
diff --git a/.factorypath b/.factorypath
index 1101514..c7088aa 100644
--- a/.factorypath
+++ b/.factorypath
@@ -1,12 +1,12 @@
<factorypath>
- <factorypathentry kind="EXTJAR" id="/home/squibid/.local/share/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/squibid/.local/share/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/squibid/.local/share/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/squibid/.local/share/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/squibid/.local/share/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/squibid/.local/share/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/squibid/.local/share/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"/>
- <factorypathentry kind="EXTJAR" id="/home/squibid/.local/share/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/squibid/.local/share/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/squibid/.local/share/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/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/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
diff --git a/src/main/java/los/numeros/utils/GiveItem.java b/src/main/java/los/numeros/utils/GiveItem.java
new file mode 100644
index 0000000..d42207d
--- /dev/null
+++ b/src/main/java/los/numeros/utils/GiveItem.java
@@ -0,0 +1,36 @@
+package los.numeros.utils;
+
+import java.text.AttributedCharacterIterator.Attribute;
+
+import net.minecraft.enchantment.Enchantment;
+import net.minecraft.enchantment.Enchantments;
+import net.minecraft.enchantment.UnbreakingEnchantment;
+import net.minecraft.entity.attribute.EntityAttribute;
+import net.minecraft.entity.attribute.EntityAttributeModifier;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.server.network.ServerPlayerEntity;
+import net.minecraft.util.Identifier;
+import net.minecraft.util.registry.Registry;
+
+public class GiveItem {
+ public static final int ARMOR_HEAD = 103;
+ public static final int ARMOR_CHEST = 102;
+ public static final int ARMOR_LEGS = 101;
+ public static final int ARMOR_BOOTS = 100;
+
+ public static void givePlayerItem(ServerPlayerEntity player, String itemID) {
+ ItemStack item = new ItemStack(Registry.ITEM.get(new Identifier(itemID)));
+ player.inventory.insertStack(item);
+ }
+
+ public static ItemStack givePlayerSpecialItem(ServerPlayerEntity player, String itemID) {
+ ItemStack item = new ItemStack(Registry.ITEM.get(new Identifier(itemID)));
+ return item;
+ }
+
+ public static void setPlayerSlot(ServerPlayerEntity player, String itemID, int slot) {
+ ItemStack item = new ItemStack(Registry.ITEM.get(new Identifier(itemID)));
+ player.equip(slot, item);
+ }
+}