當前位置: 首頁>>代碼示例>>Java>>正文


Java TileEntityFurnace類代碼示例

本文整理匯總了Java中net.minecraft.tileentity.TileEntityFurnace的典型用法代碼示例。如果您正苦於以下問題:Java TileEntityFurnace類的具體用法?Java TileEntityFurnace怎麽用?Java TileEntityFurnace使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


TileEntityFurnace類屬於net.minecraft.tileentity包,在下文中一共展示了TileEntityFurnace類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: update

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
@Override
public void update() {
    TileEntityFurnace furnace = getTileEntity();
    if (getHeatExchanger().getTemperature() > 373) {
        int furnaceBurnTime = furnace.getField(0);
        int furnaceCookTime = furnace.getField(2);
        if (furnaceBurnTime < 190 && !furnace.getStackInSlot(0).isEmpty()) {
            if (furnaceBurnTime == 0) BlockFurnace.setState(true, furnace.getWorld(), furnace.getPos());
            furnace.setField(1, 200); // currentItemBurnTime
            furnace.setField(0, furnaceBurnTime + 10); // furnaceBurnTime
            getHeatExchanger().addHeat(-1);
        }
        if (furnaceCookTime > 0) {
            // Easy performance saver, the Furnace won't be ticked unnecessary when there's nothing to
            // cook (or when just started cooking).
            int progress = Math.max(0, ((int) getHeatExchanger().getTemperature() - 343) / 30);
            progress = Math.min(5, progress);
            for (int i = 0; i < progress; i++) {
                furnace.update();
            }
        }
    }
}
 
開發者ID:TeamPneumatic,項目名稱:pnc-repressurized,代碼行數:24,代碼來源:HeatBehaviourFurnace.java

示例2: onBlockActivated

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)
{
    if (worldIn.isRemote)
    {
        return true;
    }
    else
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof TileEntityFurnace)
        {
            playerIn.displayGUIChest((TileEntityFurnace)tileentity);
            playerIn.triggerAchievement(StatList.field_181741_Y);
        }

        return true;
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:20,代碼來源:BlockFurnace.java

示例3: drawGuiContainerBackgroundLayer

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
/**
 * Args : renderPartialTicks, mouseX, mouseY
 */
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    this.mc.getTextureManager().bindTexture(furnaceGuiTextures);
    int i = (this.width - this.xSize) / 2;
    int j = (this.height - this.ySize) / 2;
    this.drawTexturedModalRect(i, j, 0, 0, this.xSize, this.ySize);

    if (TileEntityFurnace.isBurning(this.tileFurnace))
    {
        int k = this.getBurnLeftScaled(13);
        this.drawTexturedModalRect(i + 56, j + 36 + 12 - k, 176, 12 - k, 14, k + 1);
    }

    int l = this.getCookProgressScaled(24);
    this.drawTexturedModalRect(i + 79, j + 34, 176, 14, l + 1, 16);
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:21,代碼來源:GuiFurnace.java

示例4: findMatchingFuel

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
public static MachineFuel findMatchingFuel(ResourceLocation list, NonNullList<ItemStack> input)
{
    if (list.toString().equals("minecraft:vanilla"))
    {
        if (input.size() == 1 && !input.get(0).isEmpty())
        {
            ItemStack stack = input.get(0);
            int burnTime = TileEntityFurnace.getItemBurnTime(stack);
            if (burnTime > 0)
                return new VanillaFurnaceFuel(stack, burnTime);
        }

        return MachineFuel.EMPTY;
    }

    return findMatchingFuel(getInstance(list).fuels, input);
}
 
開發者ID:cubex2,項目名稱:customstuff4,代碼行數:18,代碼來源:MachineManager.java

示例5: isPartOfFuel

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
public static boolean isPartOfFuel(ResourceLocation list, ItemStack stack)
{
    if (stack.isEmpty())
        return false;

    if (list.toString().equals("minecraft:vanilla"))
    {
        return TileEntityFurnace.getItemBurnTime(stack) > 0;
    }

    for (MachineFuel fuel : getInstance(list).fuels)
    {
        if (fuel.getFuelInput().stream()
                .anyMatch(input -> ItemHelper.stackMatchesRecipeInput(stack, input, false)))
            return true;
    }

    return false;
}
 
開發者ID:cubex2,項目名稱:customstuff4,代碼行數:20,代碼來源:MachineManager.java

示例6: isStackValidForSlot

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
private boolean isStackValidForSlot(int index, @Nonnull ItemStack stack)
{
    if (!slotChecksEnabled)
        return true;

    if (type.isOutputSlot(index))
    {
        return false;
    } else if (type.isInputSlot(index))
    {
        return true;
    } else
    {
        return TileEntityFurnace.isItemFuel(stack) || SlotFurnaceFuel.isBucket(stack);
    }
}
 
開發者ID:cubex2,項目名稱:morefurnaces,代碼行數:17,代碼來源:ItemHandlerFurnace.java

示例7: useOnVanillaFurnace

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
private boolean useOnVanillaFurnace(EntityPlayer playerIn, World world, BlockPos pos, ItemStack stack, Upgrades upgrade)
{
    TileEntity te = world.getTileEntity(pos);
    if (te != null && te instanceof TileEntityFurnace)
    {
        TileEntityFurnace furnace = (TileEntityFurnace) te;
        boolean upgraded = upgradeVanillaFurnace(world, pos, furnace, upgrade.getUpgradedType());

        if (upgraded && !playerIn.capabilities.isCreativeMode)
        {
            stack.shrink(1);
        }

        return true;
    }
    return false;
}
 
開發者ID:cubex2,項目名稱:morefurnaces,代碼行數:18,代碼來源:ItemUpgrade.java

示例8: upgradeVanillaFurnace

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
private boolean upgradeVanillaFurnace(World world, BlockPos pos, TileEntityFurnace furnace, FurnaceType to)
{
    byte facing = (byte) world.getBlockState(pos).getValue(BlockFurnace.FACING).ordinal();
    TileEntityIronFurnace newFurnace = FurnaceType.makeEntity(to.ordinal());

    if (newFurnace != null)
    {
        int[][] fromSlotIds = new int[][] {new int[] {0}, new int[] {1}, new int[] {2}};

        copyInventory(furnace, fromSlotIds, newFurnace);

        world.setBlockState(pos, MoreFurnaces.blockFurnaces.getDefaultState().withProperty(BlockMoreFurnaces.VARIANT, to));
        world.setTileEntity(pos, newFurnace);

        newFurnace.copyStateFrom(furnace, facing);

        return true;
    } else
    {
        return false;
    }
}
 
開發者ID:cubex2,項目名稱:morefurnaces,代碼行數:23,代碼來源:ItemUpgrade.java

示例9: onBlockActivated

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing heldItem, float side, float hitX, float hitY)
{
    if (worldIn.isRemote)
    {
        return true;
    }
    else
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof TileEntityFurnace)
        {
            playerIn.displayGUIChest((TileEntityFurnace)tileentity);
            playerIn.addStat(StatList.FURNACE_INTERACTION);
        }

        return true;
    }
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:20,代碼來源:BlockFurnace.java

示例10: breakBlock

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
/**
 * Called serverside after this block is replaced with another in Chunk, but before the Tile Entity is updated
 */
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
{
    if (!keepInventory)
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof TileEntityFurnace)
        {
            InventoryHelper.dropInventoryItems(worldIn, pos, (TileEntityFurnace)tileentity);
            worldIn.updateComparatorOutputLevel(pos, this);
        }
    }

    super.breakBlock(worldIn, pos, state);
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:19,代碼來源:BlockFurnace.java

示例11: drawGuiContainerBackgroundLayer

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
/**
 * Draws the background layer of this container (behind the items).
 */
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    this.mc.getTextureManager().bindTexture(FURNACE_GUI_TEXTURES);
    int i = (this.width - this.xSize) / 2;
    int j = (this.height - this.ySize) / 2;
    this.drawTexturedModalRect(i, j, 0, 0, this.xSize, this.ySize);

    if (TileEntityFurnace.isBurning(this.tileFurnace))
    {
        int k = this.getBurnLeftScaled(13);
        this.drawTexturedModalRect(i + 56, j + 36 + 12 - k, 176, 12 - k, 14, k + 1);
    }

    int l = this.getCookProgressScaled(24);
    this.drawTexturedModalRect(i + 79, j + 34, 176, 14, l + 1, 16);
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:21,代碼來源:GuiFurnace.java

示例12: onBlockActivated

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
    if (worldIn.isRemote)
    {
        return true;
    }
    else
    {
        TileEntity tileentity = worldIn.getTileEntity(pos);

        if (tileentity instanceof TileEntityFurnace)
        {
            playerIn.displayGUIChest((TileEntityFurnace)tileentity);
            playerIn.addStat(StatList.FURNACE_INTERACTION);
        }

        return true;
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:20,代碼來源:BlockFurnace.java

示例13: initialize

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
public static void initialize() {
    NonNullList<ItemStack> stacks = NonNullList.create();
    for (Item i : ForgeRegistries.ITEMS) {
        CreativeTabs tab = i.getCreativeTab();
        if(tab != null) {
            i.getSubItems(tab, stacks);
        }
    }
    List<ItemStack> out = new LinkedList<>();
    for (ItemStack stack : stacks) {
        int burn = TileEntityFurnace.getItemBurnTime(stack); //Respects vanilla values.
        if(burn > 0) {
            out.add(stack);
        }
    }
    knownFuelStacks = ImmutableList.copyOf(out);
}
 
開發者ID:HellFirePvP,項目名稱:ModularMachinery,代碼行數:18,代碼來源:FuelItemHelper.java

示例14: handleEntityCollision

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
@Override
public boolean handleEntityCollision(World worldIn, BlockPos pos,
		IBlockState state, Entity entityIn) {
	if(entity.ticksExisted()%FUEL_EAT_TICKS==0 && !worldIn.isRemote){
		if(entityIn instanceof EntityItem){
			ItemStack stack = ((EntityItem)entityIn).getItem();
			//find the furnace burn time. if not hardcoded in vanilla furnace, it will check Forge's registered fuelHandlers
			int burnTime = TileEntityFurnace.getItemBurnTime(stack);
			if(burnTime!=0){
				this.addFuel(burnTime*stack.getCount());
				worldIn.playSound(null,entityIn.posX, entityIn.posY, entityIn.posZ, SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 1, 1);
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, entityIn.posX, entityIn.posY, entityIn.posZ, 0, 0, 0);
				entityIn.setDead();
				IBlockState bstate = worldIn.getBlockState(getPos());
				worldIn.notifyBlockUpdate(getPos(), bstate, bstate, 3);
			}
		}
	}
	return true;
}
 
開發者ID:Xilef11,項目名稱:runesofwizardry-classics,代碼行數:21,代碼來源:FueledRuneEntity.java

示例15: ignite

import net.minecraft.tileentity.TileEntityFurnace; //導入依賴的package包/類
private boolean ignite() {
  ItemStack stackInSlot = furnace.getStackInSlot(fuel_slot);
  int burnTime = TileEntityFurnace.getItemBurnTime(stackInSlot);
  if (burnTime > 0) {
    furnace.setField(currentItemBurnTime_field, burnTime);
    furnace.setField(furnaceBurnTime_field, burnTime - 1);
    stackInSlot.stackSize--;
    if (stackInSlot.stackSize <= 0) {
      stackInSlot = stackInSlot.getItem().getContainerItem(stackInSlot);
    }
    furnace.setInventorySlotContents(fuel_slot, stackInSlot);
    BlockFurnace.setState(furnace.isBurning(), furnace.getWorld(), furnace.getPos());
    furnace.markDirty();
    return true;
  }
  return false;
}
 
開發者ID:HenryLoenwind,項目名稱:mves,代碼行數:18,代碼來源:FurnaceCapabilityProvider.java


注:本文中的net.minecraft.tileentity.TileEntityFurnace類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。