mirror of
https://github.com/ChestShop-authors/ChestShop-3.git
synced 2024-12-25 17:37:34 +01:00
dc4d9961c1
- Fixed LWC, Lockette and Default protections - Added restricted signs (Changed how they work) - Added an option to use another name - Fixed a bug where default protection was initialized too many times - Disallowed players to place another chest near a shop chest - Speeded up and fixed enchantment and durability in itemstacks - Changed /iteminfo a bit - Added /chestshop reload - Added many default permission kits - Fixed dye colors - Added an option to allow towny residents place shops in their town
79 lines
2.4 KiB
Java
79 lines
2.4 KiB
Java
package com.Acrobot.ChestShop.Items;
|
|
|
|
import org.bukkit.CoalType;
|
|
import org.bukkit.DyeColor;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.TreeSpecies;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.bukkit.material.*;
|
|
|
|
/**
|
|
* @author Acrobot
|
|
*/
|
|
public class DataValue {
|
|
public static byte get(String type, Material material) {
|
|
if (material == null) return 0;
|
|
|
|
type = type.toUpperCase().replace(" ", "_");
|
|
MaterialData materialData = null;
|
|
|
|
try {
|
|
switch (material) {
|
|
case SAPLING:
|
|
case LOG:
|
|
materialData = new Tree(TreeSpecies.valueOf(type));
|
|
break;
|
|
case STEP:
|
|
case DOUBLE_STEP:
|
|
materialData = new Step(Items.getMaterial(type));
|
|
break;
|
|
case WOOL:
|
|
materialData = new Wool(DyeColor.valueOf(type));
|
|
break;
|
|
case INK_SACK:
|
|
byte data = (byte) (15 - DyeColor.valueOf(type).getData());
|
|
materialData = new Wool(DyeColor.getByData(data));
|
|
break;
|
|
case COAL:
|
|
materialData = new Coal(CoalType.valueOf(type));
|
|
break;
|
|
}
|
|
} catch (Exception e) { return 0; }
|
|
|
|
return (materialData == null ? 0 : materialData.getData());
|
|
}
|
|
|
|
public static String getName(ItemStack is){
|
|
short dur = is.getDurability();
|
|
if (dur == 0) return null;
|
|
|
|
Material material = is.getType();
|
|
|
|
String name = null;
|
|
|
|
try {
|
|
switch (material) {
|
|
case SAPLING:
|
|
case LOG:
|
|
name = TreeSpecies.getByData((byte) dur).name();
|
|
break;
|
|
case STEP:
|
|
case DOUBLE_STEP:
|
|
name = new Step(Material.getMaterial(dur)).getMaterial().name();
|
|
break;
|
|
case WOOL:
|
|
name = DyeColor.getByData((byte) dur).name();
|
|
break;
|
|
case INK_SACK:
|
|
name = DyeColor.getByData((byte) (15 - dur)).name();
|
|
break;
|
|
case COAL:
|
|
name = CoalType.getByData((byte) dur).name();
|
|
break;
|
|
}
|
|
} catch (Exception e) { return null; }
|
|
|
|
return name;
|
|
}
|
|
}
|