diff --git a/server/block/break_info.go b/server/block/break_info.go index dc1c5ab82..6126280f6 100644 --- a/server/block/break_info.go +++ b/server/block/break_info.go @@ -37,7 +37,7 @@ func BreakDuration(b world.Block, i item.Stack) time.Duration { if info.Effective(t) { eff := t.BaseMiningEfficiency(b) if e, ok := i.Enchantment(enchantment.Efficiency{}); ok { - breakTime += (enchantment.Efficiency{}).Addend(e.Level()) + eff += (enchantment.Efficiency{}).Addend(e.Level()) } breakTime /= eff } diff --git a/server/block/ender_chest.go b/server/block/ender_chest.go index ec171cc00..0add187a4 100644 --- a/server/block/ender_chest.go +++ b/server/block/ender_chest.go @@ -32,7 +32,7 @@ type EnderChest struct { // NewEnderChest creates a new initialised ender chest. func NewEnderChest() EnderChest { - return EnderChest{} + return EnderChest{viewers: &atomic.Int64{}} } // BreakInfo ... diff --git a/server/item/bow.go b/server/item/bow.go index 0826406c2..e756cbe14 100644 --- a/server/item/bow.go +++ b/server/item/bow.go @@ -72,7 +72,7 @@ func (Bow) Release(releaser Releaser, tx *world.Tx, ctx *UseContext, duration ti if f, ok := enchant.Type().(interface{ BurnDuration() time.Duration }); ok { burnDuration = f.BurnDuration() } - if _, ok := enchant.Type().(interface{ PunchMultiplier(int, float64) float64 }); ok { + if _, ok := enchant.Type().(interface{ KnockBackMultiplier() float64 }); ok { punchLevel = enchant.Level() } if p, ok := enchant.Type().(interface{ PowerDamage(int) float64 }); ok {