Class MachineRadarScreenBlockEntity

java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.block.entity.BlockEntity>
net.minecraft.world.level.block.entity.BlockEntity
com.hbm_m.blockentity.machines.MachineRadarScreenBlockEntity
All Implemented Interfaces:
net.minecraftforge.common.capabilities.ICapabilityProvider, net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.level.block.entity.BlockEntity>, net.minecraftforge.common.capabilities.ICapabilitySerializable<net.minecraft.nbt.CompoundTag>, net.minecraftforge.common.extensions.IForgeBlockEntity, net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>

public class MachineRadarScreenBlockEntity extends net.minecraft.world.level.block.entity.BlockEntity
Порт TileEntityMachineRadarScreen из 1.7.10. Пустая «доска», на которую радар (через radar linker в слоте SLOT_SCREEN_LINKER) каждую серверную-тировку копирует свой список целей. Клиент рендерит их на экране через MachineRadarScreenRenderer. Поля linked/refX/refY/refZ/range/entries синкаются через getUpdateTag.
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    net.minecraftforge.common.capabilities.CapabilityProvider.AsField<B extends net.minecraftforge.common.capabilities.ICapabilityProviderImpl<B>>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final List<int[]>
     
    byte[]
    Карта высот экрана; пустые ячейки остаются прозрачными на клиенте.
    boolean
     
    int
     
    int
     
    int
     
    int
     
    boolean
    Режим HeightMap, переданный от связанного радара.

    Fields inherited from class net.minecraft.world.level.block.entity.BlockEntity

    level, remove, worldPosition

    Fields inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity

    INFINITE_EXTENT_AABB
  • Constructor Summary

    Constructors
    Constructor
    Description
    MachineRadarScreenBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    net.minecraft.world.phys.AABB
     
    net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket
     
    net.minecraft.nbt.CompoundTag
     
    void
    handleUpdateTag(net.minecraft.nbt.CompoundTag tag)
     
    void
    load(net.minecraft.nbt.CompoundTag tag)
     
    void
    onDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt)
     
    boolean
    receiveFromRadar(List<int[]> sourceEntries, int refX, int refY, int refZ, int range, boolean showMap, byte[] sourceMap)
    Вызывается радаром серверно: принимает список целей и координаты радара-источника (порт TileEntityMachineRadarNT.updateEntity → screen.entries = ...).
    void
    saveAdditional(net.minecraft.nbt.CompoundTag tag)
     
    static void
    tick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineRadarScreenBlockEntity screen)
    Периодически проверяет источник, чтобы сломанный радар не оставлял экран linked=true.
    void
    Разрыв связи с радаром-источником (когда из радара убран radar linker).

    Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity

    addEntityType, clearRemoved, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPersistentData, getPosFromTag, getType, hasLevel, isRemoved, loadStatic, onChunkUnloaded, onlyOpCanSetNbt, saveToItem, saveWithFullMetadata, saveWithId, saveWithoutMetadata, setBlockState, setChanged, setChanged, setLevel, setRemoved, triggerEvent

    Methods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, getCapability, invalidateCaps, reviveCaps, serializeCaps

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider

    getCapability, getCapability

    Methods inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity

    deserializeNBT, getModelData, hasCustomOutlineRendering, onLoad, requestModelDataUpdate, serializeNBT
  • Field Details

    • entries

      public final List<int[]> entries
    • refX

      public int refX
    • refY

      public int refY
    • refZ

      public int refZ
    • range

      public int range
    • linked

      public boolean linked
    • showMap

      public boolean showMap
      Режим HeightMap, переданный от связанного радара.
    • heightMap

      public byte[] heightMap
      Карта высот экрана; пустые ячейки остаются прозрачными на клиенте.
  • Constructor Details

    • MachineRadarScreenBlockEntity

      public MachineRadarScreenBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
  • Method Details

    • receiveFromRadar

      public boolean receiveFromRadar(List<int[]> sourceEntries, int refX, int refY, int refZ, int range, boolean showMap, byte[] sourceMap)
      Вызывается радаром серверно: принимает список целей и координаты радара-источника (порт TileEntityMachineRadarNT.updateEntity → screen.entries = ...).

      setChanged() вызывается ТОЛЬКО при реальной смене персистентного состояния (линк/координаты радара/режим карты). Координаты целей и содержимое карты — транзитные данные: они синкаются на клиент по сети (sendBlockUpdated), но не должны помечать чанк грязным и заставлять сервер каждые 5 тиков сериализовать 40 КБ height_map на диск.

      Returns:
      true, если набор целей изменился с прошлого вызова.
    • tick

      public static void tick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineRadarScreenBlockEntity screen)
      Периодически проверяет источник, чтобы сломанный радар не оставлял экран linked=true.
    • unlink

      public void unlink()
      Разрыв связи с радаром-источником (когда из радара убран radar linker). Сбрасывает linked/entries/range и синкает клиентам — экран переключается на статичный «шум» (порт отсутствия slots[8]==radar_linker в 1.7.10).
    • getUpdateTag

      public net.minecraft.nbt.CompoundTag getUpdateTag()
      Overrides:
      getUpdateTag in class net.minecraft.world.level.block.entity.BlockEntity
    • handleUpdateTag

      public void handleUpdateTag(net.minecraft.nbt.CompoundTag tag)
    • getUpdatePacket

      public net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket getUpdatePacket()
      Overrides:
      getUpdatePacket in class net.minecraft.world.level.block.entity.BlockEntity
    • onDataPacket

      public void onDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt)
    • saveAdditional

      public void saveAdditional(net.minecraft.nbt.CompoundTag tag)
      Overrides:
      saveAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • load

      public void load(net.minecraft.nbt.CompoundTag tag)
      Overrides:
      load in class net.minecraft.world.level.block.entity.BlockEntity
    • getRenderBoundingBox

      public net.minecraft.world.phys.AABB getRenderBoundingBox()