use of blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect_Damage in project ImmersiveEngineering by BluSunrize.
the class ThermalFoundationHelper method init.
@Override
public void init() {
// TE Compat for smelter recipes. Not worth a separate module.
OreDictionary.registerOre("crystalSlag", new ItemStack(IEContent.itemMaterial, 1, 7));
ChemthrowerHandler.registerEffect("coal", new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 100, 0));
ChemthrowerHandler.registerFlammable("coal");
ChemthrowerHandler.registerEffect("crude_oil", new ChemthrowerEffect_Potion(null, 0, new PotionEffect(IEPotions.flammable, 140, 0), new PotionEffect(MobEffects.BLINDNESS, 80, 1)));
ChemthrowerHandler.registerFlammable("crude_oil");
ChemthrowerHandler.registerEffect("refined_oil", new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 100, 1));
ChemthrowerHandler.registerFlammable("refined_oil");
ChemthrowerHandler.registerEffect("resin", new ChemthrowerEffect_Potion(null, 0, IEPotions.sticky, 100, 1));
ChemthrowerHandler.registerEffect("tree_oil", new ChemthrowerEffect_Potion(null, 0, IEPotions.flammable, 120, 0));
ChemthrowerHandler.registerFlammable("tree_oil");
ChemthrowerHandler.registerEffect("redstone", new ChemthrowerEffect_Potion(null, 0, IEPotions.conductive, 100, 1));
ChemthrowerHandler.registerEffect("glowstone", new ChemthrowerEffect_Potion(null, 0, new PotionEffect(MobEffects.GLOWING, 120, 0), new PotionEffect(MobEffects.SPEED, 120, 0), new PotionEffect(MobEffects.JUMP_BOOST, 120, 0)));
ChemthrowerHandler.registerEffect("ender", new ChemthrowerEffect_RandomTeleport(null, 0, 1));
try {
Class c_DamageHelper = Class.forName("cofh.lib.util.helpers.DamageHelper");
DamageSource pyrotheum = (DamageSource) c_DamageHelper.getDeclaredField("pyrotheum").get(null);
Field f_explodeCreepers = Class.forName("cofh.thermalfoundation.fluid.BlockFluidPyrotheum").getDeclaredField("effect");
f_explodeCreepers.setAccessible(true);
if ((boolean) f_explodeCreepers.get(null))
ChemthrowerHandler.registerEffect("pyrotheum", new ChemthrowerEffect_Damage(pyrotheum, 3) {
@Override
public void applyToEntity(EntityLivingBase target, @Nullable EntityPlayer shooter, ItemStack thrower, Fluid fluid) {
super.applyToEntity(target, shooter, thrower, fluid);
if (target instanceof EntityCreeper) {
target.getEntityWorld().createExplosion(target, target.posX, target.posY, target.posZ, 6.0F, target.getEntityWorld().getGameRules().getBoolean("mobGriefing"));
target.setDead();
}
}
});
else
ChemthrowerHandler.registerEffect("pyrotheum", new ChemthrowerEffect_Damage(pyrotheum, 3));
DamageSource cryotheum = (DamageSource) c_DamageHelper.getDeclaredField("cryotheum").get(null);
ChemthrowerHandler.registerEffect("cryotheum", new ChemthrowerEffect_Potion(cryotheum, 2, MobEffects.SLOWNESS, 50, 3));
} catch (Exception e) {
}
ChemthrowerHandler.registerEffect("aerotheum", new ChemthrowerEffect_Potion(null, 0, new PotionEffect(MobEffects.INVISIBILITY, 60, 0), new PotionEffect(MobEffects.WATER_BREATHING, 300, 0)));
ChemthrowerHandler.registerEffect("petrotheum", new ChemthrowerEffect_Potion(null, 0, new PotionEffect(MobEffects.HASTE, 300, 2), new PotionEffect(MobEffects.NIGHT_VISION, 300, 0), new PotionEffect(MobEffects.RESISTANCE, 300, 1)) {
@Override
public void applyToBlock(World world, RayTraceResult mop, @Nullable EntityPlayer shooter, ItemStack thrower, Fluid fluid) {
IBlockState state = world.getBlockState(mop.getBlockPos());
if (state.getBlock() == Blocks.STONE || state.getBlock() == Blocks.COBBLESTONE || state.getBlock() == Blocks.STONEBRICK || state.getBlock() == Blocks.MOSSY_COBBLESTONE)
world.setBlockState(mop.getBlockPos(), Blocks.GRAVEL.getDefaultState());
}
});
ChemthrowerHandler.registerEffect("mana", new ChemthrowerEffect_RandomTeleport(null, 0, .01f));
final Item itemPhyto = Item.REGISTRY.getObject(new ResourceLocation("thermalfoundation:fertilizer"));
if (itemPhyto != null)
BelljarHandler.registerItemFertilizer(new ItemFertilizerHandler() {
@Override
public boolean isValid(@Nullable ItemStack fertilizer) {
return !fertilizer.isEmpty() && fertilizer.getItem() == itemPhyto;
}
@Override
public float getGrowthMultiplier(ItemStack fertilizer, ItemStack seed, ItemStack soil, TileEntity tile) {
return BelljarHandler.solidFertilizerModifier * (1.5f + (.25f * fertilizer.getMetadata()));
}
});
}
use of blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect_Damage in project ImmersiveEngineering by BluSunrize.
the class ThaumcraftHelper method init.
@Override
public void init() {
FMLInterModComms.sendMessage("thaumcraft", "harvestStackedCrop", new ItemStack(IEContent.blockCrop, 5));
Potion potion_ward = Potion.getPotionFromResourceLocation("thaumcraft:warpward");
if (potion_ward != null)
ChemthrowerHandler.registerEffect("purifying_fluid", new ChemthrowerEffect_Potion(null, 0, potion_ward, 100, 0));
try {
Class c_DamageSourceThaumcraft = Class.forName("thaumcraft.api.damagesource.DamageSourceThaumcraft");
if (c_DamageSourceThaumcraft != null) {
DamageSource dmg_dissolve = (DamageSource) c_DamageSourceThaumcraft.getField("dissolve").get(null);
ChemthrowerHandler.registerEffect("liquid_death", new ChemthrowerEffect_Damage(dmg_dissolve, 4));
}
} catch (Exception e) {
}
try {
Class c_TileSmelter = Class.forName("thaumcraft.common.tiles.essentia.TileSmelter");
if (c_TileSmelter != null)
ExternalHeaterHandler.registerHeatableAdapter(c_TileSmelter, new AlchemyFurnaceAdapter(c_TileSmelter));
} catch (Exception e) {
}
}
Aggregations