Files
meatballcraft/scripts/CustomClickerBloodGod.zs
2026-07-25 16:20:42 -05:00

66 lines
2.4 KiB
Plaintext

#modloaded iceandfire
import crafttweaker.damage.IDamageSource;
import crafttweaker.entity.IEntityLivingBase;
import crafttweaker.event.PlayerInteractEntityEvent;
import mods.contenttweaker.VanillaFactory;
import mods.contenttweaker.Item;
import mods.contenttweaker.IItemRightClick;
import mods.contenttweaker.Commands;
import mods.contenttweaker.ItemFood;
import mods.contenttweaker.IItemFoodEaten;
import mods.contenttweaker.MutableItemStack;
import mods.contenttweaker.Hand;
import mods.contenttweaker.World;
import mods.contenttweaker.IItemUpdate;
import mods.contenttweaker.Player;
import crafttweaker.player.IPlayer;
import crafttweaker.block.IBlock;
import crafttweaker.data.IData;
import crafttweaker.entity.IEntityEquipmentSlot;
events.onPlayerInteractEntity(function(event as PlayerInteractEntityEvent) {
if (event.world.isRemote()) {
return;
}
val heldItem = event.item;
// [edit item name in the bracket handler]
if (!isNull(heldItem) && heldItem.definition.id.matches(<contenttweaker:scream_of_pauram>.definition.id)) {
if (!event.target instanceof IEntityLivingBase) {
return;
}
val target as IEntityLivingBase = event.target;
if ((target.definition.id != "thebetweenlands:blood_snail") || !target.isAlive()) {
return;
}
// [edit damage here]
val DAMAGE = 2000000000.0f;
// [can remove this var if reusuable]
val oldHealth = target.health;
// Handle kill as if by player
if (target.health <= DAMAGE) {
target.onDeath(IDamageSource.createPlayerDamage(event.player));
// Allows for proper death
target.health = 0;
} else {
target.attackEntityFrom(<damagesource:OUT_OF_WORLD>, DAMAGE);
}
// [remove this clause if reusuable]
if (target.health < oldHealth) {
// [add anything here to handle on each successful use]
Commands.call("summon thebetweenlands:blood_snail ~ ~1 ~ {PersistenceRequired:1,HandItems:[{},{Count:1,id:\"contenttweaker:screaming_blood_slime\"}],HandDropChances:[0.0f,1.0f],ActiveEffects:[{Id:14,Amplifier:0,Duration:999999,ShowParticles:0b},{Id:24,Amplifier:0,Duration:999999,ShowParticles:0b}],ForgeCaps:{\"twilightforest:cap_shield\":{tempshields:200,permshields:200}},Attributes:[{Name:generic.maxHealth, Base:5000000.0},{Name:generic.attackDamage, Base:50000.0}],Health:5000000f,CustomName:\"Gashuhn, the Bloody Fearmongerer\"}", event.player, event.world, true, true);
heldItem.mutable().shrink(1);
}
}
});