All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.minecraft.server.StructurePieceTreasure Maven / Gradle / Ivy

package net.minecraft.server;

import com.google.common.collect.Lists;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class StructurePieceTreasure extends WeightedRandom.WeightedRandomChoice {
	
	private final ItemStack b;
	private final int c;
	private final int d;
	
	public StructurePieceTreasure(Item item, int i, int j, int k, int l) {
		super(l);
		this.b = new ItemStack(item, 1, i);
		this.c = j;
		this.d = k;
	}
	
	public StructurePieceTreasure(ItemStack itemstack, int i, int j, int k) {
		super(k);
		this.b = itemstack;
		this.c = i;
		this.d = j;
	}
	
	public static void a(Random random, List list, IInventory iinventory, int i) {
		for (int j = 0; j < i; ++j) {
			StructurePieceTreasure structurepiecetreasure = WeightedRandom.a(random, list);
			int k = structurepiecetreasure.c + random.nextInt(structurepiecetreasure.d - structurepiecetreasure.c + 1);
			
			if (structurepiecetreasure.b.getMaxStackSize() >= k) {
				ItemStack itemstack = structurepiecetreasure.b.cloneItemStack();
				
				itemstack.count = k;
				iinventory.setItem(random.nextInt(iinventory.getSize()), itemstack);
			} else {
				for (int l = 0; l < k; ++l) {
					ItemStack itemstack1 = structurepiecetreasure.b.cloneItemStack();
					
					itemstack1.count = 1;
					iinventory.setItem(random.nextInt(iinventory.getSize()), itemstack1);
				}
			}
		}
		
	}
	
	public static void a(Random random, List list, TileEntityDispenser tileentitydispenser, int i) {
		for (int j = 0; j < i; ++j) {
			StructurePieceTreasure structurepiecetreasure = WeightedRandom.a(random, list);
			int k = structurepiecetreasure.c + random.nextInt(structurepiecetreasure.d - structurepiecetreasure.c + 1);
			
			if (structurepiecetreasure.b.getMaxStackSize() >= k) {
				ItemStack itemstack = structurepiecetreasure.b.cloneItemStack();
				
				itemstack.count = k;
				tileentitydispenser.setItem(random.nextInt(tileentitydispenser.getSize()), itemstack);
			} else {
				for (int l = 0; l < k; ++l) {
					ItemStack itemstack1 = structurepiecetreasure.b.cloneItemStack();
					
					itemstack1.count = 1;
					tileentitydispenser.setItem(random.nextInt(tileentitydispenser.getSize()), itemstack1);
				}
			}
		}
		
	}
	
	public static List a(List list, StructurePieceTreasure... astructurepiecetreasure) {
		ArrayList arraylist = Lists.newArrayList(list);
		
		Collections.addAll(arraylist, astructurepiecetreasure);
		return arraylist;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy