当前位置: 首页>>代码示例>>Java>>正文


Java World类代码示例

本文整理汇总了Java中net.minecraft.server.World的典型用法代码示例。如果您正苦于以下问题:Java World类的具体用法?Java World怎么用?Java World使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


World类属于net.minecraft.server包,在下文中一共展示了World类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: callBlockMultiPlaceEvent

import net.minecraft.server.World; //导入依赖的package包/类
/**
 * Block place methods
 */
public static BlockMultiPlaceEvent callBlockMultiPlaceEvent(World world, EntityHuman who, List<BlockState> blockStates, int clickedX, int clickedY, int clickedZ) {
    CraftWorld craftWorld = world.getWorld();
    CraftServer craftServer = world.getServer();
    Player player = (who == null) ? null : (Player) who.getBukkitEntity();

    Block blockClicked = craftWorld.getBlockAt(clickedX, clickedY, clickedZ);

    boolean canBuild = true;
    for (int i = 0; i < blockStates.size(); i++) {
        if (!canBuild(craftWorld, player, blockStates.get(i).getX(), blockStates.get(i).getZ())) {
            canBuild = false;
            break;
        }
    }

    BlockMultiPlaceEvent event = new BlockMultiPlaceEvent(blockStates, blockClicked, player.getItemInHand(), player, canBuild);
    craftServer.getPluginManager().callEvent(event);

    return event;
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:24,代码来源:CraftEventFactory.java

示例2: callPlayerDeathEvent

import net.minecraft.server.World; //导入依赖的package包/类
public static PlayerDeathEvent callPlayerDeathEvent(EntityPlayer victim, List<org.bukkit.inventory.ItemStack> drops, String deathMessage, boolean keepInventory) {
    CraftPlayer entity = victim.getBukkitEntity();
    PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
    event.setKeepInventory(keepInventory);
    org.bukkit.World world = entity.getWorld();
    Bukkit.getServer().getPluginManager().callEvent(event);

    victim.keepLevel = event.getKeepLevel();
    victim.newLevel = event.getNewLevel();
    victim.newTotalExp = event.getNewTotalExp();
    victim.expToDrop = event.getDroppedExp();
    victim.newExp = event.getNewExp();

    if (event.getKeepInventory()) {
        return event;
    }

    for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
        if (stack == null || stack.getType() == Material.AIR) continue;

        world.dropItemNaturally(entity.getLocation(), stack);
    }

    return event;
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:26,代码来源:CraftEventFactory.java

示例3: callBlockIgniteEvent

import net.minecraft.server.World; //导入依赖的package包/类
public static BlockIgniteEvent callBlockIgniteEvent(World world, int x, int y, int z, int igniterX, int igniterY, int igniterZ) {
    org.bukkit.World bukkitWorld = world.getWorld();
    Block igniter = bukkitWorld.getBlockAt(igniterX, igniterY, igniterZ);
    IgniteCause cause;
    switch (igniter.getType()) {
        case LAVA:
        case STATIONARY_LAVA:
            cause = IgniteCause.LAVA;
            break;
        case DISPENSER:
            cause = IgniteCause.FLINT_AND_STEEL;
            break;
        case FIRE: // Fire or any other unknown block counts as SPREAD.
        default:
            cause = IgniteCause.SPREAD;
    }

    BlockIgniteEvent event = new BlockIgniteEvent(bukkitWorld.getBlockAt(x, y, z), cause, igniter);
    world.getServer().getPluginManager().callEvent(event);
    return event;
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:22,代码来源:CraftEventFactory.java

示例4: callBlockPlaceEvent

import net.minecraft.server.World; //导入依赖的package包/类
/**
 * Block place methods
 */
public static BlockPlaceEvent callBlockPlaceEvent(World world, EntityHuman who, BlockState replacedBlockState, int clickedX, int clickedY, int clickedZ) {
    CraftWorld craftWorld = world.getWorld();
    CraftServer craftServer = world.getServer();

    Player player = (who == null) ? null : (Player) who.getBukkitEntity();

    Block blockClicked = craftWorld.getBlockAt(clickedX, clickedY, clickedZ);
    Block placedBlock = replacedBlockState.getBlock();

    boolean canBuild = canBuild(craftWorld, player, placedBlock.getX(), placedBlock.getZ());

    BlockPlaceEvent event = new BlockPlaceEvent(placedBlock, replacedBlockState, blockClicked, player.getItemInHand(), player, canBuild);
    craftServer.getPluginManager().callEvent(event);

    return event;
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:20,代码来源:CraftEventFactory.java

示例5: callEntityDeathEvent

import net.minecraft.server.World; //导入依赖的package包/类
public static EntityDeathEvent callEntityDeathEvent(EntityLiving victim, List<org.bukkit.inventory.ItemStack> drops) {
    CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
    EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
    org.bukkit.World world = entity.getWorld();
    Bukkit.getServer().getPluginManager().callEvent(event);

    victim.expToDrop = event.getDroppedExp();

    for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
        if (stack == null || stack.getType() == Material.AIR) continue;

        world.dropItemNaturally(entity.getLocation(), stack);
    }

    return event;
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:17,代码来源:CraftEventFactory.java

示例6: callPlayerDeathEvent

import net.minecraft.server.World; //导入依赖的package包/类
public static PlayerDeathEvent callPlayerDeathEvent(EntityPlayer victim, List<org.bukkit.inventory.ItemStack> drops, String deathMessage) {
    CraftPlayer entity = victim.getBukkitEntity();
    PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
    org.bukkit.World world = entity.getWorld();
    Bukkit.getServer().getPluginManager().callEvent(event);

    victim.keepLevel = event.getKeepLevel();
    victim.newLevel = event.getNewLevel();
    victim.newTotalExp = event.getNewTotalExp();
    victim.expToDrop = event.getDroppedExp();
    victim.newExp = event.getNewExp();

    for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
        if (stack == null || stack.getType() == Material.AIR) continue;

        world.dropItemNaturally(entity.getLocation(), stack);
    }

    return event;
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:21,代码来源:CraftEventFactory.java

示例7: getPeripheral

import net.minecraft.server.World; //导入依赖的package包/类
public static IPeripheral getPeripheral(World world, int x, int y, int z) {
    if (y >= 0 && y < world.getHeight()) {
        TileEntity tileEntity = world.getTileEntity(x, y, z);
        if (tileEntity == null) {
            return null;
        } else if (tileEntity instanceof TileEntityHowlerAlarm) {
            return new HowlerAlarmPeripheral(
                    (TileEntityHowlerAlarm) tileEntity);
        } else if (tileEntity instanceof TileEntityNuclearReactor) {
            return new IC2NuclearReactorPeripheral(
                    (TileEntityNuclearReactor) tileEntity);
        } else if (tileEntity instanceof IEnergyConductor) {
            return new IC2WirePeripheral(
                    (IEnergyConductor) tileEntity);
        } else if (tileEntity instanceof TileEntityElectricBlock) {
            return new IC2BatteryPeripiheral(
                    (TileEntityElectricBlock) tileEntity);
        } else {
            return null;
        }
    }

    return null;
}
 
开发者ID:SKCraft,项目名称:CCBolts,代码行数:25,代码来源:CCHook.java

示例8: QueuedChunk

import net.minecraft.server.World; //导入依赖的package包/类
public QueuedChunk(int x, int z, ChunkRegionLoader loader, World world, ChunkProviderServer provider) {
    this.x = x;
    this.z = z;
    this.loader = loader;
    this.world = world;
    this.provider = provider;
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:8,代码来源:QueuedChunk.java

示例9: handleBlockGrowEvent

import net.minecraft.server.World; //导入依赖的package包/类
public static void handleBlockGrowEvent(World world, int x, int y, int z, net.minecraft.server.Block type, int data) {
    Block block = world.getWorld().getBlockAt(x, y, z);
    CraftBlockState state = (CraftBlockState) block.getState();
    state.setTypeId(net.minecraft.server.Block.getId(type));
    state.setRawData((byte) data);

    BlockGrowEvent event = new BlockGrowEvent(block, state);
    Bukkit.getPluginManager().callEvent(event);

    if (!event.isCancelled()) {
        state.update(true);
    }
}
 
开发者ID:OvercastNetwork,项目名称:CraftBukkit,代码行数:14,代码来源:CraftEventFactory.java

示例10: setRabbitType

import net.minecraft.server.World; //导入依赖的package包/类
@Override
public void setRabbitType(Type type) {
    EntityRabbit entity = getHandle();
    if (getRabbitType() == Type.THE_KILLER_BUNNY) {
        // Reset goals and target finders.
        World world = ((CraftWorld) this.getWorld()).getHandle();
        entity.goalSelector = new PathfinderGoalSelector(world != null && world.methodProfiler != null ? world.methodProfiler : null);
        entity.targetSelector = new PathfinderGoalSelector(world != null && world.methodProfiler != null ? world.methodProfiler : null);
        entity.initializePathFinderGoals();
    }

    entity.setRabbitType(CraftMagicMapping.toMagic(type)); 
}
 
开发者ID:tgnmc,项目名称:Craftbukkit,代码行数:14,代码来源:CraftRabbit.java

示例11: handleBlockGrowEvent

import net.minecraft.server.World; //导入依赖的package包/类
public static void handleBlockGrowEvent(World world, int x, int y, int z, int type, int data) {
    Block block = world.getWorld().getBlockAt(x, y, z);
    CraftBlockState state = (CraftBlockState) block.getState();
    state.setTypeId(type);
    state.setRawData((byte) data);

    BlockGrowEvent event = new BlockGrowEvent(block, state);
    Bukkit.getPluginManager().callEvent(event);

    if (!event.isCancelled()) {
        state.update(true);
    }
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:14,代码来源:CraftEventFactory.java

示例12: callBlockTickEvent

import net.minecraft.server.World; //导入依赖的package包/类
public static BlockTickEvent callBlockTickEvent(World world, int x, int y, int z, Random random) {
    org.bukkit.World bukkitWorld = world.getWorld();
    final Block bukkitBlock = bukkitWorld.getBlockAt(x, y, z);
    final BlockTickEvent event = new BlockTickEvent(bukkitBlock, random);
    world.getServer().getPluginManager().callEvent(event);
    return event;
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:8,代码来源:CraftEventFactory.java

示例13: activateEntities

import net.minecraft.server.World; //导入依赖的package包/类
/**
 * Find what entities are in range of the players in the world and set
 * active if in range.
 *
 * @param world
 */
public static void activateEntities(World world)
{
    SpigotTimings.entityActivationCheckTimer.startTiming();
    final int miscActivationRange = world.spigotConfig.miscActivationRange;
    final int animalActivationRange = world.spigotConfig.animalActivationRange;
    final int monsterActivationRange = world.spigotConfig.monsterActivationRange;

    int maxRange = Math.max( monsterActivationRange, animalActivationRange );
    maxRange = Math.max( maxRange, miscActivationRange );
    maxRange = Math.min( ( world.spigotConfig.viewDistance << 4 ) - 8, maxRange );

    for ( Entity player : new ArrayList<Entity>( world.players ) )
    {

        player.activatedTick = MinecraftServer.currentTick;
        growBB( maxBB, player.boundingBox, maxRange, 256, maxRange );
        growBB( miscBB, player.boundingBox, miscActivationRange, 256, miscActivationRange );
        growBB( animalBB, player.boundingBox, animalActivationRange, 256, animalActivationRange );
        growBB( monsterBB, player.boundingBox, monsterActivationRange, 256, monsterActivationRange );

        int i = MathHelper.floor( maxBB.a / 16.0D );
        int j = MathHelper.floor( maxBB.d / 16.0D );
        int k = MathHelper.floor( maxBB.c / 16.0D );
        int l = MathHelper.floor( maxBB.f / 16.0D );

        for ( int i1 = i; i1 <= j; ++i1 )
        {
            for ( int j1 = k; j1 <= l; ++j1 )
            {
                if ( world.getWorld().isChunkLoaded( i1, j1 ) )
                {
                    activateChunkEntities( world.getChunkAt( i1, j1 ) );
                }
            }
        }
    }
    SpigotTimings.entityActivationCheckTimer.stopTiming();
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:45,代码来源:ActivationRange.java

示例14: updateNearbyBlocks

import net.minecraft.server.World; //导入依赖的package包/类
/**
 * Starts the timings handler, then updates all blocks within the set radius
 * of the given coordinate, revealing them if they are hidden ores.
 */
public void updateNearbyBlocks(World world, int x, int y, int z)
{
    if ( world.spigotConfig.antiXray )
    {
        update.startTiming();
        updateNearbyBlocks( world, x, y, z, 2, false ); // 2 is the radius, we shouldn't change it as that would make it exponentially slower
        update.stopTiming();
    }
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:14,代码来源:AntiXray.java

示例15: obfuscateSync

import net.minecraft.server.World; //导入依赖的package包/类
/**
 * Starts the timings handler, and then removes all non exposed ores from
 * the chunk buffer.
 */
public void obfuscateSync(int chunkX, int chunkY, int bitmask, byte[] buffer, World world)
{
    if ( world.spigotConfig.antiXray )
    {
        obfuscate.startTiming();
        obfuscate( chunkX, chunkY, bitmask, buffer, world );
        obfuscate.stopTiming();
    }
}
 
开发者ID:AlmuraDev,项目名称:Almura-Server,代码行数:14,代码来源:AntiXray.java


注:本文中的net.minecraft.server.World类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。