diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/los/numeros/HidersAndDiggers/modules/MainModule.java | 70 | ||||
-rw-r--r-- | src/main/java/los/numeros/utils/GiveItem.java | 36 |
2 files changed, 106 insertions, 0 deletions
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); + } +} |