From df5ce0172404d8214658babfd7deb85b80ac76f1 Mon Sep 17 00:00:00 2001 From: AkmalFairuz Date: Fri, 10 Jan 2025 19:59:22 +0700 Subject: [PATCH] Don't use interface --- legacyver/proto/item_stack.go | 55 +++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/legacyver/proto/item_stack.go b/legacyver/proto/item_stack.go index e75a8c8..8e946fa 100644 --- a/legacyver/proto/item_stack.go +++ b/legacyver/proto/item_stack.go @@ -112,10 +112,59 @@ func (x *ItemStackRequest) ToLatest() protocol.ItemStackRequest { FilterCause: x.FilterCause, } for i, v := range x.Actions { - if z, ok := v.(interface { - ToLatest() protocol.StackRequestAction - }); ok { + if z, ok := v.(*TakeStackRequestAction); ok { ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*PlaceStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*SwapStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*DropStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*DestroyStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*ConsumeStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*CraftRecipeStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*AutoCraftRecipeStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*CraftCreativeStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*CraftGrindstoneRecipeStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue + } + + if z, ok := v.(*CraftLoomRecipeStackRequestAction); ok { + ret.Actions[i] = z.ToLatest() + continue } ret.Actions[i] = v