package mhfc.net.common.world.area; import net.minecraft.util.Vec3; import net.minecraft.world.World; /** * Provides a proxy for a world object which can potentially transform or check the parameters of method calls. * Coordinates, for which {@link IWorldView#isManaged(int, int, int)} return false may result in null or defaulted * return values that do not correspond with the actual values as given by the world object. The exact behaviour is * implementation defined. */ public interface IWorldView extends IWorld { /** * Tells the caller if this world view sees and manages the block given. */ public boolean isManaged(double posX, double posY, double posZ); /** * Fall back method where the interface is not enough to provide the access needed. */ public World getWorldObject(); public Vec3 convertToLocal(Vec3 pos); public Vec3 convertToGlobal(Vec3 local); }