• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Tree类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: jungleWoodPlanksCanCreateCraftingTableAndJungleWoodStairs

import org.bukkit.material.Tree; //导入依赖的package包/类
@Test
public void jungleWoodPlanksCanCreateCraftingTableAndJungleWoodStairs() {
    Tree planks = new Tree(Material.WOOD);
    planks.setSpecies(TreeSpecies.JUNGLE);
    MaterialRecipes materialRecipes = recipeSnapshot.getMaterialRecipes(planks);
    boolean foundWorkBench = false;
    boolean foundJungleWoodPlanks = false;
    for (Recipe recipe : materialRecipes.getUsages()) {
        ItemStack result = recipe.getResult();
        if (Material.WORKBENCH.equals(result.getType())) {
            foundWorkBench = true;
        } else if (Material.JUNGLE_WOOD_STAIRS.equals(result.getType())) {
            foundJungleWoodPlanks = true;
        }
    }
    assertEqual(true, foundWorkBench);
    assertEqual(true, foundJungleWoodPlanks);
}
 
开发者ID:sciolizer,项目名称:craftinomicon,代码行数:19,代码来源:RecipeSnapshotTest.java


示例2: isBlockSolid

import org.bukkit.material.Tree; //导入依赖的package包/类
@Override
public boolean isBlockSolid(PlotBlock block) {
    try {
        Material material = Material.getMaterial(block.id);
        if (material.isBlock() && material.isSolid() && !material.hasGravity()) {
            Class<? extends MaterialData> data = material.getData();
            if (data.equals(MaterialData.class) || data.equals(Tree.class) || data.equals(Sandstone.class) || data.equals(Wool.class) || data.equals(Step.class)) {
                return true;
            }
        }
        return false;
    }
    catch (Exception e) {
        return false;
    }
}
 
开发者ID:Mayomi,项目名称:PlotSquared-Chinese,代码行数:17,代码来源:BukkitUtil.java


示例3: findJungleLog

import org.bukkit.material.Tree; //导入依赖的package包/类
/**
 * Finds a jungle log around this crop block.
 * @param crop The block to check around.
 * @return The rotation for which a jungle log was found, null otherwise.
 */
private BlockRotation findJungleLog(BlockLocation crop) {
    for (BlockRotation r : BlockRotation.values()) {
        Block block = crop.getRelative(r.getYawFace()).getBlock();
        if (block.getType() == Material.LOG) {
            BlockState state = block.getState();
            try {
                Tree tree = (Tree) state.getData();
                if (tree.getSpecies() == TreeSpecies.JUNGLE) {
                    return r;
                }
            } catch (ClassCastException e) {
            }
        }
    }
    return null;
}
 
开发者ID:StarQuestMinecraft,项目名称:StarQuestCode,代码行数:22,代码来源:CropCocoa.java


示例4: isBlockSolid

import org.bukkit.material.Tree; //导入依赖的package包/类
@Override
public boolean isBlockSolid(PlotBlock block) {
    try {
        Material material = Material.getMaterial(block.id);
        if (material.isBlock() && material.isSolid() && !material.hasGravity()) {
            Class<? extends MaterialData> data = material.getData();
            if (data.equals(MaterialData.class) && !material.isTransparent() && material.isOccluding()
                    || data.equals(Tree.class)
                    || data.equals(Sandstone.class)
                    || data.equals(Wool.class)
                    || data.equals(Step.class)
                    || data.equals(WoodenStep.class)) {
                switch (material) {
                    case NOTE_BLOCK:
                    case MOB_SPAWNER:
                        return false;
                    default:
                        return true;
                }
            }
        }
        return false;
    } catch (Exception ignored) {
        return false;
    }
}
 
开发者ID:IntellectualSites,项目名称:PlotSquared,代码行数:27,代码来源:BukkitUtil.java


示例5: checkForDoubleDrop

import org.bukkit.material.Tree; //导入依赖的package包/类
/**
 * Checks for double drops
 *
 * @param blockState Block being broken
 */
protected static void checkForDoubleDrop(BlockState blockState) {
    if (mcMMO.getModManager().isCustomLog(blockState) && mcMMO.getModManager().getBlock(blockState).isDoubleDropEnabled()) {
        Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
    }
    else {
        //TODO Remove this workaround when casting to Tree works again
        TreeSpecies species = TreeSpecies.GENERIC;
        if (blockState.getData() instanceof Tree) {
            species = ((Tree) blockState.getData()).getSpecies();
        }

        if (Config.getInstance().getWoodcuttingDoubleDropsEnabled(species)) {
            Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
        }
    }
}
 
开发者ID:Pershonkey,项目名称:McMMOPlus,代码行数:22,代码来源:Woodcutting.java


示例6: getExperienceFromLog

import org.bukkit.material.Tree; //导入依赖的package包/类
/**
 * Retrieves the experience reward from a log
 *
 * @param blockState Log being broken
 * @param experienceGainMethod How the log is being broken
 * @return Amount of experience
 */
protected static int getExperienceFromLog(BlockState blockState, ExperienceGainMethod experienceGainMethod) {
    // Mushrooms aren't trees so we could never get species data from them
    switch (blockState.getType()) {
        case HUGE_MUSHROOM_1:
            return ExperienceConfig.getInstance().getWoodcuttingXPHugeBrownMushroom();

        case HUGE_MUSHROOM_2:
            return ExperienceConfig.getInstance().getWoodcuttingXPHugeRedMushroom();

        default:
            break;
    }

    if (mcMMO.getModManager().isCustomLog(blockState)) {
        return mcMMO.getModManager().getBlock(blockState).getXpGain();
    }

    //TODO Remove this workaround when casting to Tree works again
    TreeSpecies species = TreeSpecies.GENERIC;
    if (blockState.getData() instanceof Tree) {
        species = ((Tree) blockState.getData()).getSpecies();
    }

    int xp = ExperienceConfig.getInstance().getWoodcuttingTreeXP(species);

    if (species == TreeSpecies.JUNGLE && experienceGainMethod == ExperienceGainMethod.TREE_FELLER) {
        xp *= 0.5;
    }

    return xp;
}
 
开发者ID:Pershonkey,项目名称:McMMOPlus,代码行数:39,代码来源:Woodcutting.java


示例7: dropBlocks

import org.bukkit.material.Tree; //导入依赖的package包/类
/**
 * Handles the dropping of blocks
 *
 * @param treeFellerBlocks List of blocks to be dropped
 */
private void dropBlocks(Set<BlockState> treeFellerBlocks) {
    Player player = getPlayer();
    int xp = 0;

    for (BlockState blockState : treeFellerBlocks) {
        Block block = blockState.getBlock();

        if (!EventUtils.simulateBlockBreak(block, player, true)) {
            break; // TODO: Shouldn't we use continue instead?
        }

        Material material = blockState.getType();

        if (material == Material.HUGE_MUSHROOM_1 || material == Material.HUGE_MUSHROOM_2) {
            xp += Woodcutting.getExperienceFromLog(blockState, ExperienceGainMethod.TREE_FELLER);
            Misc.dropItems(blockState.getLocation(), block.getDrops());
        }
        else if (mcMMO.getModManager().isCustomLog(blockState)) {
            if (canGetDoubleDrops()) {
                Woodcutting.checkForDoubleDrop(blockState);
            }

            CustomBlock customBlock = mcMMO.getModManager().getBlock(blockState);
            xp = customBlock.getXpGain();

            Misc.dropItems(blockState.getLocation(), block.getDrops());
        }
        else if (mcMMO.getModManager().isCustomLeaf(blockState)) {
            Misc.dropItems(blockState.getLocation(), block.getDrops());
        }
        else {
            //TODO Remove this workaround when casting to Tree works again
            if (blockState.getData() instanceof Tree) {
                Tree tree = (Tree) blockState.getData();
                tree.setDirection(BlockFace.UP);
            }

            switch (material) {
                case LOG:
                case LOG_2:
                    if (canGetDoubleDrops()) {
                        Woodcutting.checkForDoubleDrop(blockState);
                    }
                    xp += Woodcutting.getExperienceFromLog(blockState, ExperienceGainMethod.TREE_FELLER);
                    Misc.dropItems(blockState.getLocation(), block.getDrops());
                    break;

                case LEAVES:
                case LEAVES_2:
                    Misc.dropItems(blockState.getLocation(), block.getDrops());
                    break;

                default:
                    break;
            }
        }

        blockState.setType(Material.AIR);
        blockState.update(true);
    }

    applyXpGain(xp, XPGainReason.PVE);
}
 
开发者ID:Pershonkey,项目名称:McMMOPlus,代码行数:69,代码来源:WoodcuttingManager.java


示例8: Tree

import org.bukkit.material.Tree; //导入依赖的package包/类
public Tree() {
}
 
开发者ID:deathcap,项目名称:BedrockAPI,代码行数:3,代码来源:Tree.java


示例9: clone

import org.bukkit.material.Tree; //导入依赖的package包/类
public Tree clone() {
	return null;
}
 
开发者ID:deathcap,项目名称:BedrockAPI,代码行数:4,代码来源:Tree.java


示例10: getMaterialData

import org.bukkit.material.Tree; //导入依赖的package包/类
public static MaterialData getMaterialData(String identifier) {
    final String[] split = identifier.replaceAll("\\s+", "_").split("\\W");
    // TODO: Add additional material/name database like essentials/worldedit have
    Material material = matchMaterial(split[0]);

    if (material == null) {
        // try worldedit
        material = getWEMaterial(split[0]);
        if (material == null) return null;
    }

    if (split.length == 1) {
        return new MaterialData(material);
    }

    try {
        final byte rawData = Byte.parseByte(split[1]);
        return new MaterialData(material, rawData);
    } catch (NumberFormatException e) {
        // ignore
    }

    switch (material) {
        case LEAVES:
            return getMaterialData(material, Leaves::new, TreeSpecies.class, split[1]);
        case COAL:
            return getMaterialData(material, Coal::new, CoalType.class, split[1]);
        case LONG_GRASS:
            return getMaterialData(material, LongGrass::new, GrassSpecies.class, split[1]);
        case SANDSTONE:
            return getMaterialData(material, Sandstone::new, SandstoneType.class, split[1]);
        case MONSTER_EGG:
            return getMaterialData(material, SpawnEgg::new, EntityType.class, split[1]);
        case LOG:
            return getMaterialData(material, Tree::new, TreeSpecies.class, split[1]);
        case WOOD_STEP:
            return getMaterialData(material, WoodenStep::new, TreeSpecies.class, split[1]);
        case WOOL:
            return getMaterialData(material, Wool::new, DyeColor.class, split[1]);
        // TODO: Add Dye here when Spigot finally accepts my PR to match other MaterialData types
        default:
            // Couldn't find additional data for this material
            return new MaterialData(material);
    }
}
 
开发者ID:t7seven7t,项目名称:CraftFX,代码行数:46,代码来源:MaterialDataUtil.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java PreferenceChangeEvent类代码示例发布时间:2022-05-21
下一篇:
Java ConnectionPoolConfigurationImpl类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap