Added extraction talisman

This commit is contained in:
Auxilor
2021-01-01 20:46:58 +00:00
parent 9448ed5107
commit df67dc21d5
4 changed files with 61 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ import com.willfp.talismans.talismans.talismans.ArcheryTalisman;
import com.willfp.talismans.talismans.talismans.CreeperTalisman;
import com.willfp.talismans.talismans.talismans.EndTalisman;
import com.willfp.talismans.talismans.talismans.ExperienceTalisman;
import com.willfp.talismans.talismans.talismans.ExtractionTalisman;
import com.willfp.talismans.talismans.talismans.FeatherTalisman;
import com.willfp.talismans.talismans.talismans.FlameTalisman;
import com.willfp.talismans.talismans.talismans.NetherTalisman;
@@ -47,6 +48,7 @@ public class Talismans {
public static final Talisman ARCHERY_TALISMAN = new ArcheryTalisman();
public static final Talisman POSEIDON_TALISMAN = new PoseidonTalisman();
public static final Talisman EXPERIENCE_TALISMAN = new ExperienceTalisman();
public static final Talisman EXTRACTION_TALISMAN = new ExtractionTalisman();
/**
* Get all registered {@link Talisman}s.

View File

@@ -0,0 +1,30 @@
package com.willfp.talismans.talismans.talismans;
import com.willfp.eco.util.drops.DropQueue;
import com.willfp.talismans.talismans.Talisman;
import com.willfp.talismans.talismans.Talismans;
import com.willfp.talismans.talismans.util.TalismanUtils;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockBreakEvent;
import org.jetbrains.annotations.NotNull;
public class ExtractionTalisman extends Talisman {
public ExtractionTalisman() {
super("extraction_talisman");
}
@Override
public void onBlockBreak(@NotNull final Player player,
@NotNull final Block block,
@NotNull final BlockBreakEvent event) {
if (!TalismanUtils.passedChance(this)) {
return;
}
new DropQueue(player)
.addXP(this.getConfig().getInt(Talismans.CONFIG_LOCATION + "xp-amount"))
.setLocation(block.getLocation())
.push();
}
}

View File

@@ -19,7 +19,7 @@ public class TalismanUtils {
* @return If the talisman should then be executed.
*/
public static boolean passedChance(@NotNull final Talisman talisman) {
return NumberUtils.randFloat(0, 1) < (talisman.getConfig().getDouble(Talismans.CONFIG_LOCATION + "chance-per-level") / 100);
return NumberUtils.randFloat(0, 1) < (talisman.getConfig().getDouble(Talismans.CONFIG_LOCATION + "chance") / 100);
}
/**

View File

@@ -0,0 +1,28 @@
name: "Extraction Talisman"
description: Chance to get xp while mining.
enabled: true
obtaining:
# 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:
- cobblestone
- stone
- cobblestone
- stone
- gold_block
- stone
- cobblestone
- stone
- cooblestone
general-config:
disabled-in-worlds: []
# Texture is base64, https://minecraft-heads.com has a list of skulls.
texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjU2NjM0YjU1NmNhZjUzODJkZTY1MDM4YTEwZTRkNzljN2MxODY5NTA0ODU5OWRmNzRmOWM2N2MxZTFlODczNiJ9fX0=
config:
chance: 5
xp-amount: 10