From ed16dde18060ddd90917847ae7ad1cc5a873a0ae Mon Sep 17 00:00:00 2001 From: Auxilor Date: Wed, 25 Nov 2020 12:04:42 +0000 Subject: [PATCH] Created biomes extension --- Extensions/Biomes/build.gradle | 14 +++++ .../ecoenchants/biomes/BiomesEnchantment.java | 61 +++++++++++++++++++ .../willfp/ecoenchants/biomes/BiomesMain.java | 40 ++++++++++++ .../biomes/enchants/defensive/Elevation.java | 17 ++++++ .../biomes/enchants/defensive/Glacial.java | 17 ++++++ .../enchants/defensive/HeatTreated.java | 17 ++++++ .../biomes/enchants/defensive/Oceanic.java | 17 ++++++ .../biomes/enchants/defensive/Tropical.java | 17 ++++++ .../biomes/enchants/offensive/Altitude.java | 17 ++++++ .../biomes/enchants/offensive/Aquamarine.java | 17 ++++++ .../enchants/offensive/Dehydration.java | 17 ++++++ .../biomes/enchants/offensive/Icelord.java | 17 ++++++ .../biomes/enchants/offensive/Rainforest.java | 17 ++++++ .../resources/enchants/normal/altitude.yml | 31 ++++++++++ .../resources/enchants/normal/aquamarine.yml | 31 ++++++++++ .../resources/enchants/normal/dehydration.yml | 31 ++++++++++ .../resources/enchants/normal/elevation.yml | 30 +++++++++ .../resources/enchants/normal/glacial.yml | 30 +++++++++ .../resources/enchants/normal/heattreated.yml | 30 +++++++++ .../resources/enchants/normal/icelord.yml | 31 ++++++++++ .../resources/enchants/normal/oceanic.yml | 30 +++++++++ .../resources/enchants/normal/rainforest.yml | 31 ++++++++++ .../resources/enchants/normal/tropical.yml | 30 +++++++++ .../Biomes/src/main/resources/extension.yml | 3 + settings.gradle | 5 +- 25 files changed, 597 insertions(+), 1 deletion(-) create mode 100644 Extensions/Biomes/build.gradle create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/BiomesEnchantment.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/BiomesMain.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Elevation.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Glacial.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/HeatTreated.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Oceanic.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Tropical.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Altitude.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Aquamarine.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Dehydration.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Icelord.java create mode 100644 Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Rainforest.java create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/altitude.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/aquamarine.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/dehydration.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/elevation.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/glacial.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/heattreated.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/icelord.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/oceanic.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/rainforest.yml create mode 100644 Extensions/Biomes/src/main/resources/enchants/normal/tropical.yml create mode 100644 Extensions/Biomes/src/main/resources/extension.yml diff --git a/Extensions/Biomes/build.gradle b/Extensions/Biomes/build.gradle new file mode 100644 index 00000000..5e79620a --- /dev/null +++ b/Extensions/Biomes/build.gradle @@ -0,0 +1,14 @@ +dependencies { + compileOnly 'org.spigotmc:spigot-api:1.15.2-R0.1-SNAPSHOT' + compileOnly project(':plugin') +} + +jar{ + archiveFileName = project.name + " Extension" + ".jar" +} + +description = 'Biomes' + +tasks.withType(Jar) { + destinationDirectory = file("$rootDir/bin/") +} \ No newline at end of file diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/BiomesEnchantment.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/BiomesEnchantment.java new file mode 100644 index 00000000..cad118cf --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/BiomesEnchantment.java @@ -0,0 +1,61 @@ +package com.willfp.ecoenchants.biomes; + +import com.willfp.ecoenchants.enchantments.EcoEnchant; +import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.util.optional.Prerequisite; +import org.bukkit.block.Biome; +import org.bukkit.entity.Arrow; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Trident; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; + +public abstract class BiomesEnchantment extends EcoEnchant { + protected BiomesEnchantment(String key, EnchantmentType type, Prerequisite... prerequisites) { + super(key, type, BiomesMain.class, prerequisites); + } + + public abstract boolean isValid(Biome biome); + + private boolean isInBiome(LivingEntity entity) { + Biome entityBiome = entity.getLocation().getBlock().getBiome(); + return isValid(entityBiome); + } + + @Override + public void onMeleeAttack(LivingEntity attacker, LivingEntity victim, int level, EntityDamageByEntityEvent event) { + if(!isInBiome(attacker)) + return; + + double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); + event.setDamage(event.getDamage() * (1 + (level * multiplier))); + } + + @Override + public void onDamageWearingArmor(LivingEntity victim, int level, EntityDamageEvent event) { + if(!isInBiome(victim)) + return; + + double reduction = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "reduction-per-level"); + double multiplier = 1 - ((reduction/100) * level); + event.setDamage(event.getDamage() * multiplier); + } + + @Override + public void onArrowDamage(LivingEntity attacker, LivingEntity victim, Arrow arrow, int level, EntityDamageByEntityEvent event) { + if(!isInBiome(attacker)) + return; + + double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); + event.setDamage(event.getDamage() * (1 + (level * multiplier))); + } + + @Override + public void onTridentDamage(LivingEntity attacker, LivingEntity victim, Trident trident, int level, EntityDamageByEntityEvent event) { + if(!isInBiome(attacker)) + return; + + double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier"); + event.setDamage(event.getDamage() * (1 + (level * multiplier))); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/BiomesMain.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/BiomesMain.java new file mode 100644 index 00000000..88ddf195 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/BiomesMain.java @@ -0,0 +1,40 @@ +package com.willfp.ecoenchants.biomes; + +import com.willfp.ecoenchants.EcoEnchantsPlugin; +import com.willfp.ecoenchants.biomes.enchants.defensive.*; +import com.willfp.ecoenchants.biomes.enchants.offensive.*; +import com.willfp.ecoenchants.enchantments.EcoEnchant; +import com.willfp.ecoenchants.extensions.Extension; +import org.bukkit.Bukkit; + +public class BiomesMain extends Extension { + public static final EcoEnchant ELEVATION = new Elevation(); + public static final EcoEnchant GLACIAL = new Glacial(); + public static final EcoEnchant HEAT_TREATED = new HeatTreated(); + public static final EcoEnchant OCEANIC = new Oceanic(); + public static final EcoEnchant TROPICAL = new Tropical(); + public static final EcoEnchant ALTITUDE = new Altitude(); + public static final EcoEnchant AQUAMARINE = new Aquamarine(); + public static final EcoEnchant DEHYDRATION = new Dehydration(); + public static final EcoEnchant ICELORD = new Icelord(); + public static final EcoEnchant RAINFOREST = new Rainforest(); + + @Override + public void onEnable() { + Bukkit.getPluginManager().registerEvents(ELEVATION, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(GLACIAL, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(HEAT_TREATED, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(OCEANIC, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(TROPICAL, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(ALTITUDE, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(AQUAMARINE, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(DEHYDRATION, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(ICELORD, EcoEnchantsPlugin.getInstance()); + Bukkit.getPluginManager().registerEvents(RAINFOREST, EcoEnchantsPlugin.getInstance()); + } + + @Override + public void onDisable() { + + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Elevation.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Elevation.java new file mode 100644 index 00000000..4b4a7118 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Elevation.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.defensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Elevation extends BiomesEnchantment { + public Elevation() { + super("elevation", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"mountain", "hill"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Glacial.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Glacial.java new file mode 100644 index 00000000..7ea0036e --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Glacial.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.defensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Glacial extends BiomesEnchantment { + public Glacial() { + super("glacial", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"snowy", "ice", "frozen"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/HeatTreated.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/HeatTreated.java new file mode 100644 index 00000000..ab7f8301 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/HeatTreated.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.defensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class HeatTreated extends BiomesEnchantment { + public HeatTreated() { + super("heat_treated", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"desert", "badlands", "savanna"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Oceanic.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Oceanic.java new file mode 100644 index 00000000..234afaba --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Oceanic.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.defensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Oceanic extends BiomesEnchantment { + public Oceanic() { + super("oceanic", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"ocean"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Tropical.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Tropical.java new file mode 100644 index 00000000..6a6cb7c7 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/defensive/Tropical.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.defensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Tropical extends BiomesEnchantment { + public Tropical() { + super("tropical", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"jungle"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Altitude.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Altitude.java new file mode 100644 index 00000000..b1546970 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Altitude.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.offensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Altitude extends BiomesEnchantment { + public Altitude() { + super("altitude", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"mountain", "hill"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Aquamarine.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Aquamarine.java new file mode 100644 index 00000000..75e7fe40 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Aquamarine.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.offensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Aquamarine extends BiomesEnchantment { + public Aquamarine() { + super("aquamarine", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"ocean"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Dehydration.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Dehydration.java new file mode 100644 index 00000000..bb428005 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Dehydration.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.offensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Dehydration extends BiomesEnchantment { + public Dehydration() { + super("dehydration", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"desert", "badlands", "savanna"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Icelord.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Icelord.java new file mode 100644 index 00000000..06df6a72 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Icelord.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.offensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Icelord extends BiomesEnchantment { + public Icelord() { + super("icelord", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"snowy", "ice", "frozen"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Rainforest.java b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Rainforest.java new file mode 100644 index 00000000..77918be2 --- /dev/null +++ b/Extensions/Biomes/src/main/java/com/willfp/ecoenchants/biomes/enchants/offensive/Rainforest.java @@ -0,0 +1,17 @@ +package com.willfp.ecoenchants.biomes.enchants.offensive; + +import com.willfp.ecoenchants.biomes.BiomesEnchantment; +import org.bukkit.block.Biome; + +import java.util.Arrays; + +public class Rainforest extends BiomesEnchantment { + public Rainforest() { + super("rainforest", EnchantmentType.NORMAL); + } + + @Override + public boolean isValid(Biome biome) { + return Arrays.stream(new String[]{"jungle"}).anyMatch(biome.name().toLowerCase()::contains); + } +} diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/altitude.yml b/Extensions/Biomes/src/main/resources/enchants/normal/altitude.yml new file mode 100644 index 00000000..fb0146a7 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/altitude.yml @@ -0,0 +1,31 @@ +# +# Altitude EcoEnchant +# + +name: "Altitude" +description: Deal more damage in hilly biomes. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - bow + - crossbow + - sword + - axe + - trident + grindstoneable: true + conflicts: + - aquamarine + - dehydration + - icelord + - rainforest + maximum-level: 6 + +config: + multiplier: 0.03 \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/aquamarine.yml b/Extensions/Biomes/src/main/resources/enchants/normal/aquamarine.yml new file mode 100644 index 00000000..8b807615 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/aquamarine.yml @@ -0,0 +1,31 @@ +# +# Aquamarine EcoEnchant +# + +name: "Aquamarine" +description: Deal more damage in oceans. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - bow + - crossbow + - sword + - axe + - trident + grindstoneable: true + conflicts: + - altitude + - dehydration + - icelord + - rainforest + maximum-level: 6 + +config: + multiplier: 0.03 \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/dehydration.yml b/Extensions/Biomes/src/main/resources/enchants/normal/dehydration.yml new file mode 100644 index 00000000..a5b7d5f0 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/dehydration.yml @@ -0,0 +1,31 @@ +# +# Dehydration EcoEnchant +# + +name: "Dehydration" +description: Deal more damage in hot biomes. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - bow + - crossbow + - sword + - axe + - trident + grindstoneable: true + conflicts: + - altitude + - aquamarine + - icelord + - rainforest + maximum-level: 6 + +config: + multiplier: 0.03 \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/elevation.yml b/Extensions/Biomes/src/main/resources/enchants/normal/elevation.yml new file mode 100644 index 00000000..c8965fe7 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/elevation.yml @@ -0,0 +1,30 @@ +# +# Elevation EcoEnchant +# + +name: "Elevation" +description: Take less damage in hilly biomes. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - helmet + - chestplate + - leggings + - boots + grindstoneable: true + conflicts: + - glacial + - heat_treated + - oceanic + - tropical + maximum-level: 3 + +config: + reduction-per-level: 2 # As percentage \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/glacial.yml b/Extensions/Biomes/src/main/resources/enchants/normal/glacial.yml new file mode 100644 index 00000000..5ce4badb --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/glacial.yml @@ -0,0 +1,30 @@ +# +# Glacial EcoEnchant +# + +name: "Glacial" +description: Take less damage in cold biomes. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - helmet + - chestplate + - leggings + - boots + grindstoneable: true + conflicts: + - elevation + - heat_treated + - oceanic + - tropical + maximum-level: 3 + +config: + reduction-per-level: 2 # As percentage \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/heattreated.yml b/Extensions/Biomes/src/main/resources/enchants/normal/heattreated.yml new file mode 100644 index 00000000..d661c574 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/heattreated.yml @@ -0,0 +1,30 @@ +# +# Heat Treated EcoEnchant +# + +name: "Heat Treated" +description: Take less damage in hot biomes. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - helmet + - chestplate + - leggings + - boots + grindstoneable: true + conflicts: + - elevation + - glacial + - oceanic + - tropical + maximum-level: 3 + +config: + reduction-per-level: 2 # As percentage \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/icelord.yml b/Extensions/Biomes/src/main/resources/enchants/normal/icelord.yml new file mode 100644 index 00000000..a04bc2f5 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/icelord.yml @@ -0,0 +1,31 @@ +# +# Icelord EcoEnchant +# + +name: "Icelord" +description: Deal more damage in cold biomes. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - bow + - crossbow + - sword + - axe + - trident + grindstoneable: true + conflicts: + - altitide + - aquamarine + - dehydration + - rainforest + maximum-level: 6 + +config: + multiplier: 0.03 \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/oceanic.yml b/Extensions/Biomes/src/main/resources/enchants/normal/oceanic.yml new file mode 100644 index 00000000..331902a7 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/oceanic.yml @@ -0,0 +1,30 @@ +# +# Oceanic EcoEnchant +# + +name: "Oceanic" +description: Take less damage in oceans. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - helmet + - chestplate + - leggings + - boots + grindstoneable: true + conflicts: + - elevation + - glacial + - heat_treated + - tropical + maximum-level: 3 + +config: + reduction-per-level: 2 # As percentage \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/rainforest.yml b/Extensions/Biomes/src/main/resources/enchants/normal/rainforest.yml new file mode 100644 index 00000000..2884c321 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/rainforest.yml @@ -0,0 +1,31 @@ +# +# Rainforest EcoEnchant +# + +name: "Rainforest" +description: Deal more damage in jungles. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - bow + - crossbow + - sword + - axe + - trident + grindstoneable: true + conflicts: + - altitude + - aquamarine + - dehydration + - icelord + maximum-level: 6 + +config: + multiplier: 0.03 \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/enchants/normal/tropical.yml b/Extensions/Biomes/src/main/resources/enchants/normal/tropical.yml new file mode 100644 index 00000000..bb07629c --- /dev/null +++ b/Extensions/Biomes/src/main/resources/enchants/normal/tropical.yml @@ -0,0 +1,30 @@ +# +# Tropical EcoEnchant +# + +name: "Tropical" +description: Take less damage in jungles. +enabled: true + +obtaining: + table: true + villager: true + loot: true + rarity: rare + +general-config: + targets: + - helmet + - chestplate + - leggings + - boots + grindstoneable: true + conflicts: + - elevation + - glacial + - heat_treated + - oceanic + maximum-level: 3 + +config: + reduction-per-level: 2 # As percentage \ No newline at end of file diff --git a/Extensions/Biomes/src/main/resources/extension.yml b/Extensions/Biomes/src/main/resources/extension.yml new file mode 100644 index 00000000..e70f5c36 --- /dev/null +++ b/Extensions/Biomes/src/main/resources/extension.yml @@ -0,0 +1,3 @@ +name: Biomes +main: com.willfp.ecoenchants.biomes.BiomesMain +version: 1.0.0 \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index c9d157b5..fb4f165e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -27,4 +27,7 @@ include('Summoning') findProject(':Summoning').projectDir = file('Extensions/Summoning') include('Endershot') -findProject(':Endershot').projectDir = file('Extensions/Endershot') \ No newline at end of file +findProject(':Endershot').projectDir = file('Extensions/Endershot') + +include('Biomes') +findProject(':Biomes').projectDir = file('Extensions/Biomes') \ No newline at end of file