Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
* Titles, Subtitles, and custom UI consumers. Eliminates visual stutter and client opacity resets
* through in-place packet updates and automatic background HUD suspension during playback.</p>
*/
public class TextAnimation {
public final class TextAnimation {

private static final Pattern COLOR_PATTERN = Pattern.compile("§[0-9a-fk-orA-FK-OR]");

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.moussax.blightedSMP.commands.impl;

import fr.moussax.bedrock.commands.PlayerCommand;
import fr.moussax.blightedSMP.engine.items.recipes.crafting.menu.CraftingTableMenu;
import fr.moussax.blightedSMP.engine.recipes.crafting.menu.CraftingTableMenu;
import org.bukkit.command.Command;
import org.bukkit.entity.Player;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.moussax.blightedSMP.commands.impl;

import fr.moussax.bedrock.commands.PlayerCommand;
import fr.moussax.blightedSMP.engine.items.recipes.forging.menu.ForgeMenu;
import fr.moussax.blightedSMP.engine.recipes.forging.menu.ForgeMenu;
import org.bukkit.command.Command;
import org.bukkit.entity.Player;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,16 @@
package fr.moussax.blightedSMP.commands.impl;

import fr.moussax.bedrock.utils.ItemBuilder;
import fr.moussax.bedrock.ui.actionbar.Actionbar;
import fr.moussax.blightedSMP.commands.AdminCommand;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;

import static fr.moussax.blightedSMP.engine.player.hud.PlayerHudManager.SECTION_HEALTH;

public final class TestCommand extends AdminCommand {
@Override
protected boolean executeAdmin(Player player, Command command, String label, String[] args) {

ItemStack item = new ItemBuilder(Material.COPPER_HELMET)
.setDisplayName("§fAngler Helmet")
.addEnchantment(Enchantment.UNBREAKING, 5)
.addItemFlag(ItemFlag.HIDE_ATTRIBUTES)
.addLore("",
" §8A simple garb from a simple ",
" §8craft. Though beneath the",
" §8surface, nothing is ever",
" §8quite so simple.",
"", "§f§lCOMMON"
)
.toItemStack();

player.getInventory().addItem(item);
Actionbar.sendSlotCountdown(player, SECTION_HEALTH, "§e§lIMMUNE! §f%ds", 20);
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
import fr.moussax.blightedSMP.content.items.armors.FishingArmors;
import fr.moussax.blightedSMP.content.items.armors.HomodeusArmor;
import fr.moussax.blightedSMP.content.items.armors.RocketBoots;
import fr.moussax.blightedSMP.content.items.blocks.BlightedBlockItems;
import fr.moussax.blightedSMP.content.items.blocks.BlightedBlocks;
import fr.moussax.blightedSMP.content.blocks.BlightedBlockItems;
import fr.moussax.blightedSMP.content.blocks.BlightedBlocks;
import fr.moussax.blightedSMP.content.items.materials.BlightedMaterials;
import fr.moussax.blightedSMP.content.items.materials.EndMaterials;
import fr.moussax.blightedSMP.content.items.materials.FishingMaterials;
Expand All @@ -27,9 +27,9 @@
import fr.moussax.blightedSMP.engine.entities.rituals.AncientRitual;
import fr.moussax.blightedSMP.engine.fishing.registry.FishingRegistryHandler;
import fr.moussax.blightedSMP.engine.items.BlightedItem;
import fr.moussax.blightedSMP.engine.items.blocks.BlightedBlock;
import fr.moussax.blightedSMP.engine.items.recipes.crafting.BlightedRecipe;
import fr.moussax.blightedSMP.engine.items.recipes.forging.ForgeRecipe;
import fr.moussax.blightedSMP.engine.blocks.BlightedBlock;
import fr.moussax.blightedSMP.engine.recipes.crafting.BlightedRecipe;
import fr.moussax.blightedSMP.engine.recipes.forging.ForgeRecipe;
import fr.moussax.blightedSMP.registry.RegistryModule;

import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package fr.moussax.blightedSMP.content.items.blocks;
package fr.moussax.blightedSMP.content.blocks;

import fr.moussax.blightedSMP.engine.items.BlightedItem;
import fr.moussax.blightedSMP.engine.items.ItemRarity;
import fr.moussax.blightedSMP.engine.items.ItemType;
import fr.moussax.blightedSMP.registry.RegistryModule;
import java.util.function.Consumer;
import org.bukkit.Material;

import java.util.function.Consumer;

public class BlightedBlockItems implements RegistryModule<Consumer<BlightedItem>> {

@Override
Expand All @@ -20,9 +21,7 @@ public void register(Consumer<BlightedItem> registry) {
" §7A crafting table infused with ",
" §5blighted energy §7capable",
" §7of weaving forbidden magic",
" §7into physical form.",
"",
ItemRarity.UNCOMMON.getName() + " BLOCK"
" §7into physical form."
);
blightedWorkbench.glow();

Expand All @@ -34,9 +33,7 @@ public void register(Consumer<BlightedItem> registry) {
" §7An industrial crucible powered by ",
" §5blighted energy§7, designed to fuse ",
" §7magic and metal under heat",
" §7intolerable to mortal craft.",
"",
ItemRarity.RARE.getName() + " MACHINE"
" §7intolerable to mortal craft."
);
blightedForge.glow();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package fr.moussax.blightedSMP.content.items.blocks;
package fr.moussax.blightedSMP.content.blocks;

import fr.moussax.blightedSMP.engine.items.blocks.BlightedBlock;
import fr.moussax.blightedSMP.engine.blocks.BlightedBlock;
import fr.moussax.blightedSMP.registry.RegistryModule;

import java.util.function.Consumer;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.moussax.blightedSMP.content.items.blocks;
package fr.moussax.blightedSMP.content.blocks;

import fr.moussax.blightedSMP.engine.items.blocks.BlightedBlock;
import fr.moussax.blightedSMP.engine.items.recipes.forging.menu.ForgeMenu;
import fr.moussax.blightedSMP.engine.blocks.BlightedBlock;
import fr.moussax.blightedSMP.engine.recipes.forging.menu.ForgeMenu;
import fr.moussax.blightedSMP.engine.items.registry.ItemRegistry;
import org.bukkit.Material;
import org.bukkit.entity.Player;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package fr.moussax.blightedSMP.content.items.blocks;
package fr.moussax.blightedSMP.content.blocks;

import fr.moussax.blightedSMP.engine.items.blocks.BlightedBlock;
import fr.moussax.blightedSMP.engine.items.recipes.crafting.menu.CraftingTableMenu;
import fr.moussax.blightedSMP.engine.blocks.BlightedBlock;
import fr.moussax.blightedSMP.engine.recipes.crafting.menu.CraftingTableMenu;
import fr.moussax.blightedSMP.engine.items.registry.ItemRegistry;
import fr.moussax.bedrock.text.Messenger;
import org.bukkit.Material;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
import fr.moussax.blightedSMP.engine.items.BlightedItem;
import fr.moussax.blightedSMP.engine.items.ItemRarity;
import fr.moussax.blightedSMP.engine.items.ItemType;

import java.util.function.Consumer;
import fr.moussax.blightedSMP.engine.items.rules.ItemRule;
import fr.moussax.blightedSMP.registry.RegistryModule;
import fr.moussax.blightedSMP.engine.loot.results.gems.GemsItem;
import org.bukkit.DyeColor;
Expand All @@ -16,6 +13,7 @@
import org.bukkit.inventory.ItemFlag;

import java.util.List;
import java.util.function.Consumer;

public class BlightedItems implements RegistryModule<Consumer<BlightedItem>> {

Expand All @@ -25,15 +23,12 @@ public void register(Consumer<BlightedItem> registry) {
BlightedItem blightedBanner = new BlightedItem(
"BLIGHTED_BANNER", ItemType.UNCATEGORIZED, ItemRarity.EPIC, Material.BLACK_BANNER);
blightedBanner.setDisplayName("Crown of the Blight");
blightedBanner.addLore(
"",
"§7 An ancient standard woven from",
"§5 shadow-silk§7. Its fabric beats with ",
"§7 a faint, living pulse, drawing the",
"§7 corruption of the Blight like",
"§7 a cosmic §5lightning rod§7.",
"",
ItemRarity.EPIC.getName()
blightedBanner.description(
"An ancient standard woven from",
"§5shadow-silk§7. Its fabric beats with ",
"a faint, living pulse, drawing the",
"corruption of the Blight like",
"a cosmic §5lightning rod§7."
);
blightedBanner.addBannerPatterns(List.of(
new Pattern(DyeColor.PURPLE, PatternType.CURLY_BORDER),
Expand All @@ -44,18 +39,19 @@ public void register(Consumer<BlightedItem> registry) {
new Pattern(DyeColor.BLACK, PatternType.FLOW)
));
blightedBanner.addItemFlag(ItemFlag.HIDE_BANNER_PATTERNS);
blightedBanner.addRule(ItemRule.PREVENT_PLACEMENT);
blightedBanner.preventPlacement();
blightedBanner.editEquippable(equippable -> equippable.setSlot(EquipmentSlot.HEAD));
blightedBanner.fireResistant();
blightedBanner.unstackable();

BlightedItem blightedCodex = new BlightedItem("BLIGHTED_CODEX", ItemType.UNCATEGORIZED, ItemRarity.EPIC, Material.ENCHANTED_BOOK);
blightedCodex.setDisplayName("Blighted Codex");
blightedCodex.description(
"A forbidden ledger bound in cracked",
"leather. Its pages remain blank until",
"they absorb the essence of the Blight."
);
blightedCodex.addLore(
"",
"§7 A forbidden ledger bound in cracked",
"§7 leather. Its pages remain blank until",
"§7 they absorb the essence of the Blight.",
"",
" &#D2A5FF§lSEALED RIDDLE!",
"&#D2A5FF Wear the woven shadow as your crown,",
Expand All @@ -65,33 +61,28 @@ public void register(Consumer<BlightedItem> registry) {
"&#D2A5FF Lay your hand upon the ancient seal,",
"&#D2A5FF and the hidden path shall awaken.",
"",
"§8 Souls trapped: §d0 ☠",
"",
ItemRarity.EPIC.getName()
"§8 Souls trapped: §d0 ☠"
);
blightedCodex.fireResistant();

BlightedItem blightedGemstone = new BlightedItem("BLIGHTED_GEMSTONE", ItemType.UNCATEGORIZED, ItemRarity.SPECIAL, Material.PLAYER_HEAD);
blightedGemstone.setCustomSkullTexture("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDM2MjM1MjFjODExMWFkMjllOWRjZjdhY2M1NjA4NWE5YWIwN2RhNzMyZDE1MTg5NzZhZWU2MWQwYjNlM2JkNiJ9fX0=");
blightedGemstone.setDisplayName("Blighted Gemstone");
blightedGemstone.description(
"A gemstone §5corrupted§7 by shadow,",
"stolen from the heart of a §5fallen",
"§5abomination§7. Within its core lie §dGems ",
"sealed and waiting for a daring",
"hand to claim them."
);
blightedGemstone.addLore(
"",
"§7 A gemstone §5corrupted§7 by shadow,",
"§7 stolen from the heart of a §5fallen",
"§5 abomination§7. Within its core lie §dGems ",
"§7 sealed and waiting for a daring",
"§7 hand to claim them.",
"§8 Ges: §d1✵",
"",
"§d Right click to consume!",
"",
ItemRarity.SPECIAL.getName()
"§8 Gems: §d1✵"
);

blightedGemstone.preventEquipping();
blightedGemstone.unstackable();
blightedGemstone.addRule(ItemRule.PREVENT_PLACEMENT);
blightedGemstone.addAbility(new GemsItem.BlightedGemstoneAbility(), false);
blightedGemstone.preventPlacement();
blightedGemstone.addAbility(new GemsItem.BlightedGemstoneAbility());

registry.accept(blightedBanner);
registry.accept(blightedCodex);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,22 @@ public class BlightedTools implements RegistryModule<Consumer<BlightedItem>> {
public void register(Consumer<BlightedItem> registry) {
BlightedItem magmaRod = new BlightedItem("MAGMA_ROD", ItemType.LAVA_FISHING_ROD, ItemRarity.UNCOMMON, Material.FISHING_ROD);
magmaRod.setDisplayName("Magma Rod");

magmaRod.addLore("",
" §7Impervious to the inferno,",
" §7this rod casts where others ",
" §7burn to dredge §6molten depths ",
" §7for treasures.",
""
magmaRod.description(
"Impervious to the inferno,",
"this rod casts where others",
"burn to dredge §6molten depths",
"for treasures."
);
magmaRod.addLore(ItemRarity.UNCOMMON.getName() + " ROD");
magmaRod.setFireResistant(true);

BlightedItem voidRod = new BlightedItem("VOID_ROD", ItemType.VOID_FISHING_ROD, ItemRarity.RARE, Material.FISHING_ROD);
voidRod.setDisplayName("Void Rod");
voidRod.addLore("§8Demonstration tool");
voidRod.addLore("");
voidRod.addLore(ItemRarity.RARE.getName() + " ROD");
voidRod.description("Demonstration tool");

BlightedItem demoPickaxe = new BlightedItem("DEMO_PICKAXE", ItemType.PICKAXE, ItemRarity.SPECIAL, Material.DIAMOND_PICKAXE);
demoPickaxe.setDisplayName("Demo Pickaxe");
demoPickaxe.addAbility(new VeinmineAbility());
demoPickaxe.addLore("§8Demonstration tool");
demoPickaxe.description("Demonstration tool");

registry.accept(demoPickaxe);
registry.accept(magmaRod);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,17 @@
import fr.moussax.blightedSMP.engine.items.ItemRarity;
import fr.moussax.blightedSMP.engine.items.ItemType;
import fr.moussax.blightedSMP.registry.RegistryModule;
import java.util.function.Consumer;
import org.bukkit.Material;

import java.util.function.Consumer;

public class Bonemerang implements RegistryModule<Consumer<BlightedItem>> {

@Override
public void register(Consumer<BlightedItem> registry) {
BlightedItem bonemerang = new BlightedItem("BONEMERANG", ItemType.BOW, ItemRarity.EPIC, Material.BONE);
bonemerang.setDisplayName("Bonemerang");
bonemerang.addLore(
"",
"§5 Ability: Swing §d§lRIGHT CLICK",
"§7 Throw the bone forward, slicing",
"§7 through foes, dealing §c12 §7damage ",
"§7 before returning to you.",
"",
ItemRarity.EPIC.getName() + " BOW"
);
bonemerang.addAbility(new BonemerangAbility(), false);
bonemerang.addAbility(new BonemerangAbility());
bonemerang.glow();
bonemerang.unstackable();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,19 @@
import fr.moussax.blightedSMP.engine.items.ItemRarity;
import fr.moussax.blightedSMP.engine.items.ItemType;
import fr.moussax.blightedSMP.registry.RegistryModule;
import java.util.function.Consumer;
import fr.moussax.blightedSMP.engine.items.rules.ItemRule;
import org.bukkit.Material;

import java.util.function.Consumer;

public class GlimmeringEye implements RegistryModule<Consumer<BlightedItem>> {

@Override
public void register(Consumer<BlightedItem> registry) {
BlightedItem glimmeringEye = new BlightedItem("GLIMMERING_EYE", ItemType.UNCATEGORIZED, ItemRarity.RARE, Material.ENDER_EYE);
glimmeringEye.setDisplayName("Glimmering Eye");

glimmeringEye.glow();
glimmeringEye.addAbility(new VoidStepAbility());
glimmeringEye.addLore("", ItemRarity.RARE.getName());
glimmeringEye.addRule(ItemRule.PREVENT_PROJECTILE_LAUNCH);
glimmeringEye.preventProjectileLaunch();

registry.accept(glimmeringEye);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,20 @@
import fr.moussax.blightedSMP.engine.items.ItemRarity;
import fr.moussax.blightedSMP.engine.items.ItemType;
import fr.moussax.blightedSMP.registry.RegistryModule;
import java.util.function.Consumer;
import org.bukkit.Material;
import org.bukkit.inventory.ItemFlag;

import java.util.function.Consumer;

public class Hyperion implements RegistryModule<Consumer<BlightedItem>> {

@Override
public void register(Consumer<BlightedItem> registry) {
BlightedItem hyperion = new BlightedItem("HYPERION", ItemType.SWORD, ItemRarity.LEGENDARY, Material.IRON_SWORD);
hyperion.setDisplayName("Hyperion");
hyperion.addLore(
"",
"§5 Ability: Wither Impact §d§lRIGHT CLICK",
"§7 Teleport §a10 §7blocks ahead of you. Then dealing §c15,000 ",
"§7 damage to nearby enemies. Also applies the wither",
"§7 shield scroll reducing damage taken and granting",
"§7 an §6absorption §7shield for §e5 §7seconds.",
"",
ItemRarity.LEGENDARY.getName() + " SWORD"
);
hyperion.setUnbreakable(true);
hyperion.addItemFlag(ItemFlag.HIDE_UNBREAKABLE);
hyperion.addAbility(new WitherImpactAbility(), false);
hyperion.addAbility(new WitherImpactAbility());

registry.accept(hyperion);
}
Expand Down
Loading
Loading