package com.bergerkiller.bukkit.common.reflection.classes;
import java.util.Collection;
import java.util.List;
import org.bukkit.Server;
import org.bukkit.World;
import com.bergerkiller.bukkit.common.reflection.ClassTemplate;
import com.bergerkiller.bukkit.common.reflection.FieldAccessor;
import com.bergerkiller.bukkit.common.reflection.MethodAccessor;
import com.bergerkiller.bukkit.common.reflection.NMSClassTemplate;
@SuppressWarnings("rawtypes")
public class WorldRef {
public static final ClassTemplate<?> TEMPLATE = NMSClassTemplate.create("World");
private static final MethodAccessor<Server> getServer = TEMPLATE.getMethod("getServer");
public static final FieldAccessor<Collection> tileEntityList = TEMPLATE.getField("tileEntityList");
public static final FieldAccessor<List> entityRemovalList = TEMPLATE.getField("f");
public static final FieldAccessor<World> bukkitWorld = TEMPLATE.getField("world");
public static Server getServer(Object worldHandle) {
return getServer.invoke(worldHandle);
}
}