本人萌新做一个启示录包的时候想动态设置装备,各种找教程依然找不到,最终发现了正确的解决方法
我把这些易用的代码分享出来,供萌新们方便地使用
function getMainhand(entity){
return entity.handSlots[0].getItem()
}
function getOffhand(entity){
return entity.handSlots[1].getItem()
}
function getHead(entity){
return entity.armorSlots[3].getItem()
}
function getChest(entity){
return entity.armorSlots[2].getItem()
}
function getLegs(entity){
return entity.armorSlots[1].getItem()
}
function getFeet(entity){
return entity.armorSlots[0].getItem()
}
function setMainhand(entity,item){
entity.setItemSlot(0, item);
}
function setOffhand(entity,item){
entity.setItemSlot(1, item);
}
function setHead(entity,item){
entity.setItemSlot(5, item);
}
function setChest(entity,item){
entity.setItemSlot(4, item);
}
function setLegs(entity,item){
entity.setItemSlot(3, item);
}
function setFeet(entity,item){
entity.setItemSlot(2, item);
}
function setMainhandWhenEmpty(entity,item){
if(getMainhand(entity)=="air"){
setMainhand(entity,item)
}
}
function setOffhandWhenEmpty(entity, item){
if(getOffhand(entity)=="air"){
setOffhand(entity, item)
}
}
function setHeadWhenEmpty(entity, item){
if(getHead(entity)=="air"){
setHead(entity, item)
}
}
function setChestWhenEmpty(entity, item){
if(getChest(entity)=="air"){
setChest(entity, item)
}
}
function setLegsWhenEmpty(entity, item){
if(getLegs(entity)=="air"){
setLegs(entity, item)
}
}
function setFeetWhenEmpty(entity, item){
if(getFeet(entity)=="air"){
setFeet(entity, item)
}
}使用示例,当僵尸生成的时候,50%概率如果它没戴头盔,给他穿个铁头
EntityEvents.spawned(event => {
const entity = event.entity
let id=entity.type.toString();
if((id=='minecraft:zombie'){
if(Math.random()<0.5){
setHeadWhenEmpty(entity,Item.of('minecraft:iron_helmet'))
}
}
})
//将上面的函数(function)粘贴下来

