Java源码示例:net.minecraft.world.storage.loot.RandomValueRange

示例1
public static void addFishingLoot(ItemStack stack,int weight){
    LootCondition[] lootConditions = new LootCondition[0];
    LootFunction[] setMeta = new LootFunction[] { new SetMetadata(lootConditions, new RandomValueRange(stack.getMetadata())) };
    LootEntry entry = new LootEntryItem(stack.getItem(), weight, 0, setMeta, lootConditions, stack.getUnlocalizedName());

    FishinglootPools.add(entry);
}
 
示例2
@SubscribeEvent
public void onWorldLoad(LootTableLoadEvent event) {
    LootPool mainPool = event.getTable().getPool("main");
    if (mainPool != null && lootEntryItems.containsKey(event.getName())) {
        ArrayList<LootEntryItem> entryItems = lootEntryItems.get(event.getName());
        for (LootEntryItem entry : entryItems) {
            mainPool.addEntry(entry);
        }
    }
    if (mainPool != null && rollVals.containsKey(event.getName())) {
        RandomValueRange rangeAdd = rollVals.get(event.getName());
        RandomValueRange range = mainPool.getRolls();
        mainPool.setRolls(new RandomValueRange(range.getMin() + rangeAdd.getMin(), range.getMax() + rangeAdd.getMax()));
    }
}
 
示例3
public static void addRolls(ResourceLocation tableLocation, int minAdd, int maxAdd) {
    rollVals.put(tableLocation, new RandomValueRange(minAdd, maxAdd));
}
 
示例4
public static SetCount createCountFunction(float min, float max) {
	return new SetCount(NO_CONDITIONS, new RandomValueRange(min, max));
}