本文整理了Java中net.minecraft.world.World.getCapability()
方法的一些代码示例,展示了World.getCapability()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。World.getCapability()
方法的具体详情如下:
包路径:net.minecraft.world.World
类名称:World
方法名:getCapability
暂无
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
@Override
public ISpatialDimension getSpatialDimension()
{
final int id = AppEng.instance().getStorageDimensionID();
World w = DimensionManager.getWorld( id );
if( w == null )
{
DimensionManager.initDimension( id );
w = DimensionManager.getWorld( id );
}
if( w != null && w.hasCapability( Capabilities.SPATIAL_DIMENSION, null ) )
{
return w.getCapability( Capabilities.SPATIAL_DIMENSION, null );
}
return null;
}
代码示例来源:origin: gegy1000/Terrarium
public final TerrariumWorldData getWorldData(World world) {
TerrariumWorldData worldData = world.getCapability(TerrariumCapabilities.worldDataCapability, null);
if (worldData == null) {
throw new IllegalStateException("Terrarium world capability not yet present");
}
return worldData;
}
代码示例来源:origin: SleepyTrousers/EnderIO
@Override
public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
return wrapped.getCapability(capability, facing);
}
代码示例来源:origin: gegy1000/Terrarium
public WorldCap(World world, Function<TerrariumWorldData, T> function) {
super(() -> {
TerrariumWorldData capability = world.getCapability(TerrariumCapabilities.worldDataCapability, null);
if (capability != null) {
return function.apply(capability);
}
throw new IllegalStateException("Tried to get world capability before it was present");
});
}
}
代码示例来源:origin: amadornes/MCMultiPart
@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
return getActualWorld().getCapability(capability, facing);
}
代码示例来源:origin: ldtteam/minecolonies
/**
* Get all colonies in this world.
*
* @param w World.
* @return a list of colonies.
*/
@NotNull
public static List<Colony> getColonies(@NotNull final World w)
{
final IColonyManagerCapability cap = w.getCapability(COLONY_MANAGER_CAP, null);
if (cap == null)
{
Log.getLogger().warn(MISSING_WORLD_CAP_MESSAGE);
return Collections.emptyList();
}
return cap.getColonies();
}
代码示例来源:origin: ldtteam/minecolonies
/**
* Get Colony by UUID.
*
* @param id ID of colony.
* @return Colony with given ID.
*/
@Nullable
public static Colony getColonyByWorld(final int id, final World world)
{
final IColonyManagerCapability cap = world.getCapability(COLONY_MANAGER_CAP, null);
if (cap == null)
{
Log.getLogger().warn(MISSING_WORLD_CAP_MESSAGE);
return null;
}
return cap.getColony(id);
}
代码示例来源:origin: gegy1000/Terrarium
public ComposableBiomeProvider(World world) {
this.world = world;
this.regionHandler = new Lazy<>(() -> {
TerrariumWorldData capability = this.world.getCapability(TerrariumCapabilities.worldDataCapability, null);
if (capability != null) {
return capability.getRegionHandler();
}
throw new IllegalStateException("Tried to load RegionGenerationHandler before it was present");
});
this.compositionProcedure = new Lazy.WorldCap<>(world, TerrariumWorldData::getCompositionProcedure);
}
代码示例来源:origin: ldtteam/minecolonies
/**
* Get all colonies in all worlds.
*
* @return a list of colonies.
*/
@NotNull
public static List<Colony> getAllColonies()
{
final List<Colony> allColonies = new ArrayList<>();
for (final World world : FMLCommonHandler.instance().getMinecraftServerInstance().worlds)
{
final IColonyManagerCapability cap = world.getCapability(COLONY_MANAGER_CAP, null);
if (cap != null)
{
allColonies.addAll(cap.getColonies());
}
}
return allColonies;
}
代码示例来源:origin: gegy1000/Terrarium
public ComposableChunkGenerator(World world) {
this.world = world;
this.random = new Random(world.getWorldInfo().getSeed());
this.compositionProcedure = new Lazy.WorldCap<>(world, TerrariumWorldData::getCompositionProcedure);
this.regionHandler = new Lazy<>(() -> {
TerrariumWorldData capability = this.world.getCapability(TerrariumCapabilities.worldDataCapability, null);
if (capability != null) {
return capability.getRegionHandler();
}
throw new IllegalStateException("Tried to load RegionGenerationHandler before it was present");
});
}
代码示例来源:origin: gegy1000/Terrarium
@Nullable
@Override
public State update(World world, EntityPlayer player) {
EarthCapability earthData = world.getCapability(TerrariumEarth.earthCap, null);
if (earthData != null) {
double blockX = earthData.getX(this.latitude, this.longitude);
double blockZ = earthData.getZ(this.latitude, this.longitude);
double deltaX = player.posX - blockX;
double deltaZ = player.posZ - blockZ;
if (deltaX * deltaX + deltaZ * deltaZ < IMMERSION_MIN_DISTANCE) {
return new Immersed(this.id, blockX, player.posY, blockZ);
}
return this;
}
return null;
}
}
代码示例来源:origin: TeamWizardry/Wizardry
public static WizardryWorld get(World world) {
WizardryWorld cap = world.getCapability(capability(), null);
if (cap == null) {
throw new IllegalStateException("Missing capability: " + world.getWorldInfo().getWorldName() + "/" + world.provider.getDimensionType().getName());
}
return cap;
}
代码示例来源:origin: ldtteam/minecolonies
/**
* Get Colony by UUID.
*
* @param id ID of colony.
* @return Colony with given ID.
*/
@Nullable
public static Colony getColonyByDimension(final int id, final int dimension)
{
final World world = FMLCommonHandler.instance().getMinecraftServerInstance().getWorld(dimension);
final IColonyManagerCapability cap = world.getCapability(COLONY_MANAGER_CAP, null);
if (cap == null)
{
Log.getLogger().warn(MISSING_WORLD_CAP_MESSAGE);
return null;
}
return cap.getColony(id);
}
代码示例来源:origin: ldtteam/minecolonies
/**
* check if a position is too close to another colony.
*
* @param w World.
* @param pos coordinates.
* @return true if so.
*/
public static boolean isTooCloseToColony(@NotNull final World w, @NotNull final BlockPos pos)
{
final IChunkmanagerCapability worldCapability = w.getCapability(CHUNK_STORAGE_UPDATE_CAP, null);
if (worldCapability == null)
{
return true;
}
final Chunk centralChunk = w.getChunk(pos);
final IColonyTagCapability colonyCap = centralChunk.getCapability(CLOSE_COLONY_CAP, null);
if (colonyCap == null)
{
return true;
}
final ChunkLoadStorage storage = worldCapability.getChunkStorage(centralChunk.x, centralChunk.z);
if (storage != null)
{
storage.applyToCap(colonyCap);
}
return !colonyCap.getAllCloseColonies().isEmpty();
}
代码示例来源:origin: ldtteam/minecolonies
/**
* Load the colony info for a certain chunk.
* @param chunk the chunk.
* @param world the worldg to.
*/
public static void loadChunk(final Chunk chunk, final World world)
{
final IColonyManagerCapability cap = world.getCapability(COLONY_MANAGER_CAP, null);
if (cap == null)
{
return;
}
//todo get world cap to get chunksToLoad and decrease it!
if(cap.getMissingChunksToLoad() > 0)
{
final IChunkmanagerCapability chunkManager = world.getCapability(CHUNK_STORAGE_UPDATE_CAP, null);
if (chunkManager == null)
{
Log.getLogger().error(UNABLE_TO_FIND_WORLD_CAP_TEXT);
return;
}
final ChunkLoadStorage existingStorage = chunkManager.getChunkStorage(chunk.x, chunk.z);
if(existingStorage != null)
{
addStorageToChunk(chunk, existingStorage);
cap.setMissingChunksToLoad(cap.getMissingChunksToLoad()-1);
}
}
}
代码示例来源:origin: ldtteam/minecolonies
/**
* Get the top colony id of all colonies.
*
* @return the top id.
*/
public static int getTopColonyId()
{
int top = 0;
for (final World world : FMLCommonHandler.instance().getMinecraftServerInstance().worlds)
{
final IColonyManagerCapability cap = world.getCapability(COLONY_MANAGER_CAP, null);
if (cap != null)
{
final int tempTop = cap.getTopID();
if (tempTop > top)
{
top = tempTop;
}
}
}
return top;
}
}
代码示例来源:origin: gegy1000/Terrarium
public static void provideSettings(World world, GenerationSettings settings) {
providedSettings = settings;
if (world == null || !(world.getWorldType() instanceof TerrariumWorldType)) {
return;
}
TerrariumExternalCapProvider external = world.getCapability(TerrariumCapabilities.externalProviderCapability, null);
if (external == null) {
return;
}
TerrariumWorldType worldType = (TerrariumWorldType) world.getWorldType();
Collection<ICapabilityProvider> capabilities = worldType.createCapabilities(world, providedSettings);
for (ICapabilityProvider provider : capabilities) {
external.addExternal(provider);
}
}
代码示例来源:origin: gegy1000/Terrarium
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
Entity entity = getTeleportedEntity(server, sender, args);
EarthCapability earthData = entity.world.getCapability(TerrariumEarth.earthCap, null);
if (earthData != null) {
String argument = String.join(" ", args).replace(',', ' ');
String[] locationInput = argument.split("\\s+");
Thread thread = new Thread(() -> {
try {
CommandLocation location = this.parseLocation(sender, locationInput);
this.teleport(entity, location.getCoordinate(sender, earthData));
} catch (CommandException e) {
TextComponentTranslation message = new TextComponentTranslation(e.getMessage(), e.getErrorObjects());
message.getStyle().setColor(TextFormatting.RED);
sender.sendMessage(message);
}
});
thread.setDaemon(true);
thread.start();
} else {
throw DeferredTranslator.createException(entity, "commands.earth.wrong_world");
}
}
代码示例来源:origin: gegy1000/Terrarium
@Override
public void displayPanorama() {
Minecraft mc = Minecraft.getMinecraft();
World world = mc.world;
EarthCapability earthData = world.getCapability(TerrariumEarth.earthCap, null);
if (earthData != null) {
EntityPlayer player = mc.player;
player.sendStatusMessage(new TextComponentTranslation("status.earth.panorama.searching"), true);
double latitude = earthData.getLatitude(player.posX, player.posZ);
double longitude = earthData.getLongitude(player.posX, player.posZ);
Thread thread = new Thread(() -> {
try {
PanoramaLookupHandler.Result result = PanoramaLookupHandler.queryPanorama(latitude, longitude);
if (result != null) {
Minecraft.getMinecraft().addScheduledTask(() -> this.setPanoramaState(earthData, player, result));
} else {
player.sendStatusMessage(new TextComponentTranslation("status.earth.panorama.none_found"), true);
}
} catch (Exception e) {
TerrariumEarth.LOGGER.error("Failed to lookup panorama", e);
player.sendStatusMessage(new TextComponentTranslation("status.earth.panorama.error"), true);
}
});
thread.setDaemon(true);
thread.setName("Panorama Lookup");
thread.start();
}
}
代码示例来源:origin: gegy1000/Terrarium
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
EntityPlayerMP player = CommandBase.getCommandSenderAsPlayer(sender);
EarthCapability earthData = player.world.getCapability(TerrariumEarth.earthCap, null);
if (earthData != null) {
ContainerUi.Builder builder = ContainerUi.builder(player)
.withTitle(DeferredTranslator.translate(player, new TextComponentTranslation("container.earth.geotool.name")))
.withElement(Items.COMPASS, TextFormatting.BOLD + "Where am I?", () -> this.handleLocate(player, earthData));
if (TerrariumHandshakeTracker.isFriendly(player)) {
builder = builder
.withElement(Items.ENDER_PEARL, TextFormatting.BOLD + "Go to place", () -> this.handleTeleport(player, earthData))
.withElement(Items.PAINTING, TextFormatting.BOLD + "Display Panorama", () -> this.handlePanorama(player));
}
ContainerUi ui = builder.build();
player.displayGUIChest(ui.createInventory());
} else {
throw DeferredTranslator.createException(player, "commands.earth.wrong_world");
}
}
内容来源于网络,如有侵权,请联系作者删除!