Move common name setting stuff to superclass

This commit is contained in:
vemacs 2015-06-17 16:58:57 -04:00
parent 1d63209691
commit 0331fafa77
4 changed files with 18 additions and 36 deletions

View File

@ -25,16 +25,7 @@ public class v1_8_R1SpawnerProvider extends SpawnerProvider {
tag = itemStack.getTag().getCompound("BlockEntityTag");
tag.setString("EntityId", type.getName());
ItemStack bukkitItemStack = CraftItemStack.asCraftMirror(itemStack).clone();
ItemMeta meta = bukkitItemStack.getItemMeta();
String displayName;
if (entityToDisplayName.containsKey(type)) {
displayName = entityToDisplayName.get(type);
} else {
displayName = type.getName();
}
meta.setDisplayName(ChatColor.RESET + displayName + " Spawner");
bukkitItemStack.setItemMeta(meta);
return bukkitItemStack;
return setDisplayName(bukkitItemStack, type);
}
@Override

View File

@ -1,13 +1,11 @@
package net.ess3.nms.blockmeta;
import net.ess3.nms.SpawnerProvider;
import org.bukkit.ChatColor;
import org.bukkit.block.BlockState;
import org.bukkit.block.CreatureSpawner;
import org.bukkit.entity.EntityType;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BlockStateMeta;
import org.bukkit.inventory.meta.ItemMeta;
public class BlockMetaSpawnerProvider extends SpawnerProvider {
@Override
@ -17,18 +15,7 @@ public class BlockMetaSpawnerProvider extends SpawnerProvider {
((CreatureSpawner) bs).setSpawnedType(type);
bsm.setBlockState(bs);
is.setItemMeta(bsm);
// Legacy behavior
is.setDurability(type.getTypeId());
ItemMeta meta = is.getItemMeta();
String displayName;
if (entityToDisplayName.containsKey(type)) {
displayName = entityToDisplayName.get(type);
} else {
displayName = type.getName();
}
meta.setDisplayName(ChatColor.RESET + displayName + " Spawner");
is.setItemMeta(meta);
return is;
return setDisplayName(is, type);
}
@Override

View File

@ -1,25 +1,14 @@
package net.ess3.nms.legacy;
import net.ess3.nms.SpawnerProvider;
import org.bukkit.ChatColor;
import org.bukkit.entity.EntityType;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
public class LegacySpawnerProvider extends SpawnerProvider {
@Override
public ItemStack setEntityType(ItemStack is, EntityType type) {
is.getData().setData((byte) type.getTypeId());
ItemMeta meta = is.getItemMeta();
String displayName;
if (entityToDisplayName.containsKey(type)) {
displayName = entityToDisplayName.get(type);
} else {
displayName = type.getName();
}
meta.setDisplayName(ChatColor.RESET + displayName + " Spawner");
is.setItemMeta(meta);
return is;
return setDisplayName(is, type);
}
@Override

View File

@ -1,9 +1,11 @@
package net.ess3.nms;
import com.google.common.collect.ImmutableMap;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.EntityType;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import java.util.Map;
@ -35,4 +37,17 @@ public abstract class SpawnerProvider {
return false;
}
}
protected ItemStack setDisplayName(ItemStack is, EntityType type) {
ItemMeta meta = is.getItemMeta();
String displayName;
if (entityToDisplayName.containsKey(type)) {
displayName = entityToDisplayName.get(type);
} else {
displayName = type.getName();
}
meta.setDisplayName(ChatColor.RESET + displayName + " Spawner");
is.setItemMeta(meta);
return is;
}
}