Yarn: InfoEnchantment ->?

Criado em 13 jan. 2020  ·  15Comentários  ·  Fonte: FabricMC/yarn

InfoEnchantment não é um encantamento chamado "Info", mas um objeto de dados que armazena um encantamento junto com seu nível.

Nomes sugeridos:

  • EnchantmentState

    • > Também não é um estado. Um estado soa como um mapaque está vinculado a uma pilha de itens para mim.

      - @liach

  • EnchantmentEntry

    • Um pouco vago OMI, e realmente não descreve o que faz.

  • EnchantmentInfo

    • Para mim, isso soa como uma classe que armazena a descrição ("info") de um encantamento.

discussion refactor

Comentários muito úteis

Que tal renomear Enchantment para EnchantmentType e este para Enchantment ?

EnchantmentType ainda se encaixa no outro, assim Enchantment para esta classe, já que você poderia dizer que a coisa toda (tipo + nível) é um encantamento, como "Sharpness II" por exemplo.

Todos 15 comentários

EnchantmentInfo é provavelmente o que melhor se encaixa entre os três. Não é perfeito, mas você pode extrapolar a informação como sendo o emparelhamento de um "tipo de encantamento" (Encantamento) com o "nível de encantamento" (numérico).

Mas para que está sendo usado?

É usado principalmente no EnchantmentHelper para representar um encantamento que será aplicado a um item.

Então, é uma aplicação de encantamento? Aplicação de encantamento? EnchantOptions ou EnchantAttributes ?

EnchantmentLevelPair ?

E quanto a EnchantmentInstance ? Um pouco como StatusEffectInstance

não é realmente uma instância, e esta classe é raramente usada, mais como Map.Entry<Enchantment, Integer>

EnchantmentValue?

Não estou seguindo a primeira metade da lógica de liach, ele realmente não apóia sua afirmação de "não é realmente uma instância".

O que eu realmente tenho contra EnchantmentInstance é que não é muito descritivo, tipo StatusEffectInstance também não é muito descritivo, e também não é ItemInstance , que parece ser o nome de Mojang para ItemStack acordo com as strings nos fixadores de dados. A diferença entre os três é que, para efeitos de status, não existe realmente um nome melhor e é difícil incluir seus muitos campos em um nome. ItemStack é uma boa alternativa para ItemInstance porque é um nome bem estabelecido que o wiki também usa e faz sentido lógico.

Ainda acho que EnchantmentLevelPair é o melhor nome, pois contém apenas dois campos, encantamento e nível. E seu uso também grita que é basicamente um Pair<Enchantment, Integer> , que é usado como uma classe de utilitário dentro de EnchantmentHelper e não está em nenhum outro lugar.

ItemInstance , que parece ser o nome de Mojang para ItemStack de acordo com strings nos fixadores de dados.

As referências de tipo DFU vanilla usam item_stack .

As referências de tipo DFU vanilla usam item_stack .

Talvez uma correção se refira a esse nome em algum lugar?

EnchantmentStack

: tiny_potato:

Além disso, por que não optamos por EnchantmentInfo antes?

Temos uma classe EnchantmentLevel ? E quanto a EnchantmentLevels (por mais de uma vez)?

O objetivo desta classe é armazenar um par de encantamento e nível, então eu sugiro LevelledEnchantment ou EnchantmentLevelPair .

EnchantmentStack não funciona. Você só pode ter uma pilha de objetos concretos.

Que tal renomear Enchantment para EnchantmentType e este para Enchantment ?

EnchantmentType ainda se encaixa no outro, assim Enchantment para esta classe, já que você poderia dizer que a coisa toda (tipo + nível) é um encantamento, como "Sharpness II" por exemplo.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Runemoro picture Runemoro  ·  3Comentários

Draylar picture Draylar  ·  6Comentários

Boundarybreaker picture Boundarybreaker  ·  3Comentários

ChloeDawn picture ChloeDawn  ·  6Comentários

Runemoro picture Runemoro  ·  4Comentários