HyCodeYourTale
classpublicPriority 3

NEntityBuffer

com.hypixel.hytale.builtin.hytalegenerator.newsystem.bufferbundle.buffers.NEntityBuffer

extends NBuffer

4

Methods

4

Public Methods

2

Fields

1

Constructors

Constructors

public
NEntityBuffer()

Methods

Public Methods (4)

public
void addEntity(EntityPlacementData entityPlacementData)
public
void copyFrom(NEntityBuffer sourceBuffer)
public
void forEach(Consumer<EntityPlacementData> consumer)
public
MemInstrument.Report getMemoryUsage()
@Nonnull@Override

Fields

Private/Package Fields (2)

privateList<EntityPlacementData> entities
privateboolean isReference

Inheritance

Parent
Current
Interface
Child

Use mouse wheel to zoom, drag to pan. Click nodes to navigate.

Related Classes

Source Code

package com.hypixel.hytale.builtin.hytalegenerator.newsystem.bufferbundle.buffers;

import com.hypixel.hytale.builtin.hytalegenerator.newsystem.performanceinstruments.MemInstrument;
import com.hypixel.hytale.builtin.hytalegenerator.props.entity.EntityPlacementData;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import javax.annotation.Nonnull;

public class NEntityBuffer extends NBuffer {
   private List<EntityPlacementData> entities = null;
   private boolean isReference = false;

   public NEntityBuffer() {
   }

   public void forEach(@Nonnull Consumer<EntityPlacementData> consumer) {
      if (this.entities != null) {
         for (EntityPlacementData entity : this.entities) {
            consumer.accept(entity);
         }
      }
   }

   public void addEntity(@Nonnull EntityPlacementData entityPlacementData) {
      if (this.entities == null) {
         this.entities = new ArrayList<>();
      }

      this.entities.add(entityPlacementData);
   }

   @Nonnull
   @Override
   public MemInstrument.Report getMemoryUsage() {
      long size_bytes = 1L;
      if (this.entities != null) {
         size_bytes += 24L + 8L * (long)this.entities.size();

         for (EntityPlacementData entity : this.entities) {
            size_bytes += entity.getMemoryUsage().size_bytes();
         }
      }

      return new MemInstrument.Report(size_bytes);
   }

   public void copyFrom(@Nonnull NEntityBuffer sourceBuffer) {
      this.entities = sourceBuffer.entities;
      this.isReference = true;
   }
}