HyCodeYourTale
classpublicPriority 3

DroplistItemDropContainer

com.hypixel.hytale.server.core.asset.type.item.config.container.DroplistItemDropContainer

extends ItemDropContainer

2

Methods

2

Public Methods

1

Fields

1

Constructors

Constants

BuilderCodec<DroplistItemDropContainer>CODEC= BuilderCodec.builder( DroplistItemDropContainer.class, DroplistItemDropContainer::new, I...

Constructors

public
DroplistItemDropContainer()

Methods

Public Methods (2)

public
List<ItemDrop> getAllDrops(List<ItemDrop> list)
@Override
public
String toString()
@Override

Fields

Private/Package Fields (1)

package-privateString droplistId

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.server.core.asset.type.item.config.container;

import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import com.hypixel.hytale.codec.validation.Validators;
import com.hypixel.hytale.server.core.asset.type.item.config.ItemDrop;
import com.hypixel.hytale.server.core.asset.type.item.config.ItemDropList;
import java.util.List;
import java.util.Set;
import java.util.function.DoubleSupplier;

public class DroplistItemDropContainer extends ItemDropContainer {
   public static final BuilderCodec<DroplistItemDropContainer> CODEC = BuilderCodec.builder(
         DroplistItemDropContainer.class, DroplistItemDropContainer::new, ItemDropContainer.DEFAULT_CODEC
      )
      .append(
         new KeyedCodec<>("DroplistId", Codec.STRING),
         (droplistItemDropContainer, s) -> droplistItemDropContainer.droplistId = s,
         droplistItemDropContainer -> droplistItemDropContainer.droplistId
      )
      .addValidator(Validators.nonNull())
      .addValidatorLate(() -> ItemDropList.VALIDATOR_CACHE.getValidator().late())
      .add()
      .build();
   String droplistId;

   public DroplistItemDropContainer() {
   }

   @Override
   protected void populateDrops(List<ItemDrop> drops, DoubleSupplier chanceProvider, Set<String> droplistReferences) {
      if (droplistReferences.add(this.droplistId)) {
         ItemDropList droplist = ItemDropList.getAssetMap().getAsset(this.droplistId);
         if (droplist != null) {
            droplist.getContainer().populateDrops(drops, chanceProvider, droplistReferences);
         }
      }
   }

   @Override
   public List<ItemDrop> getAllDrops(List<ItemDrop> list) {
      ItemDropList droplist = ItemDropList.getAssetMap().getAsset(this.droplistId);
      if (droplist == null) {
         return list;
      } else {
         droplist.getContainer().getAllDrops(list);
         return list;
      }
   }

   @Override
   public String toString() {
      return "DroplistItemDropContainer{droplistId='" + this.droplistId + "', weight=" + this.weight + "}";
   }
}