26ed99fda6
Build and deploy / Build (push) Has been cancelled
Build and deploy / Update Contributors (push) Has been cancelled
Build and deploy / Deploy (push) Has been cancelled
59 lines
1.2 KiB
Go
59 lines
1.2 KiB
Go
package enchantment
|
|
|
|
import (
|
|
"github.com/df-mc/dragonfly/server/item"
|
|
"github.com/df-mc/dragonfly/server/world"
|
|
)
|
|
|
|
// CurseOfVanishing is an enchantment that causes the item to disappear on
|
|
// death.
|
|
var CurseOfVanishing curseOfVanishing
|
|
|
|
type curseOfVanishing struct{}
|
|
|
|
// Name ...
|
|
func (curseOfVanishing) Name() string {
|
|
return "Curse of Vanishing"
|
|
}
|
|
|
|
// MaxLevel ...
|
|
func (curseOfVanishing) MaxLevel() int {
|
|
return 1
|
|
}
|
|
|
|
// Cost ...
|
|
func (curseOfVanishing) Cost(int) (int, int) {
|
|
return 25, 50
|
|
}
|
|
|
|
// Rarity ...
|
|
func (curseOfVanishing) Rarity() item.EnchantmentRarity {
|
|
return item.EnchantmentRarityVeryRare
|
|
}
|
|
|
|
// CompatibleWithEnchantment ...
|
|
func (curseOfVanishing) CompatibleWithEnchantment(_ item.EnchantmentType) bool {
|
|
return true
|
|
}
|
|
|
|
// CompatibleWithItem ...
|
|
func (curseOfVanishing) CompatibleWithItem(i world.Item) bool {
|
|
_, arm := i.(item.Armour)
|
|
_, com := i.(item.Compass)
|
|
_, dur := i.(item.Durable)
|
|
_, rec := i.(item.RecoveryCompass)
|
|
// TODO: Carrot on a Stick
|
|
// TODO: Warped Fungus on a Stick
|
|
return arm || com || dur || rec
|
|
}
|
|
|
|
// Treasure ...
|
|
func (curseOfVanishing) Treasure() bool {
|
|
return true
|
|
}
|
|
|
|
// Curse ...
|
|
func (curseOfVanishing) Curse() bool {
|
|
return true
|
|
}
|