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));
}