--- a/net/minecraft/data/loot/BlockLootTables.java
+++ b/net/minecraft/data/loot/BlockLootTables.java
@@ -216,7 +216,7 @@
       return LootTable.func_216119_b();
    }
 
-   public void accept(BiConsumer<ResourceLocation, LootTable.Builder> p_accept_1_) {
+   protected void addTables() {
       this.func_218492_c(Blocks.field_196650_c);
       this.func_218492_c(Blocks.field_196652_d);
       this.func_218492_c(Blocks.field_196654_e);
@@ -1066,9 +1066,13 @@
       this.func_218507_a(Blocks.field_150480_ab, func_218482_a());
       this.func_218507_a(Blocks.field_235335_bO_, func_218482_a());
       this.func_218507_a(Blocks.field_150427_aO, func_218482_a());
+   }
+
+   public void accept(BiConsumer<ResourceLocation, LootTable.Builder> p_accept_1_) {
+      this.addTables();
       Set<ResourceLocation> set = Sets.newHashSet();
 
-      for(Block block : Registry.field_212618_g) {
+      for(Block block : getKnownBlocks()) {
          ResourceLocation resourcelocation = block.func_220068_i();
          if (resourcelocation != LootTables.field_186419_a && set.add(resourcelocation)) {
             LootTable.Builder loottable$builder = this.field_218581_i.remove(resourcelocation);
@@ -1095,6 +1099,10 @@
       return func_218562_a(p_239829_0_, DoorBlock.field_176523_O, DoubleBlockHalf.LOWER);
    }
 
+   protected Iterable<Block> getKnownBlocks() {
+       return Registry.field_212618_g;
+   }
+
    public void func_218547_a(Block p_218547_1_) {
       this.func_218522_a(p_218547_1_, (p_241751_0_) -> {
          return func_218523_c(((FlowerPotBlock)p_241751_0_).func_220276_d());
