跳到正文

Alfinivia

作者:BordListian

骗你的,其实只是一堆小调整而已。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

这是一个微调模组。它可以微调各种内容,也可以由玩家进行调整。如果不进行任何配置,这个模组不会做任何事情。

目前它提供 n 项功能:

任意挤奶

此功能允许任何物品在接触任意实体时变成另一种物品。通常可用于为整合包中的实体添加特殊的奶类,也可以用于其他用途。

mods.alfinivia.Milking.add(@NotNull IIngredient input, @NotNull IEntityDefinition entity, IItemStack output, boolean needsSneaking);
mods.alfinivia.Milking.add(@NotNull IIngredient input, @NotNull IEntityFunction entity, IItemStack output, boolean needsSneaking);
mods.alfinivia.Milking.add(@NotNull IIngredient input, @NotNull IEntityDefinition entity, IMilkFunction output, boolean needsSneaking);
mods.alfinivia.Milking.add(@NotNull IIngredient input, @NotNull IEntityFunction entity, IMilkFunction output, boolean needsSneaking);

ex. for IEntityFunction: 
function(entity){return true;}

ex. for IMilkFunction:
function(entity, itemstack, player){return itemstack;}

ex.
mods.alfinivia.Milking.add(<minecraft:fish>,<entity:minecraft:sheep>,<minecraft:sandstone>,false);

液体交互

此功能允许任意两种流体在世界中相互作用并形成方块,前提是它们原本不会相互作用。

mods.alfinivia.LiquidInteraction.add(@NotNull IIngredient fluidA, @NotNull IIngredient fluidB, IItemStack output);

挖掘速度

此功能允许特定方块的挖掘速度根据多个不同因素变化。可以使用固定设置、工具、属性或函数来实现。请注意,倍率会累积计算;因此,如果同时定义了属性和函数,两种倍率会依次生效。

var builder = mods.alfinivia.BreakSpeedBuilder.get(@NotNull className);
builder.setTool(IIngredient tools);
builder.addTool(IIngredient tools);
builder.addBlock(IItemStack block);
builder.addBlock(IBlockDefinition block, int meta);
builder.addBlocks(IItemStack[] blocks);
builder.setMultiplier(float multiplier); //Flat multiplier
builder.setAttribute(float defaultValue,float minValue,float maxValue); //This will request an attribute to be created with name "break.[className]" that affects the breakspeed
builder.setFunction(IBlockSpeedFunction function); //Fine control based on values at runtime (ex. scales with distance from spawn or similar)
builder.build(); //Call this last

ex. for IBlockSpeedFunction:
function(player,world,pos){return 1.0;}

ex.
var builder = mods.alfinivia.BreakSpeedBuilder.get("stone");
builder.addBlock(<minecraft:stone>);
builder.setMultiplier(2.0);
builder.addTool(<minecraft:stone_pickaxe>);
builder.build();

 伤害处理器

此功能允许以某种方式修改特定实体受到特定来源伤害时的伤害值。

var builder = mods.alfinivia.DamageBuilder.get(@NotNull className);
builder.matchEntity(IEntityFunction entityMatch);
builder.matchSource(IEntityFunction sourceMatch);
builder.matchDamageSource(String damageSource);
builder.setFunction(IDamageFunction function);
builder.multiplyAttribute(float defaultValue, float minValue, float maxValue); //This will request an attribute to be created with name "damage.[className]" that functions as the multiplier for the damage
builder.addAttribute(float defaultValue, float minValue, float maxValue); //Same as above but the value of the attribute is added instead.
builder.build(); //Call this last

ex. for IDamageFunction:
function(IEntityLivingBase entity, float amount){return 1.0 * amount;}

ex.
var builder = mods.alfinivia.DamageBuilder.get("stone");
builder.matchEntity(IEntityFunction.getEntities([<entity:minecraft:sheep>,<entity:minecraft:wolf>]));
builder.matchDamageType("fire");
builder.setFunction(IDamageFunction.multiply(2.5));
builder.build();

 Misty World

 目前只能添加可堆肥物品,并设置作物的收获类型。

mods.alfinivia.MistyWorld.addCompostable(IItemStack stack) 
mods.alfinivia.MistyWorld.addHarvestType(IBlockDefinition block, int min, int max) //min and max must be between 1 and 3, this affects how much water permeability (porosity) of the soil is needed to grow specific plants.
//1 - clay soil (flowering, marsh plants, cereals)
//2 - forest and tropical soils (vegetables)
//3 - sandy and stony soils (tubers) 
mods.alfinivia.MistyWorld.addHarvestType(String block, int min, int max)

Immersive Engineering

支持从园艺玻璃罩中移除和添加肥料、为化学喷射器添加流体、为轨道炮添加弹杆,最后还提供了用于左轮手枪和炮塔子弹的构建器系统。

mods.alfinivia.ImmersiveEngineering.addChemthrowerEffect(ILiquidStack liquid, boolean isGas, boolean isFlammable, String source, float damage)
mods.alfinivia.ImmersiveEngineering.addChemthrowerEffect(ILiquidStack liquid, boolean isGas, boolean isFlammable, String source, float damage, IPotionEffect[] effects)
mods.alfinivia.ImmersiveEngineering.addChemthrowerEffect(ILiquidStack liquid, boolean isGas, boolean isFlammable, IChemEntityEffect entityEffect, IChemBlockEffect blockEffect)
mods.alfinivia.ImmersiveEngineering.addRailgunBullet(IIngredient item, float damage, float gravity, int[][] colorMap)
mods.alfinivia.ImmersiveEngineering.addRailgunBullet(IIngredient item, float damage, float gravity, IRailgunImpact effect, int[][] colorMap)
mods.alfinivia.ImmersiveEngineering.addLiquidFertilizer(ILiquidStack liquid, float multiplier)
mods.alfinivia.ImmersiveEngineering.addLiquidFertilizer(ILiquidStack liquid, IFluidFertilizerMultiplier multiplier)
mods.alfinivia.ImmersiveEngineering.removeLiquidFertilizer(ILiquidStack liquid)
mods.alfinivia.ImmersiveEngineering.addItemFertilizer(IIngredient item, float multiplier)
mods.alfinivia.ImmersiveEngineering.addItemFertilizer(IIngredient item, IItemFertilizerMultiplier multiplier)
mods.alfinivia.ImmersiveEngineering.removeItemFertilizer(IItemStack item)

ex. for IChemBlockEffect
function(world,pos,side,shooter,throwerstack,fluid){}

ex. for IChemEntityEffect
function(target,shooter,throwerstack,fluid){}

ex. for IRailgunImpact
function(target,shoot){return false;} //returning true here foregoes the regular damage it would do

ex. for IFluidFertilizerMultiplier
function(fertilizer,seed,soil){return 1.0;} //fertilizer is an ILiquidStack

ex. for IItemFertilizerMultiplier
function(fertilizer,seed,soil){return 1.0;} //fertilizer is an IItemStack

todo: docs for the bullet builder

 

 

 

 

 

 

 

常见问题

Alfinivia 支持哪些 Minecraft 版本?

Alfinivia 支持 Minecraft Java 版 1.12–1.12.2,共 3 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Alfinivia 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

BordListian 的其他作品

查看全部 →