Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #loader contenttweaker
- import mods.contenttweaker.enchantments.EnchantmentBuilder;
- import crafttweaker.world.IWorld;
- import crafttweaker.world.IBlockPos;
- import crafttweaker.world.IExplosion;
- import crafttweaker.potions.IPotionEffect;
- import crafttweaker.potions.IPotion;
- import crafttweaker.entity.IEntityLivingBase;
- import crafttweaker.entity.IEntityDefinition;
- import crafttweaker.entity.IEntity;
- val corruptEnch = mods.contenttweaker.enchantments.EnchantmentBuilder.create("corrupt");
- corruptEnch.setTypeAll();
- corruptEnch.setRarityVeryRare();
- corruptEnch.curse = true;
- corruptEnch.allowedOnBooks = true;
- corruptEnch.register();
- val weakEnch = mods.contenttweaker.enchantments.EnchantmentBuilder.create("weakening");
- weakEnch.setTypeWeapon();
- weakEnch.setRarityRare();
- weakEnch.minLevel = 1;
- weakEnch.maxLevel = 3;
- weakEnch.allowedOnBooks = true;
- weakEnch.onEntityDamaged = function(ench, user, target, level){
- var dur = level * 1.5 * 20;
- val victim as crafttweaker.entity.IEntityLivingBase = target;
- victim.addPotionEffect(<potion:minecraft:slowness>.makePotionEffect(dur, level));
- victim.addPotionEffect(<potion:minecraft:weakness>.makePotionEffect(dur, level));
- };
- weakEnch.register();
- val unstableEnch = mods.contenttweaker.enchantments.EnchantmentBuilder.create("unstable");
- unstableEnch.setTypeAll();
- unstableEnch.setRarityVeryRare();
- unstableEnch.curse = true;
- unstableEnch.allowedOnBooks = true;
- unstableEnch.applicableSlots = [mainHand];
- unstableEnch.calcModifierDamage = function(ench, level, damageSource){
- return 100 as int;
- };
- unstableEnch.onEntityDamaged = function(ench, user, target, level){
- if(user.world.isRemote || user.hand == "OFF_HAND"){
- return;
- }
- val userRanDouble = user.world.random.nextDouble(-0.2, 0.2);
- val targetRanDouble = target.world.random.nextDouble(-0.5, 0.5);
- val userPos as IBlockPos = user.position3f as IBlockPos;
- val world = user.world;
- val levelD = level as double;
- val boomPower as float = level as float * 0.2f as float;
- val boomChance as int = target.world.random.nextInt(0, 3 - level);
- if (boomChance < 1){
- world.performExplosion(user as IEntity, target.x, target.y, target.z, boomPower, true, true);
- } else {
- world.addFlux(userPos, 5.0f * levelD as float);
- }
- };
- unstableEnch.register();
Advertisement
Add Comment
Please, Sign In to add comment