User Tools

Site Tools


ru:tutorial:blockstate

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ru:tutorial:blockstate [2022/03/28 14:21] – допереведу потом furnygoru:tutorial:blockstate [2022/03/28 15:40] (current) – furnygo
Line 90: Line 90:
  
   * ''%%"variants"%%'' определяет, какую модель следует использовать для каждого возможного состояния блока. Мы немного подробнее рассмотрим варианты.   * ''%%"variants"%%'' определяет, какую модель следует использовать для каждого возможного состояния блока. Мы немного подробнее рассмотрим варианты.
-    * Вариант с именем ''%%""%%'' (пустая строка) будет применяться к //каждой// перестановке состояния блока. If you have a ''%%""%%'' variant, you shouldn't have any other variants in the JSON, or Minecraft will get upset. +    * Вариант с именем ''%%""%%'' (пустая строка) будет применяться к //каждой// перестановке состояния блока. Если у вас есть вариант ''%%""%%'', у вас не должно быть никаких других вариантов в JSON, иначе будет плохо. 
-    * The object assigned to the ''%%""%%'' variant can have various properties added to it like rotation or texture manipulation. Check out the linked Model page below for more documentation on what properties can be added. All variants //must// contain a ''%%"model"%%'' property. +    * Объект, назначенный варианту ''%%""%%'' , может иметь различные добавленные к нему свойства, такие как вращение или манипулирование текстурой. Ознакомьтесь со связанной страницей модели ниже для получения дополнительной документации о том, какие свойства можно добавить. Все варианты //должны// содержать свойство ''%%"model"%%''. 
-  * The ''%%"model"%%'' property is always passed an ID of a model. In this case, the game will look at the location ''src/main/resources/assets/tutorial/models/block/chargeable_block.json''. The ID here can be anything. It doesn't //need// to be the same as your block's ID, but if you only have one variant, it probably should. Block models have their own setup, which is documented very well on the Minecraft wiki page linked below. You can either write the JSON by hand or use a program like [[https://blockbench.net|Blockbench]] to generate it more easily.+  * Свойству ''%%"model"%%'' всегда передается идентификатор модели. В этом случае игра будет смотреть в местоположении ''src/main/resources/assets/tutorial/models/block/chargeable_block.json''. Идентификатор здесь может быть любым. Он //не должен// совпадать с идентификатором вашего блока, но если у вас есть только один вариант, вероятно, так и должно быть. Модели блоков имеют свои собственные настройки, которые очень хорошо задокументированы на вики-странице Minecraft, ссылка на которую приведена ниже. Вы можете либо написать JSON вручную, либо использовать такую программу, как [[https://blockbench.net|Blockbench]] чтобы сгенерировать его было проще.
  
-If you want to have different models for each blockstate, you should add multiple variants. For the same ''src/main/resources/assets/tutorial/blockstates/chargeable_block.json'' location we used above, your model file would probably look like such:+Если вы хотите иметь разные модели для каждого состояния блока, вам следует добавить несколько вариантов. Для того же расположения ''src/main/resources/assets/tutorial/blockstates/chargeable_block.json'', которое мы использовали выше, ваш файл модели, вероятно, будет выглядеть следующим образом:
  
 <code JavaScript resources/assets/tutorial/blockstates/chargeable_block.json> <code JavaScript resources/assets/tutorial/blockstates/chargeable_block.json>
Line 105: Line 105:
 </code> </code>
  
-In this JSON, there are two variants, one for each possibility of the ''CHARGED'' property we defined above. Since we gave the property the string name of ''charged'' in the Java, that's what we use here. Booleans only have two states, but if you use properties based on integers or enums, you'll have more variants. +В этом JSON есть два варианта, по одному для каждой возможности свойства ''CHARGED'', которое мы определили выше. Поскольку мы присвоили свойству строковое имя ''charged'' в Java, это то, что мы используем здесь. Логические значения имеют только два состояния, но если вы используете свойства, основанные на целых числах или перечислениях, у вас будет больше вариантов. 
  
-Variants are based on possible permutations of the properties added to your block. A property can be totally ignored in the blockstate JSON if you want, like in the first blockstate JSON where we ignored the ''charged'' property, but if you want to include a property in one variant, it must be included in //all// variants. If ''tutorial:chargeable_block'' also had a boolean property called ''glowing'', and you wanted to change the model based on whether it was glowing and based on whether it was charged, you would need four variants: charged off and glowing off, charged on and glowing off, charged off and glowing on, and charged on and glowing on. The same model can be assigned to multiple variants if you need it to be.+Варианты основаны на возможных перестановках свойств, добавленных в ваш блок. Свойство может быть полностью проигнорировано в JSON файле состояний, если вы хотите, как в первом JSON файле состояний, где мы проигнорировали свойство ''charged'', но если вы хотите включить свойство в один вариант, оно должно быть включено во //все// комбинации. Если бы у ''tutorial:chargeable_block'' также было логическое свойство с именем ''glowing'', и вы хотели изменить модель в зависимости от того, светилась ли она и была ли она заряжена, вам понадобились бы четыре варианта: не заряженный и не светящийся, заряженный и не светящийся, не заряженный и светящийся, и заряженный и светящийся. Одна и та же модель может быть назначена нескольким вариантам, если вам это нужно.
  
-This is only a simple introduction to blockstate JSONs. All of the tricks you can do with blockstate and model JSONs are documented on the [[https://minecraft.gamepedia.com/Model|Minecraft wiki]], along with examples of how the features are used in vanilla. Best of luck!+Это всего лишь простое введение в JSON файл состояний блока. Все трюки, которые вы можете выполнять с помощью этих JSON, задокументированы на [[https://minecraft.gamepedia.com/Model|Майнкрафт википедии (англ.)]], , а также примеры того, как функции используются в ваниле. Желаю удачи!
  
-==== A note about performance ==== +==== Примечание о производительности ==== 
-Every possible state of a block is registered at the start of the game. This means that if you have 14 boolean properties, the block has 2^14 = 16384 different states and 2^14 states are registered. For this reason blocks should not contain too many blockstate properties. Rather, blockstates should be mostly reserved for visuals, and [[tutorial:blockentity|Block Entities]] should be used for more advanced state.+Каждое возможное состояние блока регистрируется в начале игры. Это означает, что если у вас есть 14 логических свойств, блок имеет 2 ^ 14 = 16384 различных состояния и зарегистрировано 2 ^ 14 состояний. По этой причине блоки не должны содержать слишком много свойств состояний блока. Скорее, состояния блоков должны быть в основном зарезервированы для визуальных элементов, а [[ru:tutorial:blockentity|Сущность блока]] следует использовать для более продвинутого состояния.
ru/tutorial/blockstate.1648477317.txt.gz · Last modified: by furnygo