End chest loot table
This commit is contained in:
parent
e6542130f0
commit
78b47c8589
2 changed files with 29 additions and 0 deletions
|
@ -31,6 +31,7 @@ import ru.betterend.registry.EndTags;
|
||||||
import ru.betterend.util.BonemealUtil;
|
import ru.betterend.util.BonemealUtil;
|
||||||
import ru.betterend.util.DataFixerUtil;
|
import ru.betterend.util.DataFixerUtil;
|
||||||
import ru.betterend.util.Logger;
|
import ru.betterend.util.Logger;
|
||||||
|
import ru.betterend.util.LootTableUtil;
|
||||||
import ru.betterend.world.generator.BetterEndBiomeSource;
|
import ru.betterend.world.generator.BetterEndBiomeSource;
|
||||||
import ru.betterend.world.generator.GeneratorOptions;
|
import ru.betterend.world.generator.GeneratorOptions;
|
||||||
import ru.betterend.world.surface.SurfaceBuilders;
|
import ru.betterend.world.surface.SurfaceBuilders;
|
||||||
|
@ -64,6 +65,7 @@ public class BetterEnd implements ModInitializer {
|
||||||
BonemealUtil.init();
|
BonemealUtil.init();
|
||||||
GeneratorOptions.init();
|
GeneratorOptions.init();
|
||||||
DataFixerUtil.init();
|
DataFixerUtil.init();
|
||||||
|
LootTableUtil.init();
|
||||||
|
|
||||||
if (hasGuideBook()) {
|
if (hasGuideBook()) {
|
||||||
GuideBookItem.register();
|
GuideBookItem.register();
|
||||||
|
|
27
src/main/java/ru/betterend/util/LootTableUtil.java
Normal file
27
src/main/java/ru/betterend/util/LootTableUtil.java
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
package ru.betterend.util;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder;
|
||||||
|
import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
|
import net.minecraft.loot.UniformLootTableRange;
|
||||||
|
import net.minecraft.loot.condition.RandomChanceLootCondition;
|
||||||
|
import net.minecraft.loot.entry.ItemEntry;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
import ru.betterend.registry.EndItems;
|
||||||
|
|
||||||
|
public class LootTableUtil {
|
||||||
|
private static final Identifier END_CITY_TREASURE_ID = new Identifier("chests/end_city_treasure");
|
||||||
|
|
||||||
|
public static void init() {
|
||||||
|
LootTableLoadingCallback.EVENT.register((resourceManager, lootManager, id, supplier, setter) -> {
|
||||||
|
if (END_CITY_TREASURE_ID.equals(id)) {
|
||||||
|
FabricLootPoolBuilder builder = FabricLootPoolBuilder.builder();
|
||||||
|
builder.rolls(UniformLootTableRange.between(0, 5));
|
||||||
|
builder.withCondition(RandomChanceLootCondition.builder(0.5f).build());
|
||||||
|
builder.withEntry(ItemEntry.builder(Items.GHAST_TEAR).build());
|
||||||
|
builder.withEntry(ItemEntry.builder(EndItems.MUSIC_DISC_STRANGE_AND_ALIEN).build());
|
||||||
|
supplier.pool(builder);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue