mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-02-22 05:31:27 +01:00
Added rainbow extension
This commit is contained in:
parent
11d67a855a
commit
0f029de0c8
7
eco-extensions/rainbow/build.gradle
Normal file
7
eco-extensions/rainbow/build.gradle
Normal file
@ -0,0 +1,7 @@
|
||||
group 'com.willfp'
|
||||
version '1.0.0'
|
||||
description = 'Rainbow Extension'
|
||||
|
||||
shadowJar {
|
||||
archiveFileName = project.getDescription() + " v" + project.version + ".jar"
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
package com.willfp.ecoenchants.rainbow;
|
||||
|
||||
import com.willfp.eco.util.drops.DropQueue;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
||||
import com.willfp.ecoenchants.enchantments.util.EnchantmentUtils;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Tag;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class Rainbow extends EcoEnchant {
|
||||
public Rainbow() {
|
||||
super(
|
||||
"rainbow", EnchantmentType.NORMAL
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockBreak(@NotNull final Player player,
|
||||
@NotNull final Block block,
|
||||
final int level,
|
||||
@NotNull final BlockBreakEvent event) {
|
||||
if (player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EnchantmentUtils.passedChance(this, level)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Tag.LEAVES.isTagged(block.getType())) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDropItems(false);
|
||||
|
||||
Material toDrop;
|
||||
|
||||
List<Material> materials = new ArrayList<>();
|
||||
|
||||
for (String materialName : this.getConfig().getStrings(EcoEnchants.CONFIG_LOCATION + "items")) {
|
||||
Material material = Material.getMaterial(materialName.toUpperCase());
|
||||
if (material != null) {
|
||||
materials.add(material);
|
||||
}
|
||||
}
|
||||
|
||||
toDrop = materials.get(new Random().nextInt(materials.size()));
|
||||
|
||||
if (toDrop == null) {
|
||||
toDrop = block.getType();
|
||||
}
|
||||
|
||||
ItemStack item = new ItemStack(toDrop, 1);
|
||||
|
||||
new DropQueue(player)
|
||||
.setLocation(block.getLocation())
|
||||
.addItem(item)
|
||||
.push();
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.willfp.ecoenchants.rainbow;
|
||||
|
||||
import com.willfp.eco.util.extensions.Extension;
|
||||
import com.willfp.eco.util.plugin.AbstractEcoPlugin;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class RainbowMain extends Extension {
|
||||
public static final EcoEnchant RAINBOW = new Rainbow();
|
||||
|
||||
public RainbowMain(@NotNull final AbstractEcoPlugin plugin) {
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
// Handled by super
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
// Handled by super
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
#
|
||||
# Rainbow EcoEnchant
|
||||
#
|
||||
|
||||
name: "Rainbow"
|
||||
description: Chance to drop flowers and dyes from leaves.
|
||||
enabled: true
|
||||
|
||||
obtaining:
|
||||
table: true
|
||||
villager: true
|
||||
loot: true
|
||||
rarity: rare
|
||||
|
||||
general-config:
|
||||
targets:
|
||||
- axe
|
||||
- shears
|
||||
grindstoneable: true
|
||||
disabled-in-worlds: []
|
||||
conflicts:
|
||||
- silk_touch
|
||||
maximum-level: 4
|
||||
|
||||
config:
|
||||
items:
|
||||
- white_dye
|
||||
- orange_dye
|
||||
- magenta_dye
|
||||
- light_blue_dye
|
||||
- yellow_dye
|
||||
- lime_dye
|
||||
- pink_dye
|
||||
- gray_dye
|
||||
- light_gray_dye
|
||||
- cyan_dye
|
||||
- purple_dye
|
||||
- blue_dye
|
||||
- brown_dye
|
||||
- green_dye
|
||||
- red_dye
|
||||
- black_dye
|
||||
- dandelion
|
||||
- poppy
|
||||
- blue_orchid
|
||||
- allium
|
||||
- azure_bluet
|
||||
- red_tulip
|
||||
- orange_tulip
|
||||
- white_tulip
|
||||
- pink_tulip
|
||||
- oxeye_daisy
|
||||
- cornflower
|
||||
- lily_of_the_valley
|
||||
- wither_rose
|
||||
chance-per-level: 3 # Chance to drop item.
|
3
eco-extensions/rainbow/src/main/resources/extension.yml
Normal file
3
eco-extensions/rainbow/src/main/resources/extension.yml
Normal file
@ -0,0 +1,3 @@
|
||||
name: Rainbow
|
||||
main: com.willfp.ecoenchants.rainbow.RainbowMain
|
||||
version: ${projectVersion}
|
@ -19,6 +19,7 @@ include ':eco-extensions:endershot'
|
||||
include ':eco-extensions:firewand'
|
||||
include ':eco-extensions:mmo'
|
||||
include ':eco-extensions:precision'
|
||||
include ':eco-extensions:rainbow'
|
||||
include ':eco-extensions:sprint-artifacts'
|
||||
include ':eco-extensions:summoning'
|
||||
include ':eco-extensions:xray'
|
Loading…
Reference in New Issue
Block a user