InfoEnchantment
não é um encantamento chamado "Info", mas um objeto de dados que armazena um encantamento junto com seu nível.
Nomes sugeridos:
EnchantmentState
EnchantmentEntry
EnchantmentInfo
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.
Comentários muito úteis
Que tal renomear
Enchantment
paraEnchantmentType
e este paraEnchantment
?EnchantmentType
ainda se encaixa no outro, assimEnchantment
para esta classe, já que você poderia dizer que a coisa toda (tipo + nível) é um encantamento, como "Sharpness II" por exemplo.