Confirmedusers
409
edits
No edit summary |
No edit summary Tags: Mobile edit Mobile web edit |
||
Line 70: | Line 70: | ||
Метод <code>void OnEntityCollide(IWorldAccessor world, Entity entity, BlockPos pos, BlockFacing facing, Vec3d collideSpeed, bool isImpact)</code> выглядит как неплохой вариант для реализации прыгучего функционала. Заметьте, что каждый блок батута размещенный в игре будет {{ll|Modding:Block_Cardinality|совместно использовать}} один и тот же экземпляр <code>TrampolineBlock</code>. Поскольку этот объект используется несколькими блоками, он не имеет поля для позиции блока. Поэтому в обработчике события присутствует параметр <code>pos</code>. | Метод <code>void OnEntityCollide(IWorldAccessor world, Entity entity, BlockPos pos, BlockFacing facing, Vec3d collideSpeed, bool isImpact)</code> выглядит как неплохой вариант для реализации прыгучего функционала. Заметьте, что каждый блок батута размещенный в игре будет {{ll|Modding:Block_Cardinality|совместно использовать}} один и тот же экземпляр <code>TrampolineBlock</code>. Поскольку этот объект используется несколькими блоками, он не имеет поля для позиции блока. Поэтому в обработчике события присутствует параметр <code>pos</code>. | ||
'''Когда объект должен отскочить?''' | '''Когда объект должен отскочить?''' | ||
# Сущность должна отскочить в тот момент, когда она приземляется на вершину блока, а не, когда она уже стоит на нем. Поэтому <code>isImpact</code> должно быть <code>true</code>. | # Сущность должна отскочить в тот момент, когда она приземляется на вершину блока, а не, когда она уже стоит на нем. Поэтому <code>isImpact</code> должно быть <code>true</code>. | ||
# | # Сущность должна сталкиваться вертикально. Стороны блока не должны отталкивать сущность. Таким образом, осью стороны <code>axis</code> <code>facing</code> должна быть <code>Y</code>. | ||
<div class="mw-translate-fuzzy"> | <div class="mw-translate-fuzzy"> |