1.20.80 support (#1)
This commit is contained in:
42
legacyver/legacypacket/crafting_data.go
Normal file
42
legacyver/legacypacket/crafting_data.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package legacypacket
|
||||
|
||||
import (
|
||||
"github.com/akmalfairuz/legacy-version/legacyver/proto"
|
||||
"github.com/sandertv/gophertunnel/minecraft/protocol"
|
||||
"github.com/sandertv/gophertunnel/minecraft/protocol/packet"
|
||||
)
|
||||
|
||||
// CraftingData is sent by the server to let the client know all crafting data that the server maintains. This
|
||||
// includes shapeless crafting, crafting table recipes, furnace recipes etc. Each crafting station's recipes
|
||||
// are included in it.
|
||||
type CraftingData struct {
|
||||
// Recipes is a list of all recipes available on the server. It includes among others shapeless, shaped
|
||||
// and furnace recipes. The client will only be able to craft these recipes.
|
||||
Recipes []proto.Recipe
|
||||
// PotionRecipes is a list of all potion mixing recipes which may be used in the brewing stand.
|
||||
PotionRecipes []protocol.PotionRecipe
|
||||
// PotionContainerChangeRecipes is a list of all recipes to convert a potion from one type to another,
|
||||
// such as from a drinkable potion to a splash potion, or from a splash potion to a lingering potion.
|
||||
PotionContainerChangeRecipes []protocol.PotionContainerChangeRecipe
|
||||
// MaterialReducers is a list of all material reducers which is used in education edition chemistry.
|
||||
MaterialReducers []protocol.MaterialReducer
|
||||
// ClearRecipes indicates if all recipes currently active on the client should be cleaned. Doing this
|
||||
// means that the client will have no recipes active by itself: Any CraftingData packets previously sent
|
||||
// will also be discarded, and only the recipes in this CraftingData packet will be used.
|
||||
ClearRecipes bool
|
||||
}
|
||||
|
||||
// ID ...
|
||||
func (*CraftingData) ID() uint32 {
|
||||
return packet.IDCraftingData
|
||||
}
|
||||
|
||||
func (pk *CraftingData) Marshal(io protocol.IO) {
|
||||
protocol.FuncSlice(io, &pk.Recipes, func(p *proto.Recipe) {
|
||||
proto.IORecipe(io, p)
|
||||
})
|
||||
protocol.Slice(io, &pk.PotionRecipes)
|
||||
protocol.Slice(io, &pk.PotionContainerChangeRecipes)
|
||||
protocol.FuncSlice(io, &pk.MaterialReducers, io.MaterialReducer)
|
||||
io.Bool(&pk.ClearRecipes)
|
||||
}
|
||||
Reference in New Issue
Block a user