Yarn: InfoEnchantment ->?

Созданный на 13 янв. 2020  ·  15Комментарии  ·  Источник: FabricMC/yarn

InfoEnchantment - это не чары под названием «Информация», а объект данных, который хранит чары вместе с их уровнем.

Предлагаемые имена:

  • EnchantmentState

    • > Это тоже не государство. Состояние похоже на картукоторый привязан ко мне к стеку элементов.

      - @liach

  • EnchantmentEntry

    • Немного расплывчатый ИМО, и на самом деле не описывает, что он делает.

  • EnchantmentInfo

    • Для меня это звучит как класс, в котором хранится описание («информация») чар.

discussion refactor

Самый полезный комментарий

Как насчет переименования Enchantment в EnchantmentType а этого в Enchantment ?

EnchantmentType прежнему подходит другому, как и Enchantment для этого класса, поскольку вы могли бы сказать, что вся вещь (тип + уровень) является зачарованием, как, например, «Sharpness II».

Все 15 Комментарий

EnchantmentInfo , вероятно, лучше всего подходит из этих трех. Это не идеально, но вы можете экстраполировать информацию как сочетание «типа чар» (чары) с «уровнем чар» (числовым).

Но для чего это используется?

Он используется в основном в EnchantmentHelper для обозначения чар, которые будут применены к предмету.

Так это наложение чар? Приложение чар? EnchantOptions или EnchantAttributes ?

EnchantmentLevelPair ?

А как насчет EnchantmentInstance ? Немного похоже на StatusEffectInstance

не совсем экземпляр, и этот класс на самом деле используется очень редко, больше как Map.Entry<Enchantment, Integer>

EnchantmentValue?

Я не следую первой половине логики Лиаха, он на самом деле не поддерживает свое утверждение «не совсем экземпляр».

Что я действительно имею против EnchantmentInstance это то, что он не очень информативен, вроде как StatusEffectInstance тоже не очень информативен, как и ItemInstance , которое, похоже, является именем Mojang. для ItemStack согласно строкам в фиксациях данных. Разница между этими тремя состоит в том, что для эффектов статуса лучшего имени действительно не существует, и трудно объединить его многочисленные поля в одно имя. ItemStack - хорошая альтернатива ItemInstance как это хорошо известное имя, которое также использует вики, и оно имеет логический смысл.

Я до сих пор считаю, что EnchantmentLevelPair - лучшее название, так как оно содержит только два поля, чары и уровень. И его использование также кричит, что это в основном Pair<Enchantment, Integer> , который используется как служебный класс внутри EnchantmentHelper и iirc больше нигде.

ItemInstance , которое, по-видимому, является именем Mojang для ItemStack в соответствии со строками в блоках фиксации данных.

В ванильных ссылках на типы DFU используется item_stack .

В ванильных ссылках на типы DFU используется item_stack .

Может быть, исправление где-то связано с этим именем?

EnchantmentStack

: tiny_potato:

Также почему мы не использовали EnchantmentInfo раньше?

У нас есть класс EnchantmentLevel ? А как насчет EnchantmentLevels (более одного раза)?

Цель этого класса - хранить пару чар и уровней, поэтому я предлагаю LevelledEnchantment или EnchantmentLevelPair .

EnchantmentStack не работает. У вас может быть только стопка конкретных объектов.

Как насчет переименования Enchantment в EnchantmentType а этого в Enchantment ?

EnchantmentType прежнему подходит другому, как и Enchantment для этого класса, поскольку вы могли бы сказать, что вся вещь (тип + уровень) является зачарованием, как, например, «Sharpness II».

Была ли эта страница полезной?
0 / 5 - 0 рейтинги