Java 类net.minecraft.block.BlockWorkbench 实例源码

项目:Minestrappolation-4    文件:ItemPortableCrafting.java   
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
{
    ItemPortableCrafting item = (ItemPortableCrafting) player.getHeldItem().getItem();

    if (!world.isRemote)
    {
        if (!player.isSneaking())
        {
            if (item.type == 0)
            {
                player.displayGui(new BlockWorkbench.InterfaceCraftingTable(world, player.getPosition()));
            }
        }
    }
    return stack;
}
项目:Wurst-MC-1.12    文件:AutoEatMod.java   
private boolean shouldEat()
{
    // check hunger
    if(!WMinecraft.getPlayer().canEat(false))
        return false;

    // check screen
    if(!ignoreScreen.isChecked() && mc.currentScreen != null)
        return false;

    // check for clickable objects
    if(mc.currentScreen == null && mc.objectMouseOver != null)
    {
        // clickable entities
        Entity entity = mc.objectMouseOver.entityHit;
        if(entity instanceof EntityVillager
            || entity instanceof EntityTameable)
            return false;

        // clickable blocks
        BlockPos pos = mc.objectMouseOver.getBlockPos();
        if(pos != null)
        {
            Block block =
                WMinecraft.getWorld().getBlockState(pos).getBlock();
            if(block instanceof BlockContainer
                || block instanceof BlockWorkbench)
                return false;
        }
    }

    return true;
}
项目:MC-Prefab    文件:StructureAlternateStart.java   
@Override
protected Boolean CustomBlockProcessingHandled(StructureConfiguration configuration, BuildBlock block, World world, BlockPos originalPos,
        EnumFacing assumedNorth, Block foundBlock, IBlockState blockState, EntityPlayer player)
{
    HouseConfiguration houseConfig = (HouseConfiguration) configuration;

    if ((!houseConfig.addBed && foundBlock instanceof BlockBed) || (!houseConfig.addChest && foundBlock instanceof BlockChest)
            || (!houseConfig.addTorches && foundBlock instanceof BlockTorch)
            || (!houseConfig.addCraftingTable && (foundBlock instanceof BlockWorkbench || foundBlock instanceof BlockFurnace)))
    {
        // Don't place the block, returning true means that this has been
        // "handled"
        return true;
    }

    if (foundBlock instanceof BlockFurnace)
    {
        this.furnacePosition = block.getStartingPosition().getRelativePosition(
                originalPos,
                this.getClearSpace().getShape().getDirection(),
                configuration.houseFacing);
    }
    else if (foundBlock instanceof BlockTrapDoor && houseConfig.addMineShaft)
    {
        // The trap door will still be added, but the mine shaft may not be
        // built.
        this.trapDoorPosition = block.getStartingPosition().getRelativePosition(
                originalPos,
                this.getClearSpace().getShape().getDirection(),
                configuration.houseFacing);
    }
    else if (foundBlock instanceof BlockChest && this.chestPosition == null)
    {
        this.chestPosition = block.getStartingPosition().getRelativePosition(
                originalPos,
                this.getClearSpace().getShape().getDirection(),
                configuration.houseFacing);
    }
    else if (foundBlock instanceof BlockStandingSign)
    {
        this.signPosition = block.getStartingPosition().getRelativePosition(
                originalPos,
                this.getClearSpace().getShape().getDirection(),
                configuration.houseFacing);
    }

    if (foundBlock.getRegistryName().getResourceDomain().equals(Blocks.STAINED_GLASS.getRegistryName().getResourceDomain())
            && foundBlock.getRegistryName().getResourcePath().equals(Blocks.STAINED_GLASS.getRegistryName().getResourcePath()))
    {
        blockState = blockState.withProperty(BlockStainedGlass.COLOR, houseConfig.glassColor);
        block.setBlockState(blockState);
        this.priorityOneBlocks.add(block);

        return true;
    }
    else if (foundBlock.getRegistryName().getResourceDomain().equals(Blocks.STAINED_GLASS_PANE.getRegistryName().getResourceDomain())
            && foundBlock.getRegistryName().getResourcePath().equals(Blocks.STAINED_GLASS_PANE.getRegistryName().getResourcePath()))
    {
        block.setBlockState(foundBlock.getStateFromMeta(houseConfig.glassColor.getMetadata()));
        this.priorityOneBlocks.add(block);
        return true;
    }

    return false;
}
项目:morecommands    文件:CommandOpen.java   
@Override
public String execute(CommandSender sender, String[] params) throws CommandException {
    EntityPlayerMP player = getSenderAsEntity(sender.getMinecraftISender(), EntityPlayerMP.class);
    Entity entity = EntityUtils.traceEntity(player, 128D);

    if (params.length == 0 && entity instanceof AbstractChestHorse) {
        ((AbstractChestHorse) entity).openGUI(player);
    }
    else if (params.length == 0 && entity instanceof EntityVillager) {
        player.displayVillagerTradeGui((EntityVillager) entity);
    }
    else if (params.length == 0 && entity instanceof EntityMinecartContainer) {
        player.displayGui((EntityMinecartContainer) entity);
    }
    else {
        if (params.length == 0 || params.length > 2) {
            BlockPos trace; 

            try {trace = params.length > 2 ? getCoordFromParams(sender.getMinecraftISender(), params, 0) : EntityUtils.traceBlock(player, 128D);}
            catch (NumberFormatException nfe) {throw new CommandException("command.open.NAN", sender);}

            if (trace == null)
                throw new CommandException("command.open.noBlock", sender);

            TileEntity te = sender.getWorld().getTileEntity(trace);
            Block block = WorldUtils.getBlock(sender.getWorld(), trace);

            if (te instanceof IInteractionObject)
                player.displayGui((IInteractionObject) te);
            else if (te instanceof IInventory)
                player.displayGUIChest((IInventory) te);
            else if (block == Blocks.ANVIL)
                player.displayGui(new BlockAnvil.Anvil(sender.getWorld(), trace));
            else if (block == Blocks.CRAFTING_TABLE)
                player.displayGui(new BlockWorkbench.InterfaceCraftingTable(sender.getWorld(), trace));
            else 
                throw new CommandException("command.open.invalidBlock", sender);
        }
        else if (params.length > 0) {
            if (params[0].equalsIgnoreCase("enderchest"))
                player.displayGUIChest(player.getInventoryEnderChest());
            else if (params[0].equalsIgnoreCase("enchantment_table") || (params.length > 1 && params[0].equalsIgnoreCase("enchantment") && params[1].equalsIgnoreCase("table"))) {
                final World w = sender.getWorld();

                player.displayGui(new IInteractionObject() {
                    @Override public boolean hasCustomName() {return false;}
                    @Override public String getName() {return "container.enchant";}
                    @Override public ITextComponent getDisplayName() {return new TextComponentTranslation(this.getName());}
                    @Override public String getGuiID() {return "minecraft:enchanting_table";}
                    @Override public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn) {
                        return new ContainerEnchantment(playerInventory, w, BlockPos.ORIGIN);
                    }
                });
                this.allowedInteractions.put(player, player.openContainer);
            }
            else if (params[0].equalsIgnoreCase("anvil")) {
                player.displayGui(new BlockAnvil.Anvil(sender.getWorld(), BlockPos.ORIGIN)); 
                this.allowedInteractions.put(player, player.openContainer);
            }
            else if (params[0].equalsIgnoreCase("workbench") || params[0].equalsIgnoreCase("crafting_table") || (params.length > 1 && params[0].equalsIgnoreCase("crafting") && params[1].equalsIgnoreCase("table")) ) {
                player.displayGui(new BlockWorkbench.InterfaceCraftingTable(sender.getWorld(), BlockPos.ORIGIN));
                this.allowedInteractions.put(player, player.openContainer);
            }
            else if (params[0].equalsIgnoreCase("furnace") || params[0].equalsIgnoreCase("brewing_stand") || (params.length > 1 && params[0].equalsIgnoreCase("brewing") && params[1].equalsIgnoreCase("stand")))
                throw new CommandException("command.open.cantOpenTEs", sender);
            else
                throw new CommandException("command.open.invalidContainer", sender, params[0]);
        }
        else throw new CommandException("command.generic.invalidUsage", sender, this.getCommandName());
    }

    return null;
}