PixelBufferView class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.engine.views

Файл: com/hypixel/hytale/builtin/hytalegenerator/engine/views/PixelBufferView.java

implements: VoxelSpace<T>

Поля (6)

МодификаторыТипИмя
final int Y_LEVEL_BUFFER_GRID
PixelBuffer var2
Vector3i var2
PixelBuffer var3
Vector3i var3
Vector3i var4

Методы (1)

МодификаторыВозвратСигнатура
abstract throw new UnsupportedOperationExceptionthrow new UnsupportedOperationException()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.engine.views;

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.GridUtils;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.engine.bufferbundle.BufferBundle;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.engine.bufferbundle.buffers.PixelBuffer;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.voxelspace.VoxelSpace;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;

class="kw">public class PixelBufferView<T> class="kw">implements VoxelSpace<T> {
   class="kw">public class="kw">static class="kw">final int Y_LEVEL_BUFFER_GRID = 0;
   class="kw">public class="kw">static class="kw">final int Y_LEVEL_VOXEL_GRID = 0;
   @Nonnull
   class="kw">private class="kw">final Class<T> voxelType;
   @Nonnull
   class="kw">private class="kw">final BufferBundle.Access.View bufferAccess;
   @Nonnull
   class="kw">private class="kw">final Bounds3i bounds_voxelGrid;
   @Nonnull
   class="kw">private class="kw">final Vector3i size_voxelGrid;

   class="kw">public PixelBufferView(@Nonnull BufferBundle.Access.View var1, @Nonnull Class<T> var2) {
      assert var1.getBounds_bufferGrid().min.y <= 0 && var1.getBounds_bufferGrid().max.y > 0;
      this.bufferAccess = var1;
      this.voxelType = var2;
      this.bounds_voxelGrid = var1.getBounds_bufferGrid();
      GridUtils.toVoxelGrid_fromBufferGrid(this.bounds_voxelGrid);
      this.bounds_voxelGrid.min.y = 0;
      this.bounds_voxelGrid.max.y = 1;
      this.size_voxelGrid = this.bounds_voxelGrid.getSize();
   }

   @Override
   class="kw">public void set(T var1, int var2, int var3, int var4) {
      this.set(var1, new Vector3i(var2, var3, var4));
   }

   @Override
   class="kw">public void set(T var1, @Nonnull Vector3i var2) {
      assert this.bounds_voxelGrid.contains(var2);
      PixelBuffer var3 = this.getBuffer(var2);
      Vector3i var4 = new Vector3i(var2);
      GridUtils.toVoxelGridInsideBuffer_fromWorldGrid(var4);
      var3.setPixelContent(var4, var1);
   }

   @Override
   class="kw">public void setAll(T var1) {
      throw new UnsupportedOperationException();
   }

   @Nullable
   @Override
   class="kw">public T get(int var1, int var2, int var3) {
      class="kw">return this.get(new Vector3i(var1, var2, var3));
   }

   @Nullable
   @Override
   class="kw">public T get(@Nonnull Vector3i var1) {
      assert this.bounds_voxelGrid.contains(var1);
      PixelBuffer var2 = this.getBuffer(var1);
      Vector3i var3 = new Vector3i(var1);
      GridUtils.toVoxelGridInsideBuffer_fromWorldGrid(var3);
      class="kw">return var2.getPixelContent(var3);
   }

   @Nonnull
   class="kw">private PixelBuffer<T> getBuffer(@Nonnull Vector3i var1) {
      assert this.bounds_voxelGrid.contains(var1);
      Vector3i var2 = new Vector3i(var1);
      GridUtils.toBufferGrid_fromVoxelGrid(var2);
      class="kw">return (PixelBuffer<T>)this.bufferAccess.getBuffer(var2).buffer();
   }

   @Nonnull
   @Override
   class="kw">public Bounds3i getBounds() {
      class="kw">return this.bounds_voxelGrid;
   }
}