类net.minecraftforge.fml.common.Optional.Method源码实例Demo

下面列出了怎么用net.minecraftforge.fml.common.Optional.Method的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: GregTech   文件: ScoopBehaviour.java
@Method(modid = GTValues.MODID_FR)
private boolean processButterflyCatch(ItemStack itemStack, EntityPlayer player, Entity entity) {
    if (entity instanceof IEntityButterfly) {
        if (player.world.isRemote) {
            return true;
        }
        if (player.capabilities.isCreativeMode || GTUtility.doDamageItem(itemStack, this.cost, false)) {
            IEntityButterfly butterfly = (IEntityButterfly) entity;
            IAlleleButterflySpecies species = butterfly.getButterfly().getGenome().getPrimary();
            species.getRoot().getBreedingTracker(entity.world, player.getGameProfile()).registerCatch(butterfly.getButterfly());
            player.world.spawnEntity(new EntityItem(player.world, entity.posX, entity.posY, entity.posZ,
                species.getRoot().getMemberStack(butterfly.getButterfly().copy(), EnumFlutterType.BUTTERFLY)));
            entity.setDead();
        }
        return true;
    }
    return false;
}
 
源代码2 项目: TofuCraftReload   文件: RecipeLoader.java
@Method(modid = "crafttweaker")
public static void doDelayTask()
{
    for (IAction act : actions)
    {
        CraftTweakerAPI.apply(act);
        if (act.describe() != null)
        {
        	TofuMain.logger.log(Level.INFO, act.describe());
        }
    }
    actions.clear();
}
 
源代码3 项目: Sakura_mod   文件: IEcompat.java
@SubscribeEvent
@Method(modid = "immersiveengineering")
public static void registerRecipe(RegistryEvent.Register<IRecipe> event) {
	CokeOvenRecipe.addRecipe(new ItemStack(BlockLoader.BAMBOO_CHARCOAL_BLOCK), new ItemStack(BlockLoader.BAMBOO_BLOCK), 3200, 2000);
	CokeOvenRecipe.addRecipe(new ItemStack(ItemLoader.MATERIAL, 1,51), new ItemStack(BlockLoader.BAMBOO, 1), 800, 500);
	BlastFurnaceRecipe.addBlastFuel(new ItemStack(ItemLoader.MATERIAL, 1,51), 500);
	BlastFurnaceRecipe.addBlastFuel(new ItemStack(BlockLoader.BAMBOO_CHARCOAL_BLOCK), 2500);
}
 
源代码4 项目: Sakura_mod   文件: SakuraRecipeRegister.java
@Method(modid = "crafttweaker")
public static void doDelayTask() {
    for (IAction act : actions) {
        CraftTweakerAPI.apply(act);
        if (act.describe() != null)
        	SakuraMain.logger.log(Level.INFO, act.describe());
    }
    actions.clear();
}
 
源代码5 项目: GregTech   文件: RecipeMap.java
@ZenMethod("findRecipe")
@Method(modid = GTValues.MODID_CT)
@Nullable
public CTRecipe ctFindRecipe(long maxVoltage, IItemStack[] itemInputs, ILiquidStack[] fluidInputs, @Optional(valueLong = Integer.MAX_VALUE) int outputFluidTankCapacity) {
    List<ItemStack> mcItemInputs = itemInputs == null ? Collections.emptyList() :
        Arrays.stream(itemInputs)
            .map(CraftTweakerMC::getItemStack)
            .collect(Collectors.toList());
    List<FluidStack> mcFluidInputs = fluidInputs == null ? Collections.emptyList() :
        Arrays.stream(fluidInputs)
            .map(CraftTweakerMC::getLiquidStack)
            .collect(Collectors.toList());
    Recipe backingRecipe = findRecipe(maxVoltage, mcItemInputs, mcFluidInputs, outputFluidTankCapacity);
    return backingRecipe == null ? null : new CTRecipe(this, backingRecipe);
}
 
源代码6 项目: GregTech   文件: RecipeMap.java
@ZenGetter("recipes")
@Method(modid = GTValues.MODID_CT)
public List<CTRecipe> ccGetRecipeList() {
    return getRecipeList().stream()
        .map(recipe -> new CTRecipe(this, recipe))
        .collect(Collectors.toList());
}
 
源代码7 项目: GregTech   文件: BlacklistedBlockFiller.java
@ZenGetter("blacklist")
@Method(modid = GTValues.MODID_CT)
public List<crafttweaker.api.block.IBlockState> ctGetBlacklist() {
    return blacklist.stream()
        .map(CraftTweakerMC::getBlockState)
        .collect(Collectors.toList());
}
 
源代码8 项目: GregTech   文件: OreDepositDefinition.java
@ZenMethod("getBiomeWeightModifier")
@Method(modid = GTValues.MODID_CT)
public int ctGetBiomeWeightModifier(IBiome biome) {
    int biomeIndex = ArrayUtils.indexOf(CraftTweakerMC.biomes, biome);
    Biome mcBiome = Biome.REGISTRY.getObjectById(biomeIndex);
    return mcBiome == null ? 0 : getBiomeWeightModifier().apply(mcBiome);
}
 
源代码9 项目: GregTech   文件: ShapeGenerator.java
@ZenMethod
@Method(modid = GTValues.MODID_CT)
public void generate(long randomSeed, IWorld world, IBlockPos centerPos, IBlockState blockState) {
    World mcWorld = CraftTweakerMC.getWorld(world);
    net.minecraft.block.state.IBlockState mcBlockState = CraftTweakerMC.getBlockState(blockState);
    BlockPos blockPos = CraftTweakerMC.getBlockPos(centerPos);
    generate(new Random(randomSeed), (x, y, z) -> mcWorld.setBlockState(blockPos, mcBlockState));
}
 
源代码10 项目: GregTech   文件: FluidMaterial.java
@ZenGetter("fluid")
@Method(modid = GTValues.MODID_CT)
@Nullable
public ILiquidDefinition ctGetFluid() {
    Fluid materialFluid = getMaterialFluid();
    return materialFluid == null ? null : CraftTweakerMC.getILiquidDefinition(materialFluid);
}
 
源代码11 项目: GregTech   文件: FluidMaterial.java
@ZenGetter("plasma")
@Method(modid = GTValues.MODID_CT)
@Nullable
public ILiquidDefinition ctGetPlasma() {
    Fluid materialFluid = getMaterialPlasma();
    return materialFluid == null ? null : CraftTweakerMC.getILiquidDefinition(materialFluid);
}
 
源代码12 项目: GregTech   文件: FluidPipeNet.java
@Method(modid = GTValues.MODID_FMP)
private static void removeMultipartPipePartFromTile(TileEntity tileEntity) {
    if (tileEntity instanceof TileMultipart) {
        TileMultipart tileMultipart = (TileMultipart) tileEntity;
        List<TMultiPart> partList = tileMultipart.jPartList();
        for (TMultiPart tMultiPart : partList) {
            if (tMultiPart instanceof IPipeTile) {
                tileMultipart.remPart(tMultiPart);
            }
        }
    }
}
 
源代码13 项目: GregTech   文件: PrimitiveBlastFurnaceRecipe.java
@ZenGetter("input")
@Method(modid = GTValues.MODID_CT)
public InputIngredient ctGetInput() {
    return new InputIngredient(getInput());
}
 
源代码14 项目: GregTech   文件: PrimitiveBlastFurnaceRecipe.java
@ZenGetter("output")
@Method(modid = GTValues.MODID_CT)
public IItemStack ctGetOutput() {
    return CraftTweakerMC.getIItemStack(getOutput());
}
 
源代码15 项目: GregTech   文件: FuelRecipe.java
@ZenMethod("create")
@Method(modid = GTValues.MODID_CT)
public static FuelRecipe craftTweakerCreate(ILiquidStack liquidStack, int duration, long minVoltage) {
    return new FuelRecipe(CraftTweakerMC.getLiquidStack(liquidStack), duration, minVoltage);
}
 
源代码16 项目: GregTech   文件: FuelRecipe.java
@ZenGetter("fluid")
@Method(modid = GTValues.MODID_CT)
public ILiquidStack ctGetFluid() {
    return new MCLiquidStack(getRecipeFluid());
}
 
源代码17 项目: GregTech   文件: CokeOvenRecipe.java
@ZenGetter("input")
@Method(modid = GTValues.MODID_CT)
public InputIngredient ctGetInput() {
    return new InputIngredient(getInput());
}
 
源代码18 项目: GregTech   文件: CokeOvenRecipe.java
@ZenGetter("output")
@Method(modid = GTValues.MODID_CT)
public IItemStack ctGetOutput() {
    return CraftTweakerMC.getIItemStack(getOutput());
}
 
源代码19 项目: GregTech   文件: CokeOvenRecipe.java
@ZenGetter("fluidOutput")
@Method(modid = GTValues.MODID_CT)
public ILiquidStack ctGetLiquidOutput() {
    return new MCLiquidStack(getFluidOutput());
}
 
源代码20 项目: GregTech   文件: RecipeMap.java
@ZenMethod("recipeBuilder")
@Method(modid = GTValues.MODID_CT)
public CTRecipeBuilder ctRecipeBuilder() {
    return new CTRecipeBuilder(recipeBuilder());
}
 
源代码21 项目: GregTech   文件: PBFRecipeBuilder.java
@ZenMethod
@Method(modid = GTValues.MODID_CT)
public PBFRecipeBuilder input(IIngredient ingredient) {
    return input(new CraftTweakerIngredientWrapper(ingredient), ingredient.getAmount());
}
 
源代码22 项目: GregTech   文件: PBFRecipeBuilder.java
@ZenMethod
@Method(modid = GTValues.MODID_CT)
public PBFRecipeBuilder output(IItemStack itemStack) {
    return output(CraftTweakerMC.getItemStack(itemStack));
}
 
源代码23 项目: GregTech   文件: CokeOvenRecipeBuilder.java
@ZenMethod
@Method(modid = GTValues.MODID_CT)
public CokeOvenRecipeBuilder input(IIngredient ingredient) {
    return input(new CraftTweakerIngredientWrapper(ingredient), ingredient.getAmount());
}
 
源代码24 项目: GregTech   文件: CokeOvenRecipeBuilder.java
@ZenMethod
@Method(modid = GTValues.MODID_CT)
public CokeOvenRecipeBuilder fluidOutput(ILiquidStack liquidStack) {
    return fluidOutput(CraftTweakerMC.getLiquidStack(liquidStack));
}
 
源代码25 项目: GregTech   文件: CokeOvenRecipeBuilder.java
@ZenMethod
@Method(modid = GTValues.MODID_CT)
public CokeOvenRecipeBuilder output(IItemStack itemStack) {
    return output(CraftTweakerMC.getItemStack(itemStack));
}
 
源代码26 项目: GregTech   文件: FuelRecipeMap.java
@ZenMethod("findRecipe")
@Method(modid = GTValues.MODID_CT)
public FuelRecipe ctFindRecipe(long maxVoltage, ILiquidStack inputFluid) {
    return findRecipe(maxVoltage, CraftTweakerMC.getLiquidStack(inputFluid));
}
 
源代码27 项目: GregTech   文件: EnchantmentData.java
@ZenGetter("enchantment")
@Method(modid = GTValues.MODID_CT)
public IEnchantmentDefinition ctGetEnchantment() {
    return new MCEnchantmentDefinition(enchantment);
}
 
源代码28 项目: GregTech   文件: OreDepositDefinition.java
@ZenMethod("checkDimension")
@Method(modid = GTValues.MODID_CT)
public boolean ctCheckDimension(int dimensionId) {
    WorldProvider worldProvider = DimensionManager.getProvider(dimensionId);
    return worldProvider != null && getDimensionFilter().test(worldProvider);
}
 
源代码29 项目: GregTech   文件: OreDepositDefinition.java
@ZenMethod("canGenerateIn")
@Method(modid = GTValues.MODID_CT)
public boolean ctCanGenerateIn(crafttweaker.api.block.IBlockState blockState, crafttweaker.api.world.IBlockAccess blockAccess, crafttweaker.api.world.IBlockPos blockPos) {
    IBlockState mcBlockState = CraftTweakerMC.getBlockState(blockState);
    return getGenerationPredicate().test(mcBlockState, (IBlockAccess) blockAccess.getInternal(), (BlockPos) blockPos.getInternal());
}
 
源代码30 项目: GregTech   文件: SolidMaterial.java
@ZenMethod("addToolEnchantment")
@Method(modid = GTValues.MODID_CT)
public void ctAddEnchantmentForTools(IEnchantment enchantment) {
    Enchantment enchantmentType = (Enchantment) enchantment.getDefinition().getInternal();
    toolEnchantments.add(new EnchantmentData(enchantmentType, enchantment.getLevel()));
}
 
 类方法
 同包方法