Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Custom Death Script Thingee
- Use this if you want players to keep *some* of their things upon death. You'll have to set the gamerule of
- keepInventory to True.
- This script checks for the following:
- 1. whether an item in inventory is on a "ban list" (for a lack of a better term) that WILL be dropped
- upon death.
- 2. whether an item in inventory or an armor in an armor slot will take damage upon player death; and if
- the item has reached its max damage, WILL be destroyed. Totally destroyed. Gone. Poof. Bereft of
- life. Gone to sing with the choir invisible. IT IS AN EX ITEM!
- You can change the "banlist" array to whatever you want. Some of the items in there now are from a custom mod.
- This is for Minecraft 1.12.2, with CustonNPCs from 26 August 2018. Does not seem to work with the 30 January 2019
- release as of yet.
- */
- function died(event){
- var inventory=event.player.getInventory();
- var banlist=["soupamod:coppercoin", "soupamod:silvercoin", "soupamod:goldcoin", "minecraft:gold_ingot", "minecraft:gold_block", "minecraft:gold_nugget", "soupamod:platinumcoin", "soupamod:etheriumcoin", "soupamod:copperore", "soupamod:silverore", "minecraft:gold_ore", "soupamod:platinumore", "soupamod:etheriumgem", "soupamod:ruby", "soupamod:fireopal", "soupamod:citrine", "minecraft:emerald", "minecraft:emerald_block", "soupamod:sapphire", "soupamod:amethyst", "minecraft:diamond", "minecraft:diamond_block", "soupamod:commodityitem"];
- var count_items=0;
- var i;
- var j;
- for(i = 0; i < 36; i++){ // step through main inventory
- if(inventory[i]!=null){
- var this_item_name=inventory[i].getName();
- var this_item=inventory[i];
- for(j in banlist){
- if(banlist[j] == this_item_name){ // this stuff will be "dropped"
- var itemToDrop=this_item.copy();
- this_item.setStackSize(0);
- var itemEntity=event.player.world.createEntity("minecraft:item");
- var x=Math.floor((Math.random()*7) -4);
- var z=Math.floor((Math.random()*7) -4);
- itemEntity.setPos(event.player.getPos().add(x,1,z));
- itemEntity.setItem(itemToDrop);
- itemEntity.spawn();
- };
- };
- if(inventory[i].getMaxItemDamage() > 0){
- var this_damage = inventory[i].getItemDamage();
- var new_damage = this_damage + 25;
- var this_item = inventory[i].getItemName();
- if(new_damage >= inventory[i].getMaxItemDamage()){
- inventory[i].setStackSize(0);
- var report_text = "§4Your " + this_item + " has crumbled to dust and is no more.";
- event.player.message(report_text);
- } else {
- inventory[i].setItemDamage(new_damage);
- var report_text = "Your " + this_item + " has lost some of its durability.";
- event.player.message(report_text);
- }
- }
- }
- };
- for(i = 0; i < 4; i++){ // step through armor slots
- if(event.player.getArmor(i)!=null){
- var this_damage = event.player.getArmor(i).getItemDamage();
- var new_damage = this_damage + 25;
- var this_item = event.player.getArmor(i).getItemName();
- if(new_damage >= event.player.getArmor(i).getMaxItemDamage()){
- event.player.getArmor(i).setStackSize(0);
- var report_text = "§4Your " + this_item + " has crumbled to dust and is no more.";
- event.player.message(report_text);
- } else {
- event.player.getArmor(i).setItemDamage(new_damage);
- var report_text = "Your " + this_item + " has lost some of its durability.";
- event.player.message(report_text);
- }
- }
- };
- if(event.player.getOffhandItem()!=null){ // do off-hand item last
- if(event.player.getOffhandItem().getMaxItemDamage() > 0){
- var this_damage = event.player.getOffhandItem().getItemDamage();
- var new_damage = this_damage + 25;
- var this_item = event.player.getOffhandItem().getItemName();
- if(new_damage >= event.player.getOffhandItem().getMaxItemDamage()){
- event.player.getOffhandItem().setStackSize(0);
- var report_text = "§4Your " + this_item + " has crumbled to dust and is no more.";
- event.player.message(report_text);
- } else {
- event.player.getOffhandItem().setItemDamage(new_damage);
- var report_text = "Your " + this_item + " has lost some of its durability.";
- event.player.message(report_text);
- }
- }
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement