LUIS DAS ARTIMANHAS - Biblioteca Utilitária


Biblioteca utilitária para criação rápida de itens, receitas e outros protótipos Factorio.. local LDA = require('__LDA-LIB__/init') local PATH = LDA.setBasePath('Quantum-Teleporter')

Internal
5 days ago
2.1
697

i Aceitar objetos LuaPlayer e LuaSurface nos resolvers do Runtime

Aceitar objetos LuaPlayer e LuaSurface nos resolvers do Runtime

  • Status: Pendente de envio
  • Funcao/API solicitada: Corrigir runtime/modules/player.get e runtime/modules/world.getSurface para reconhecer objetos Factorio LuaPlayer e LuaSurface validos sem exigir type(value) == "table". Para um objeto com .valid, os resolvers devem aceita-lo diretamente; nomes, indices e nil devem continuar funcionando como atualmente.
  • Necessidade no mod: A versao 0.0.16 rejeita os objetos Lua do Factorio nos testes type(player_or_id) == "table" e type(surface_or_id) == "table". Assim, player.get(lua_player) retorna nil; no helper de mundo, getSurface(lua_surface) retorna nil, fazendo chamadas como findFreePosition falharem mesmo em terreno livre. A rejeicao do jogador tambem impede teleporte e notificacoes quando os demais helpers recebem o objeto diretamente.
  • Estagio do Factorio: runtime
  • Uso no projeto: control/utils/lda-runtime.lua e os helpers que consomem player/world
  • Implementacao temporaria: control/utils/lda-runtime.lua converte jogadores para player.index e superficies para surface.name antes de chamar os modulos oficiais.
  • Compatibilidade: LDA-LIB >= 0.0.16, Factorio 2.1+
  • Observacoes: Reproducao: player.get(game.get_player(1)) e world.getSurface(game.surfaces.nauvis) devem devolver os objetos validos, nao nil. A validacao por type(...) == "table" nao e adequada para objetos Lua do Factorio.

PARCIALMENTE IMPLEMENTADO, REQUER TESTES

New response