Allow anvil usage when Smithing is enabled
- The anvil can now be used for everything other than creation when smithing table usage is enabled (so repairing, enchanting, ..?).
This commit is contained in:
parent
9cb58d885d
commit
ebb6a9ce82
@ -84,12 +84,6 @@ public class ArmoredElytra extends JavaPlugin implements Listener
|
|||||||
myLogger(Level.INFO,
|
myLogger(Level.INFO,
|
||||||
"Stats disabled, not loading stats :(... Please consider enabling it! I am a simple man, seeing higher user numbers helps me stay motivated!");
|
"Stats disabled, not loading stats :(... Please consider enabling it! I am a simple man, seeing higher user numbers helps me stay motivated!");
|
||||||
|
|
||||||
final Listener creationListener = config.craftingInSmithingTable() ?
|
|
||||||
new SmithingTableHandler(this, !config.uninstallMode()) :
|
|
||||||
new AnvilHandler(this, !config.uninstallMode());
|
|
||||||
Bukkit.getPluginManager().registerEvents(creationListener, this);
|
|
||||||
|
|
||||||
|
|
||||||
Bukkit.getPluginManager().registerEvents(new EventHandlers(this), this);
|
Bukkit.getPluginManager().registerEvents(new EventHandlers(this), this);
|
||||||
getCommand("ArmoredElytra").setExecutor(new CommandHandler(this));
|
getCommand("ArmoredElytra").setExecutor(new CommandHandler(this));
|
||||||
|
|
||||||
@ -105,6 +99,10 @@ public class ArmoredElytra extends JavaPlugin implements Listener
|
|||||||
else
|
else
|
||||||
myLogger(Level.INFO, "Durability penalty for flying enabled!");
|
myLogger(Level.INFO, "Durability penalty for flying enabled!");
|
||||||
|
|
||||||
|
final Listener creationListener = config.craftingInSmithingTable() ?
|
||||||
|
new SmithingTableHandler(this) : new AnvilHandler(this);
|
||||||
|
Bukkit.getPluginManager().registerEvents(creationListener, this);
|
||||||
|
|
||||||
// Log all allowed enchantments.
|
// Log all allowed enchantments.
|
||||||
myLogger(Level.INFO, ("Allowed enchantments:"));
|
myLogger(Level.INFO, ("Allowed enchantments:"));
|
||||||
for (final String s : config.allowedEnchantments())
|
for (final String s : config.allowedEnchantments())
|
||||||
|
@ -25,6 +25,11 @@ public class AnvilHandler extends ArmoredElytraHandler implements Listener
|
|||||||
super(plugin, creationEnabled);
|
super(plugin, creationEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public AnvilHandler(final ArmoredElytra plugin)
|
||||||
|
{
|
||||||
|
this(plugin, true);
|
||||||
|
}
|
||||||
|
|
||||||
// Valid inputs:
|
// Valid inputs:
|
||||||
// - Elytra (armored or not) + chestplate -> Create Armored Elytra
|
// - Elytra (armored or not) + chestplate -> Create Armored Elytra
|
||||||
// - Elytra (armored) + enchanted book -> Enchant
|
// - Elytra (armored) + enchanted book -> Enchant
|
||||||
@ -55,7 +60,7 @@ public class AnvilHandler extends ArmoredElytraHandler implements Listener
|
|||||||
|
|
||||||
// If the elytra is to be combined with chest armor...
|
// If the elytra is to be combined with chest armor...
|
||||||
if (Util.isChestPlate(matTwo))
|
if (Util.isChestPlate(matTwo))
|
||||||
return Action.CREATE;
|
return creationEnabled ? Action.CREATE : Action.NONE;
|
||||||
|
|
||||||
ArmorTier tier = ArmoredElytra.getInstance().getNbtEditor().getArmorTier(itemOne);
|
ArmorTier tier = ArmoredElytra.getInstance().getNbtEditor().getArmorTier(itemOne);
|
||||||
|
|
||||||
@ -71,7 +76,6 @@ public class AnvilHandler extends ArmoredElytraHandler implements Listener
|
|||||||
|
|
||||||
// If the armored elytra is to be combined with another armored elytra of the
|
// If the armored elytra is to be combined with another armored elytra of the
|
||||||
// same tier...
|
// same tier...
|
||||||
// TODO: Should this also be disabled by "creationEnabled"?
|
|
||||||
if (ArmoredElytra.getInstance().getNbtEditor().getArmorTier(itemTwo) == tier)
|
if (ArmoredElytra.getInstance().getNbtEditor().getArmorTier(itemTwo) == tier)
|
||||||
return creationEnabled ? Action.COMBINE : Action.NONE;
|
return creationEnabled ? Action.COMBINE : Action.NONE;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ import nl.pim16aap2.armoredElytra.ArmoredElytra;
|
|||||||
import nl.pim16aap2.armoredElytra.enchantment.EnchantmentManager;
|
import nl.pim16aap2.armoredElytra.enchantment.EnchantmentManager;
|
||||||
import nl.pim16aap2.armoredElytra.util.ArmorTier;
|
import nl.pim16aap2.armoredElytra.util.ArmorTier;
|
||||||
import nl.pim16aap2.armoredElytra.util.Util;
|
import nl.pim16aap2.armoredElytra.util.Util;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@ -18,9 +19,11 @@ import java.util.logging.Level;
|
|||||||
|
|
||||||
public class SmithingTableHandler extends ArmoredElytraHandler implements Listener
|
public class SmithingTableHandler extends ArmoredElytraHandler implements Listener
|
||||||
{
|
{
|
||||||
public SmithingTableHandler(final ArmoredElytra plugin, final boolean creationEnabled)
|
public SmithingTableHandler(final ArmoredElytra plugin)
|
||||||
{
|
{
|
||||||
super(plugin, creationEnabled);
|
super(plugin, true);
|
||||||
|
// Register the anvil handler with creation disabled so AEs can still be repaired and stuff.
|
||||||
|
Bukkit.getPluginManager().registerEvents(new AnvilHandler(plugin, false), plugin);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user