- Allowed more blocks to be used as oven, forge, and bloomery insulation - Fixed lang error with treated wood planks recipe - Forgot to add fishing net functionality before
216 lines
No EOL
8.7 KiB
JavaScript
216 lines
No EOL
8.7 KiB
JavaScript
//#region Medicine
|
|
|
|
//Pills & Tablets
|
|
const pill_event = [
|
|
'haste',
|
|
'luck',
|
|
'night_vision',
|
|
'poison',
|
|
'regeneration',
|
|
'slowness',
|
|
'speed',
|
|
'water_breathing',
|
|
'weakness',
|
|
];
|
|
|
|
pill_event.forEach(pill_event => {
|
|
|
|
ItemEvents.rightClicked(event => {
|
|
const {item,server,player,player:{x,y,z,username}} = event
|
|
if (item.id != `tfg:${pill_event}_pill`) return
|
|
item.count--
|
|
player.addItemCooldown(item, 100)
|
|
player.runCommandSilent(`effect give ${username} minecraft:${pill_event} 480 0 true`)
|
|
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`)
|
|
});
|
|
|
|
ItemEvents.rightClicked(event => {
|
|
const {item,server,player,player:{x,y,z,username}} = event
|
|
if (item.id != `tfg:${pill_event}_tablet`) return
|
|
item.count--
|
|
player.addItemCooldown(item, 100)
|
|
player.runCommandSilent(`effect give ${username} minecraft:${pill_event} 1800 0 true`)
|
|
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`)
|
|
});
|
|
});
|
|
|
|
ItemEvents.rightClicked(event => {
|
|
const {item,server,player,player:{x,y,z,username}} = event
|
|
if (item.id != `tfg:antipoison_pill`) return
|
|
item.count--
|
|
player.addItemCooldown(item, 50)
|
|
event.player.removeEffect('minecraft:poison')
|
|
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`)
|
|
});
|
|
|
|
ItemEvents.rightClicked(event => {
|
|
const {item,server,player,player:{x,y,z,username}} = event
|
|
if (item.id != `tfg:antipoison_tablet`) return
|
|
item.count--
|
|
player.addItemCooldown(item, 50)
|
|
event.player.removeEffect('minecraft:poison')
|
|
event.player.removeEffect('minecraft:wither')
|
|
event.player.removeEffect('minecraft:weakness')
|
|
event.player.removeEffect('minecraft:slowness')
|
|
event.player.removeEffect('minecraft:mining_fatigue')
|
|
event.player.removeEffect('minecraft:nausea')
|
|
event.player.removeEffect('minecraft:blindness')
|
|
event.player.removeEffect('minecraft:hunger')
|
|
event.player.removeEffect('minecraft:bad_omen')
|
|
event.player.removeEffect('minecraft:darkness')
|
|
event.player.removeEffect('minecraft:unluck')
|
|
server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${username} ${x} ${y} ${z} 10 1.5 1`)
|
|
});
|
|
|
|
//salvos
|
|
const salvo_event = [
|
|
'fire_resistance',
|
|
'invisibility',
|
|
'luck',
|
|
'resistance',
|
|
];
|
|
|
|
salvo_event.forEach(salvo_event => {
|
|
|
|
ItemEvents.rightClicked(event => {
|
|
const {item,server,player,player:{x,y,z,username}} = event
|
|
if (item.id != `tfg:${salvo_event}_salvo`) return
|
|
item.count--
|
|
player.addItemCooldown(item, 100)
|
|
player.runCommandSilent(`effect give ${username} minecraft:${salvo_event} 480 0 true`)
|
|
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`)
|
|
});
|
|
});
|
|
|
|
ItemEvents.rightClicked(event => {
|
|
const {item,server,player,player:{x,y,z,username}} = event
|
|
if (item.id != `tfg:absorption_salvo`) return
|
|
item.count--
|
|
player.addItemCooldown(item, 200)
|
|
player.runCommandSilent(`effect give ${username} minecraft:absorption 480 4 true`)
|
|
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`)
|
|
});
|
|
|
|
ItemEvents.rightClicked(event => {
|
|
const {item,server,player,player:{x,y,z,username}} = event
|
|
if (item.id != `tfg:instant_health_salvo`) return
|
|
item.count--
|
|
player.addItemCooldown(item, 100)
|
|
player.runCommandSilent(`effect give ${username} minecraft:instant_health 1 1 true`)
|
|
server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`)
|
|
});
|
|
|
|
//#endregion
|
|
|
|
// Vase Sounds
|
|
global.MINECRAFT_DYE_NAMES.forEach(color => {
|
|
BlockEvents.rightClicked(event => {
|
|
const {block,server,player,player:{x,y,z,username}} = event
|
|
if (block.id != `tfg:decorative_vase/${color}`) {return}{
|
|
server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
|
|
}})
|
|
});
|
|
|
|
|
|
BlockEvents.rightClicked(event => {
|
|
const {block,server,player,player:{x,y,z,username}} = event
|
|
if (block.id != 'tfg:decorative_vase') {return}{
|
|
server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
|
|
}});
|
|
|
|
/**
|
|
*
|
|
* @param {Internal.Player} player
|
|
* @returns {Internal.CompoundTag}
|
|
*/
|
|
function getTFGPersistentDataRoot(player)
|
|
{
|
|
if(!player.persistentData.contains("tfg:custom_data"))
|
|
{
|
|
player.persistentData.put("tfg:custom_data", {});
|
|
}
|
|
return player.persistentData.getCompound("tfg:custom_data")
|
|
}
|
|
//#endregion
|
|
|
|
//#region Fishing Net
|
|
const fish = [
|
|
'cod',
|
|
'crappie',
|
|
'jellyfish',
|
|
'lake_trout',
|
|
'largemouth_bass',
|
|
'rainbow_trout',
|
|
'salmon',
|
|
'smallmouth_bass',
|
|
'tropical_fish',
|
|
'bluegill'
|
|
];
|
|
|
|
const shellfish = [
|
|
'lobster',
|
|
'isopod',
|
|
'crayfish'
|
|
];
|
|
|
|
//Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item.
|
|
fish.forEach(fish => {
|
|
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
|
|
const {item, player, server, target} = event;
|
|
|
|
if (target.type != `tfc:${fish}`) return
|
|
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
|
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
|
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
|
event.player.give(`tfc:food/${fish}`)
|
|
player.swing()
|
|
if (player.isCreative() == false){
|
|
item.damageValue++
|
|
if (item.damageValue >= item.maxDamage) {
|
|
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
|
item.count--
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
//Shellfish Exception
|
|
shellfish.forEach(shellfish => {
|
|
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
|
|
const {item, player, server, target} = event;
|
|
|
|
if (target.type != `tfc:${shellfish}`) return
|
|
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
|
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
|
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
|
event.player.give('tfc:food/shellfish')
|
|
player.swing()
|
|
if (player.isCreative() == false){
|
|
item.damageValue++
|
|
if (item.damageValue >= item.maxDamage) {
|
|
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
|
item.count--
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
//Pufferfish Exception
|
|
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
|
|
const {item, player, server, target} = event;
|
|
|
|
if (target.type != 'tfc:pufferfish') return
|
|
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
|
|
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
|
|
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
|
|
event.player.give('minecraft:pufferfish')
|
|
player.swing()
|
|
if (player.isCreative() == false){
|
|
item.damageValue++
|
|
if (item.damageValue >= item.maxDamage) {
|
|
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
|
|
item.count--
|
|
}
|
|
}
|
|
})
|
|
//#endregion
|