diff --git a/eco-extensions/build.gradle b/eco-extensions/build.gradle new file mode 100644 index 0000000..7a28c33 --- /dev/null +++ b/eco-extensions/build.gradle @@ -0,0 +1,15 @@ +group 'com.willfp' +description = 'Extension Parent' + +subprojects { + dependencies { + compileOnly project(":eco-core:core-plugin") + compileOnly 'org.spigotmc:spigot-api:1.16.4-R0.1-SNAPSHOT' + } + + tasks.withType(Jar) { + destinationDirectory = file("$rootDir/bin/") + } + + tasks.jar.enabled = false +} \ No newline at end of file diff --git a/eco-extensions/fossil/build.gradle b/eco-extensions/fossil/build.gradle new file mode 100644 index 0000000..2877ec9 --- /dev/null +++ b/eco-extensions/fossil/build.gradle @@ -0,0 +1,7 @@ +group 'com.willfp' +version '1.0.0' +description = 'Fossil Extension' + +shadowJar { + archiveFileName = project.getDescription() + " v" + project.version + ".jar" +} \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilConfig.java b/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilConfig.java new file mode 100644 index 0000000..59da5ef --- /dev/null +++ b/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilConfig.java @@ -0,0 +1,10 @@ +package com.willfp.talismans.fossil; + +import com.willfp.eco.util.config.ExtendableConfig; +import com.willfp.talismans.TalismansPlugin; + +public class FossilConfig extends ExtendableConfig { + public FossilConfig() { + super("config", true, TalismansPlugin.getInstance(), FossilMain.class, "talismans/fossil/"); + } +} diff --git a/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilMain.java b/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilMain.java new file mode 100644 index 0000000..0b8e917 --- /dev/null +++ b/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilMain.java @@ -0,0 +1,46 @@ +package com.willfp.talismans.fossil; + +import com.willfp.eco.util.extensions.Extension; +import com.willfp.eco.util.plugin.AbstractEcoPlugin; +import com.willfp.talismans.talismans.Talisman; +import com.willfp.talismans.talismans.talismans.ExperienceTalisman; +import com.willfp.talismans.talismans.talismans.FeatherTalisman; +import com.willfp.talismans.talismans.talismans.FlameTalisman; +import com.willfp.talismans.talismans.talismans.FluxTalisman; +import com.willfp.talismans.talismans.talismans.HealingTalisman; +import com.willfp.talismans.talismans.talismans.ResistanceTalisman; +import com.willfp.talismans.talismans.talismans.SpeedTalisman; +import com.willfp.talismans.talismans.talismans.StrengthTalisman; +import org.jetbrains.annotations.NotNull; + +public class FossilMain extends Extension { + public static final FossilConfig CONFIG = new FossilConfig(); + + public static final Talisman EXPERIENCE_FOSSIL = new ExperienceTalisman(FossilStrength.FOSSIL); + public static final Talisman FEATHER_FOSSIL = new FeatherTalisman(FossilStrength.FOSSIL); + public static final Talisman FLAME_FOSSIL = new FlameTalisman(FossilStrength.FOSSIL); + public static final Talisman FLUX_FOSSIL = new FluxTalisman(FossilStrength.FOSSIL); + public static final Talisman HEALING_FOSSIL = new HealingTalisman(FossilStrength.FOSSIL); + public static final Talisman RESISTANCE_FOSSIL = new ResistanceTalisman(FossilStrength.FOSSIL); + public static final Talisman SPEED_FOSSIL = new SpeedTalisman(FossilStrength.FOSSIL); + public static final Talisman STRENGTH_FOSSIL = new StrengthTalisman(FossilStrength.FOSSIL); + + /** + * Instantiate fossil extension. + * + * @param plugin Instance of Talismans. + */ + public FossilMain(@NotNull final AbstractEcoPlugin plugin) { + super(plugin); + } + + @Override + protected void onEnable() { + + } + + @Override + protected void onDisable() { + + } +} diff --git a/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilStrength.java b/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilStrength.java new file mode 100644 index 0000000..0f9b85f --- /dev/null +++ b/eco-extensions/fossil/src/main/java/com/willfp/talismans/fossil/FossilStrength.java @@ -0,0 +1,21 @@ +package com.willfp.talismans.fossil; + +import com.willfp.talismans.talismans.meta.TalismanStrength; +import org.jetbrains.annotations.NotNull; + +import java.util.function.Supplier; + +public class FossilStrength extends TalismanStrength { + public static final TalismanStrength FOSSIL = new FossilStrength("fossil", () -> FossilMain.CONFIG.getString("fossil-color")); + + /** + * Create a new strength. + * + * @param name The name. + * @param colorSupplier The color supplier. + */ + protected FossilStrength(@NotNull final String name, + @NotNull final Supplier colorSupplier) { + super(name, colorSupplier); + } +} diff --git a/eco-extensions/fossil/src/main/resources/extension.yml b/eco-extensions/fossil/src/main/resources/extension.yml new file mode 100644 index 0000000..5f60038 --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/extension.yml @@ -0,0 +1,3 @@ +name: Fossil +main: com.willfp.talismans.fossil.FossilMain +version: ${projectVersion} \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/config.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/config.yml new file mode 100644 index 0000000..a396b92 --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/config.yml @@ -0,0 +1 @@ +fossil-color: "&6" \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/experiencefossil.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/experiencefossil.yml new file mode 100644 index 0000000..e984535 --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/experiencefossil.yml @@ -0,0 +1,29 @@ +name: "Experience Fossil" +description: Gain 80% more experience. +enabled: true + +obtaining: + craftable: true + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talismans:experience_relic + - talismans:experience_relic + - talismans:experience_relic + + - talismans:experience_relic + - sponge + - talismans:experience_relic + + - talismans:experience_relic + - talismans:experience_relic + - talismans:experience_relic + +general-config: + disabled-in-worlds: [] + material: player_head + # Texture is base64, https://minecraft-heads.com has a list of skulls. Ignored if material is not player_head + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTI0ZjNjODQ2ZDU1MmNiZGMzNjZkODc1MWRkNGJmYWJkZTYwYTNhZGFkNTM1YzM2MjBiMWEwYWY1ZDNmNTUzYSJ9fX0= + +config: + percentage-bonus: 80 \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/featherfossil.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/featherfossil.yml new file mode 100644 index 0000000..23eb475 --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/featherfossil.yml @@ -0,0 +1,29 @@ +name: "Feather Fossil" +description: Take 80% less fall damage. +enabled: true + +obtaining: + craftable: true + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talismans:feather_relic + - talismans:feather_relic + - talismans:feather_relic + + - talismans:feather_relic + - sponge + - talismans:feather_relic + + - talismans:feather_relic + - talismans:feather_relic + - talismans:feather_relic + +general-config: + disabled-in-worlds: [] + material: player_head + # Texture is base64, https://minecraft-heads.com has a list of skulls. Ignored if material is not player_head + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmM3ZGVhZjJkN2U3MmYyMWZjYTNhOTk2OTQ0ODFhNjc0ZjUxODVjNDRjM2I4ZjUzYjBiNDkzMTBmZTYxNzY3ZCJ9fX0= + +config: + multiplier: 0.2 \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/flamefossil.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/flamefossil.yml new file mode 100644 index 0000000..50b256b --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/flamefossil.yml @@ -0,0 +1,29 @@ +name: "Flame Fossil" +description: Take 80% less fire damage. +enabled: true + +obtaining: + craftable: true + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talismans:flame_relic + - talismans:flame_relic + - talismans:flame_relic + + - talismans:flame_relic + - sponge + - talismans:flame_relic + + - talismans:flame_relic + - talismans:flame_relic + - talismans:flame_relic + +general-config: + disabled-in-worlds: [] + material: player_head + # Texture is base64, https://minecraft-heads.com has a list of skulls. Ignored if material is not player_head + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzcxNzkzM2M0MGZiZjkzNmFhOTI4ODUxM2VmZTE5YmRhNDYwMWVmYzBlNGVjYWQyZTAyM2IwYzFkMjg0NDRiIn19fQ== + +config: + multiplier: 0.2 \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/fluxfossil.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/fluxfossil.yml new file mode 100644 index 0000000..729ad8b --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/fluxfossil.yml @@ -0,0 +1,30 @@ +name: "Flux Fossil" +description: Nearby players deal 40% more melee damage. +enabled: true + +obtaining: + craftable: true + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talismans:flux_relic + - talismans:flux_relic + - talismans:flux_relic + + - talismans:flux_relic + - sponge + - talismans:flux_relic + + - talismans:flux_relic + - talismans:flux_relic + - talismans:flux_relic + +general-config: + disabled-in-worlds: [] + material: player_head + # Texture is base64, https://minecraft-heads.com has a list of skulls. Ignored if material is not player_head + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWI4ZjIxZWRiNzExNjkwODBjMGRkNDI5MzVlZTAwMjQyYzhjYzliYjkxNjU5YWI3MDA0ODlhZjliN2M1OGUxNyJ9fX0= + +config: + distance: 8 # How close other players have to be + percent-more-damage: 40 \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/healingfossil.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/healingfossil.yml new file mode 100644 index 0000000..dcc64b1 --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/healingfossil.yml @@ -0,0 +1,29 @@ +name: "Healing Fossil" +description: Heal 80% faster. +enabled: true + +obtaining: + craftable: true + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talismans:healing_relic + - talismans:healing_relic + - talismans:healing_relic + + - talismans:healing_relic + - sponge + - talismans:healing_relic + + - talismans:healing_relic + - talismans:healing_relic + - talismans:healing_relic + +general-config: + disabled-in-worlds: [] + material: player_head + # Texture is base64, https://minecraft-heads.com has a list of skulls. Ignored if material is not player_head + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmQzNmMzMjkxZmUwMmQxNDJjNGFmMjhkZjJmNTViYjAzOTdlMTk4NTU0ZTgzNDU5OTBkYmJjZDRjMTQwMzE2YiJ9fX0= + +config: + multiplier: 0.8 \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/resistancefossil.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/resistancefossil.yml new file mode 100644 index 0000000..c682966 --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/resistancefossil.yml @@ -0,0 +1,29 @@ +name: "Resistance Fossil" +description: Take 80% less damage. +enabled: true + +obtaining: + craftable: true + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talismans:resistance_relic + - talismans:resistance_relic + - talismans:resistance_relic + + - talismans:resistance_relic + - sponge + - talismans:resistance_relic + + - talismans:resistance_relic + - talismans:resistance_relic + - talismans:resistance_relic + +general-config: + disabled-in-worlds: [] + material: player_head + # Texture is base64, https://minecraft-heads.com has a list of skulls. Ignored if material is not player_head + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWZkZTA5NjAzYjAyMjViOWQyNGE3M2EwZDNmM2UzYWYyOTA1OGQ0NDhjY2Q3Y2U1YzY3Y2QwMmZhYjBmZjY4MiJ9fX0= + +config: + percent-less-damage: 80 \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/speedfossil.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/speedfossil.yml new file mode 100644 index 0000000..6bd2e86 --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/speedfossil.yml @@ -0,0 +1,29 @@ +name: "Speed Fossil" +description: Move 40% faster. +enabled: true + +obtaining: + craftable: true + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talismans:speed_relic + - talismans:speed_relic + - talismans:speed_relic + + - talismans:speed_relic + - sponge + - talismans:speed_relic + + - talismans:speed_relic + - talismans:speed_relic + - talismans:speed_relic + +general-config: + disabled-in-worlds: [] + material: player_head + # Texture is base64, https://minecraft-heads.com has a list of skulls. Ignored if material is not player_head + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODY5NGM1Mzc2ZWFjYWY5ZTA1YmVlNDk5MTYwN2MwMTJlMTQxN2U4YmQ4NmI4NWNmMWM4ZTRlYzUwZThjYzZmYyJ9fX0= + +config: + percentage-bonus: 40 \ No newline at end of file diff --git a/eco-extensions/fossil/src/main/resources/talismans/fossil/strengthfossil.yml b/eco-extensions/fossil/src/main/resources/talismans/fossil/strengthfossil.yml new file mode 100644 index 0000000..c4a3ad4 --- /dev/null +++ b/eco-extensions/fossil/src/main/resources/talismans/fossil/strengthfossil.yml @@ -0,0 +1,29 @@ +name: "Strength Fossil" +description: Deal 80% more damage. +enabled: true + +obtaining: + craftable: true + # Recipes are left-right, top-bottom + # The first item is the top left, the second is top middle, and so on. The last is bottom right. + recipe: + - talismans:strength_relic + - talismans:strength_relic + - talismans:strength_relic + + - talismans:strength_relic + - sponge + - talismans:strength_relic + + - talismans:strength_relic + - talismans:strength_relic + - talismans:strength_relic + +general-config: + disabled-in-worlds: [] + material: player_head + # Texture is base64, https://minecraft-heads.com has a list of skulls. Ignored if material is not player_head + texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmQxMzVhMDBhMjU3MTE5NTg4OWQ5Y2NhZDExMzJhY2VlMTlmYTU1MjI2NzAyNmQ5ZTljOWFhOWU4ZjJhMzAxMiJ9fX0= + +config: + percent-more-damage: 80 \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 5b6f565..d5a3dee 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,4 +2,6 @@ rootProject.name = 'Talismans' // Core include ':eco-core' -include ':eco-core:core-plugin' \ No newline at end of file +include ':eco-core:core-plugin' +include ':eco-extensions' +include ':eco-extensions:fossil' \ No newline at end of file