Java 类net.minecraft.entity.item.EntityMinecartContainer 实例源码

项目:CustomWorldGen    文件:ForgeHooks.java   
public static boolean onTravelToDimension(Entity entity, int dimension)
{
    EntityTravelToDimensionEvent event = new EntityTravelToDimensionEvent(entity, dimension);
    MinecraftForge.EVENT_BUS.post(event);
    if (event.isCanceled())
    {
        // Revert variable back to true as it would have been set to false
        if (entity instanceof EntityMinecartContainer)
        {
           ((EntityMinecartContainer) entity).dropContentsWhenDead = true;
        }
    }
    return !event.isCanceled();
}
项目: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;
}