HyCodeYourTale
classpublicPriority 3

NParametrizedBufferType

com.hypixel.hytale.builtin.hytalegenerator.newsystem.bufferbundle.buffers.type.NParametrizedBufferType

extends NBufferType

4

Methods

4

Public Methods

1

Fields

1

Constructors

Constructors

public
NParametrizedBufferType(String name, int index, Class bufferClass, Class parameterClass, Supplier<NBuffer> bufferSupplier)

Methods

Public Methods (4)

public
boolean equals(Object o)
@Override
public
int hashCode()
@Override
public
boolean isValid(NBuffer buffer)
@Override
public
boolean isValidType(Class bufferClass, Class parameterClass)

Fields

Public Fields (1)

publicfinalClass parameterClass

Inheritance

Parent
Current
Interface
Child

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

Related Classes

Used By

Source Code

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

import com.hypixel.hytale.builtin.hytalegenerator.newsystem.bufferbundle.buffers.NBuffer;
import java.util.Objects;
import java.util.function.Supplier;
import javax.annotation.Nonnull;

public class NParametrizedBufferType extends NBufferType {
   @Nonnull
   public final Class parameterClass;

   public NParametrizedBufferType(
      @Nonnull String name, int index, @Nonnull Class bufferClass, @Nonnull Class parameterClass, @Nonnull Supplier<NBuffer> bufferSupplier
   ) {
      super(name, index, bufferClass, bufferSupplier);
      this.parameterClass = parameterClass;
   }

   public boolean isValidType(@Nonnull Class bufferClass, @Nonnull Class parameterClass) {
      return this.bufferClass.equals(bufferClass) && this.parameterClass.equals(parameterClass);
   }

   @Override
   public boolean isValid(@Nonnull NBuffer buffer) {
      return this.bufferClass.isInstance(buffer);
   }

   @Override
   public boolean equals(Object o) {
      if (o instanceof NParametrizedBufferType that) {
         return !super.equals(o) ? false : Objects.equals(this.parameterClass, that.parameterClass);
      } else {
         return false;
      }
   }

   @Override
   public int hashCode() {
      return Objects.hash(super.hashCode(), this.parameterClass);
   }
}