mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-29 16:46:46 +01:00
Tweak a few more things with Salvage.
This commit is contained in:
parent
2799bab206
commit
7a0f8ea2dd
@ -27,7 +27,7 @@ Version 1.4.00-dev
|
|||||||
+ Added methods to check if a player is in party or admin chat to the ChatAPI
|
+ Added methods to check if a player is in party or admin chat to the ChatAPI
|
||||||
+ Added /mcpurge functionality for Flatfile users
|
+ Added /mcpurge functionality for Flatfile users
|
||||||
+ Added basic support for Mo' Creatures (and other entity mods) - specify mob info in entities.yml
|
+ Added basic support for Mo' Creatures (and other entity mods) - specify mob info in entities.yml
|
||||||
+ Added Shears, Buckets, Fishing rods and Bows to the list of items that can be Salvaged
|
+ Added Shears, Buckets, Fishing Rods, Flint & Steel, Carrot Sticks, and Bows to the list of items that can be Salvaged
|
||||||
= Fixed multiple commands not working properly on offline players
|
= Fixed multiple commands not working properly on offline players
|
||||||
= Fixed /mmoedit not giving feedback when modifying another players stats
|
= Fixed /mmoedit not giving feedback when modifying another players stats
|
||||||
= Fixed the guide usage string showing up every time /skillname was called
|
= Fixed the guide usage string showing up every time /skillname was called
|
||||||
|
@ -37,15 +37,13 @@ public class Salvage {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final float currentdura = item.getDurability();
|
final float currentDurability = item.getDurability();
|
||||||
|
|
||||||
if (currentdura == 0) {
|
|
||||||
final int salvagedAmount = getSalvagedAmount(item);
|
|
||||||
final int itemID = getSalvagedItemID(item);
|
|
||||||
|
|
||||||
|
if (currentDurability == 0) {
|
||||||
player.setItemInHand(new ItemStack(Material.AIR));
|
player.setItemInHand(new ItemStack(Material.AIR));
|
||||||
location.setY(location.getY() + 1);
|
location.setY(location.getY() + 1);
|
||||||
Misc.dropItem(location, new ItemStack(itemID, salvagedAmount));
|
|
||||||
|
Misc.dropItems(location, new ItemStack(getSalvagedItem(item)), getSalvagedAmount(item));
|
||||||
|
|
||||||
player.playSound(player.getLocation(), Sound.ANVIL_USE, Misc.ANVIL_USE_VOLUME, Misc.ANVIL_USE_PITCH);
|
player.playSound(player.getLocation(), Sound.ANVIL_USE, Misc.ANVIL_USE_VOLUME, Misc.ANVIL_USE_PITCH);
|
||||||
player.sendMessage(LocaleLoader.getString("Repair.Skills.SalvageSuccess"));
|
player.sendMessage(LocaleLoader.getString("Repair.Skills.SalvageSuccess"));
|
||||||
@ -73,7 +71,8 @@ public class Salvage {
|
|||||||
if (spoutPlayer.isSpoutCraftEnabled()) {
|
if (spoutPlayer.isSpoutCraftEnabled()) {
|
||||||
spoutPlayer.sendNotification("[mcMMO] Anvil Placed", "Right click to salvage!", Material.getMaterial(anvilID));
|
spoutPlayer.sendNotification("[mcMMO] Anvil Placed", "Right click to salvage!", Material.getMaterial(anvilID));
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
player.sendMessage(LocaleLoader.getString("Repair.Listener.Anvil2"));
|
player.sendMessage(LocaleLoader.getString("Repair.Listener.Anvil2"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,28 +81,58 @@ public class Salvage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getSalvagedItemID(final ItemStack inHand) {
|
private static Material getSalvagedItem(final ItemStack inHand) {
|
||||||
int salvagedItem = 0;
|
if (ItemChecks.isDiamondTool(inHand) || ItemChecks.isDiamondArmor(inHand)) {
|
||||||
if (ItemChecks.isDiamondTool(inHand) || ItemChecks.isDiamondArmor(inHand)) salvagedItem = 264;
|
return Material.DIAMOND;
|
||||||
else if (ItemChecks.isGoldTool(inHand) || ItemChecks.isGoldArmor(inHand)) salvagedItem = 266;
|
}
|
||||||
else if (ItemChecks.isIronTool(inHand) || ItemChecks.isIronArmor(inHand) || inHand.getType() == Material.BUCKET) salvagedItem = 265;
|
else if (ItemChecks.isGoldTool(inHand) || ItemChecks.isGoldArmor(inHand)) {
|
||||||
else if (ItemChecks.isStoneTool(inHand)) salvagedItem = 4;
|
return Material.GOLD_INGOT;
|
||||||
else if (ItemChecks.isWoodTool(inHand)) salvagedItem = 5;
|
}
|
||||||
else if (ItemChecks.isLeatherArmor(inHand)) salvagedItem = 334;
|
else if (ItemChecks.isIronTool(inHand) || ItemChecks.isIronArmor(inHand)) {
|
||||||
else if (ItemChecks.isStringTool(inHand)) salvagedItem = 287;
|
return Material.IRON_INGOT;
|
||||||
return salvagedItem;
|
}
|
||||||
|
else if (ItemChecks.isStoneTool(inHand)) {
|
||||||
|
return Material.COBBLESTONE;
|
||||||
|
}
|
||||||
|
else if (ItemChecks.isWoodTool(inHand)) {
|
||||||
|
return Material.WOOD;
|
||||||
|
}
|
||||||
|
else if (ItemChecks.isLeatherArmor(inHand)) {
|
||||||
|
return Material.LEATHER;
|
||||||
|
}
|
||||||
|
else if (ItemChecks.isStringTool(inHand)) {
|
||||||
|
return Material.STRING;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getSalvagedAmount(final ItemStack inHand) {
|
private static int getSalvagedAmount(final ItemStack inHand) {
|
||||||
int salvagedAmount = 0;
|
if (ItemChecks.isPickaxe(inHand) || ItemChecks.isAxe(inHand) || inHand.getType() == Material.BOW || inHand.getType() == Material.BUCKET) {
|
||||||
if (ItemChecks.isPickaxe(inHand) || ItemChecks.isAxe(inHand) || inHand.getType() == Material.BOW || inHand.getType() == Material.BUCKET) salvagedAmount = 3;
|
return 3;
|
||||||
else if (ItemChecks.isShovel(inHand)) salvagedAmount = 1;
|
}
|
||||||
else if (ItemChecks.isSword(inHand) || ItemChecks.isHoe(inHand) || inHand.getType() == Material.FISHING_ROD || inHand.getType() == Material.SHEARS) salvagedAmount = 2;
|
else if (ItemChecks.isShovel(inHand) || inHand.getType() == Material.FLINT_AND_STEEL) {
|
||||||
else if (ItemChecks.isHelmet(inHand)) salvagedAmount = 5;
|
return 1;
|
||||||
else if (ItemChecks.isChestplate(inHand)) salvagedAmount = 8;
|
}
|
||||||
else if (ItemChecks.isPants(inHand)) salvagedAmount = 7;
|
else if (ItemChecks.isSword(inHand) || ItemChecks.isHoe(inHand) || inHand.getType() == Material.CARROT_STICK || inHand.getType() == Material.FISHING_ROD || inHand.getType() == Material.SHEARS) {
|
||||||
else if (ItemChecks.isBoots(inHand)) salvagedAmount = 4;
|
return 2;
|
||||||
return salvagedAmount;
|
}
|
||||||
|
else if (ItemChecks.isHelmet(inHand)) {
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
else if (ItemChecks.isChestplate(inHand)) {
|
||||||
|
return 8;
|
||||||
|
}
|
||||||
|
else if (ItemChecks.isPants(inHand)) {
|
||||||
|
return 7;
|
||||||
|
}
|
||||||
|
else if (ItemChecks.isBoots(inHand)) {
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Checks if the item is salvageable.
|
* Checks if the item is salvageable.
|
||||||
|
@ -392,6 +392,7 @@ public class ItemChecks {
|
|||||||
public static boolean isStringTool(ItemStack is) {
|
public static boolean isStringTool(ItemStack is) {
|
||||||
switch (is.getType()) {
|
switch (is.getType()) {
|
||||||
case BOW:
|
case BOW:
|
||||||
|
case CARROT_STICK:
|
||||||
case FISHING_ROD:
|
case FISHING_ROD:
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@ -429,6 +430,8 @@ public class ItemChecks {
|
|||||||
*/
|
*/
|
||||||
public static boolean isIronTool(ItemStack is) {
|
public static boolean isIronTool(ItemStack is) {
|
||||||
switch (is.getType()) {
|
switch (is.getType()) {
|
||||||
|
case BUCKET:
|
||||||
|
case FLINT_AND_STEEL:
|
||||||
case IRON_AXE:
|
case IRON_AXE:
|
||||||
case IRON_HOE:
|
case IRON_HOE:
|
||||||
case IRON_PICKAXE:
|
case IRON_PICKAXE:
|
||||||
|
Loading…
Reference in New Issue
Block a user