Advertisement
supersaiyansubtlety

player-interact.zs

Feb 13th, 2020
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. import crafttweaker.event.PlayerInteractEvent;
  2. import crafttweaker.event.PlayerInteractBlockEvent;
  3. import crafttweaker.event.PlayerInteractEntityEvent;
  4. import crafttweaker.event.EntityLivingUseItemEvent.Start;
  5. import crafttweaker.entity.IEntityLiving;
  6. import crafttweaker.entity.IEntityEquipmentSlot as slots;
  7. import crafttweaker.server.IServer;
  8. import crafttweaker.block.IBlock;
  9. import crafttweaker.entity.IEntity;
  10. import crafttweaker.world.IFacing;
  11. import crafttweaker.command.ICommandSender;
  12. import mods.ctutils.utils.Math;
  13. import scripts.player_interact_statics as stats;
  14.  
  15.  
  16. events.onPlayerInteractEntity(function(event as PlayerInteractEntityEvent)
  17. {
  18. if ((event.player.currentItem.definition.id == <minecraft:flint_and_steel>.definition.id) && (event.target instanceof IEntityLiving))
  19. {
  20. event.target.setFire(3);
  21. val unbreakingLvl = stats.getUnbreakingLevel(event.player.currentItem.enchantments);
  22. print("unbreakingLvl: "~unbreakingLvl);
  23. print("break chance: "~(1/(unbreakingLvl + 1)));
  24. if(Math.random() < 1/(unbreakingLvl + 1))
  25. {
  26. print("damage: "~event.player.currentItem.damage);
  27. print("maxDamage: "~event.player.currentItem.maxDamage);
  28. if(event.player.currentItem.damage < event.player.currentItem.maxDamage)
  29. {
  30. print("damaging flint+steel");
  31. event.player.currentItem.damageItem(1, event.player);
  32. print("new damage: "~event.player.currentItem.damage);
  33. }
  34. else
  35. {
  36. print("destroying flint+steel");
  37. event.player.setItemToSlot(slots.mainHand(), null);
  38. }
  39. }
  40. }
  41. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement