func (s Stack) MaxCount() int {
	if counter, ok := s.item.(MaxCounter); ok {
		return counter.MaxCount()
	}
	return 64
}
MaxCount returns the maximum count that the stack is able to hold when added to an inventory or when added
to an item entity.
package item
import (
	"fmt"
	"github.com/df-mc/dragonfly/server/world"
	"reflect"
	"strings"
	"sync/atomic"
)
type Stack struct {
	id int32
	item  world.Item
	count int
	customName string
	lore       []string
	damage int
	data map[string]interface{}
	enchantments map[reflect.Type]Enchantment
}
func NewStack(t world.Item, count int) Stack {
	if count < 0 {
		panic("cannot use negative count for item stack")
	}
	if t == nil {
		panic("cannot have a stack with item type nil")
	}
	return Stack{item: t, count: count, id: newID()}
}
func (s Stack) Count() int {
	return s.count
}