-
Notifications
You must be signed in to change notification settings - Fork 0
Immersive Engineering
The official IE CT support lacks a few features. This aims to fix this.
Features :
- Arc Furnace
- Blueprint
- Bullet Builder
- Excavator Expansion
- Garden Cloche
- IChemBlockEffect
- IChemEntityEffect
- IRailgunImpact
- IEGuns
- IWorld Expansion
- Metal Press
- Mineral Mix Expansion
- Slag Replacement
Import :
import mods.immersiveengineering.ArcFurnace;| Method | Parameters | Description |
|---|---|---|
| addRecycling | ingredient as IIngredient | Adds the ingredient to the recycling whitelist. IE will add its default recipes afterwards |
| removeRecyclingOutput | IIngredient ingredient | Prevents any recycling recipe which would have this output |
Import :
import mods.immersiveengineering.Blueprint;| Method | Parameters | Description |
|---|---|---|
| getRegisteredBlueprints | [None] | Returns a string[] containing all registered blueprint types. |
| addBlueprint | type as string | Adds a blueprint. addRecipe already does this if required, this method is for getRegisteredBlueprints |
| addVillagerTrade | category as string, price as IItemStack | Adds a blueprint for this category to the list that IE's villager can sell |
I'll also mention here that the translationKey for blueprints is desc.immersiveengineering.info.blueprint.[Blueprint's Name]. It will fall back to the blueprint's raw type.
Import :
import mods.roidtweaker.immersiveengineering.BulletBuilder;Used to build a bullet to use with the revolver and, optionally, the turret.
All methods in this class should be called during #loader preinit or #loader contenttweaker.
You can get a new builder by calling:
BulletBuilder.get(name as string);This returns a new BulletBuilder. You can set the following parameters (they are only available with the functions below, no .prop = value)
The only mandatory property to set is the textures, with setTextures.
| Method | Parameters Type | Description |
|---|---|---|
| setTextures | string[] | |
| setCasing | IItemStack | The stack that will be returned after shooting the bullet |
| setTickLimit | int | Time in ticks before the bullet disapears |
| setMovementDecay | float | Should be between 0 and 1 |
| setGravity | float | Should be between 0 and 1 |
| setBulletAmount | int | The amount of bullets fired at once, like the buckshot |
| setValidForTurret | bool | |
| setProperCartridge | bool | |
| setColor | layer as int, color as int | |
| setColorNBT | layer as int, tag as string | |
| impactEntity | function(world as IWorld, target as IEntity, shooter as IEntityLivingBase, bullet as IEntity, headshot as bool) as void | A function called on entity impact |
| impactBlock | function(world as IWorld, pos as IBlockPos, sidehit as IFacing, shooter as IEntityLivingBase, bullet as IEntity, headshot as bool) as void | A function called on block impact |
| onFired | function(shooter as IPlayer, cartridge as IItemStack, projectile as IEntity, charged as bool) as void | A function called when firing the gun |
Once you are done setting your parameters, don't forget to call
myBulletBuilder.build();Import :
import mods.immersiveengineering.Excavator;| Method | Parameters | Description |
|---|---|---|
| getRegisteredMinerals | [None] | Returns a List<MineralMix> containing all registered minerals. |
| removeAllMinerals | [None] | Removes all registered Minerals |
In addition to the CT support, there is a command to print all crops or liquid fertilizers : /ct gardencloche [fluidFertilizers or crop]
Import :
import mods.roidtweaker.immersiveengineering.GardenCloche;| Method | Parameters | Description |
|---|---|---|
| addFertilizer | fertilizer as IIngredient, multiplier as float | Works with any IIngredient, including ILiquidStack and ItemConditions |
| addFertilizer | fertilizer as IIngredient, multiplier as GardenClocheMultiplierFunction | IE will call this function when it needs the multiplier. its first parameter is always IItemStack or ILiquidStack |
| RemoveFertilizer | fertilizer as IIngredient | fertilizer must be convertible to List or List. Loops through the list and removes all FertilizerHandlers matching this stack |
| clearFertilizers | @Optional Boolean restrictionReadWiki | if false, only fluids ; if true, only items ; if unspecified, both |
| listAllFluidFertilizers | [None] | Returns a List containing fluidFertilizers. Kept for ZenCloche parity. Do not call this in your scripts. |
| listAllCrops | [None] | Returns a List containing crops. Kept for ZenCloche parity. Do not call this in your scripts. |
| addPlantHandler | type as string | You can add a plant handler. Not sure why you would want to do that. |
| addCrop | type as string, seed as IIngredient, drops as IItemStack[], @Optional soil as IIngredient, @Optional display as IBlock | Default registered types are "crop", "stem" and "stacking", default soil is dirt, default display is crop |
| addCrop | type as string, seed as IIngredient, drops as IItemStack[], soil as IIngredient, display as IBlockState | Same, but you can specify the blockstate instead of having the block's default state |
| removeCrop | crop as IIngredient, @Optional type as string | If type is unspecified, will be removed from all types having this seed. |
| setSoilTexture | soil as IIngredient, texture as string | Supports IOreDictEntry and IItemStack. The texture string should have the format namespace:path |
Import :
import mods.roidtweaker.immersiveengineering.GardenClocheMultiplierFunction;Is really just a function(fertilizer as IIngredient, seed as IItemStack, soil as IItemStack) as float.
Exists solely so you can specify "as GardenClocheMultiplierFunction" because CT has trouble finding the type
Import :
import mods.roidtweaker.immersiveengineering.IChemBlockEffect;For use with IEGuns.
Really just a wrapper for a function(world as IWorld, pos as IBlockPos, facing as IFacing, entityPlayer as IPlayer, itemStack as IItemStack, fluid as ILiquidStack) as void.
Exists solely so you can specify "as IChemBlockEffect" because CT has trouble finding the type
Import :
import mods.roidtweaker.immersiveengineering.IChemEntityEffect;For use with IEGuns.
Really just a wrapper for a function(target as IEntityLivingBase, shooter as IPlayer, thrower as IItemStack, fluid as ILiquidStack) as void.
Exists solely so you can specify "as IChemEntityEffect" because CT has trouble finding the type
Import :
import mods.roidtweaker.immersiveengineering.IEGuns;Allows adding ammunition to the Chemical thrower and to the Railgun with configurable damage and effect. You can also override default behavior
| Method | Parameters |
|---|---|
| addChemthrowerEffect | ILiquidStack liquid, boolean isGas, boolean isFlammable, String source, float damage |
| addChemthrowerEffect | ILiquidStack liquid, boolean isGas, boolean isFlammable, String source, float damage, IPotionEffect[] effects |
| addChemthrowerEffect | ILiquidStack liquid, boolean isGas, boolean isFlammable, IChemEntityEffect entityEffect, IChemBlockEffect blockEffect |
| addRailgunBullet | IIngredient item, float damage, float gravity, int[][] colorMap |
| addRailgunBullet | IIngredient item, float damage, float gravity, IRailgunImpact effect, int[][] colorMap |
Import :
import mods.roidtweaker.immersiveengineering.IRailgunImpact;For use with IEGuns.
Really just a wrapper for a function(target as IEntity, shooter as IEntity) as bool
Import :
import crafttweaker.world.IWorld;| Method | Parameters | Return Type | Note |
|---|---|---|---|
| getMineralMix | pos as IBlockPos | MineralMix | |
| setMineralMix | pos as IBlockPos, mix as MineralMix | void | |
| getMineralMap | [None] | MineralMix[][IBlockPos] | For compat with MineralMixTweaker. Prefer using the above methods |
Allows NBT-sensitive recipes
Import :
import mods.immersiveengineering.MetalPress;| Method | Parameters |
|---|---|
| addRecipeNBT | output as IItemStack, input as IIngredient, mold as IItemStack, energy as int |
Import :
import mods.immersiveengineering.MineralMix;| Method | Parameters | ReturnType |
|---|---|---|
| toString | [None] | Returns the name of the MineralMix. Also a ZenCaster |
| printRegisteredMinerals | [None] | void |
| setWeight | weight as int | void |
| setDimensionWhitelist | list as int[] | void |
| setDimensionBlacklist | list as int[] | void |
| getWeight | [None] | int |
| getOres | [None] | WeightedOreDictEntry[] |
| getDimensionWhitelist | [None] | int[] |
| getDimensionBlacklist | [None] | int[] |
Allows easy replacement of slag in Blast Furnace and Arc Furnace recipes (all default IE recipes with slag)
Import :
import mods.immersiveengineering.SlagReplacer;| Method | Parameters | Description |
|---|---|---|
| setSlag | slag as IItemStack, @Optional filter as IIngredient, @Optional filterBy as String | Filter defaults to <*> ; filterBy accepts OUTPUT and SLAG, defaulting to OUTPUT. Loops through all registered recipes, testing them against the filter and editing the recipe if needed |