Read desc

Added method getBukkitEntity to reflectionmanager
Added a way for itemframe values to exist.
This commit is contained in:
libraryaddict
2013-11-27 16:38:51 +13:00
parent ca913347ce
commit 473769eb26
6 changed files with 51 additions and 13 deletions

View File

@@ -24,6 +24,7 @@ import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Ageable;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.plugin.java.JavaPlugin;
@@ -96,6 +97,15 @@ public class LibsDisguises extends JavaPlugin {
* for mob noises. As well as setting their watcher class and entity size.
*/
private void registerValues() {
try {
DisguiseValues disguiseValues = new DisguiseValues((Enum) Class.forName("org.bukkit.entity.EntityType")
.getField("ITEM_FRAME").get(null), null, 0);
for (WrappedWatchableObject watch : WrappedDataWatcher.getEntityWatcher(
ReflectionManager.getBukkitEntity(ReflectionManager.createEntityInstance("ItemFrame"))).getWatchableObjects())
disguiseValues.setMetaValue(watch.getIndex(), watch.getValue());
} catch (Exception ex) {
ex.printStackTrace();
}
for (DisguiseType disguiseType : DisguiseType.values()) {
if (disguiseType.getEntityType() == null) {
continue;
@@ -179,10 +189,12 @@ public class LibsDisguises extends JavaPlugin {
default:
break;
}
if (DisguiseValues.getDisguiseValues(disguiseType) != null) {
continue;
}
try {
Object nmsEntity = ReflectionManager.createEntityInstance(nmsEntityName);
Entity bukkitEntity = (Entity) ReflectionManager.getNmsClass("Entity").getMethod("getBukkitEntity")
.invoke(nmsEntity);
Entity bukkitEntity = ReflectionManager.getBukkitEntity(nmsEntity);
int entitySize = 0;
for (Field field : ReflectionManager.getNmsClass("Entity").getFields()) {
if (field.getType().getName().equals("EnumEntitySize")) {