From 1b48b75b18954b159884ebe3ec10ca29dc6824bc Mon Sep 17 00:00:00 2001
From: Juuxel <6596629+Juuxel@users.noreply.github.com>
Date: Sun, 8 Aug 2021 20:18:01 +0300
Subject: [PATCH] Fix FuelRegistry not following vanilla checks for valid fuels
 (#1554)

---
 fabric-content-registries-v0/build.gradle                   | 6 +++++-
 .../fabric/impl/content/registry/FuelRegistryImpl.java      | 6 ++----
 .../resources/fabric-content-registries-v0.accesswidener    | 4 ++++
 .../src/main/resources/fabric.mod.json                      | 1 +
 4 files changed, 12 insertions(+), 5 deletions(-)
 create mode 100644 fabric-content-registries-v0/src/main/resources/fabric-content-registries-v0.accesswidener

diff --git a/fabric-content-registries-v0/build.gradle b/fabric-content-registries-v0/build.gradle
index bb414bce9..ca9b35123 100644
--- a/fabric-content-registries-v0/build.gradle
+++ b/fabric-content-registries-v0/build.gradle
@@ -1,5 +1,9 @@
 archivesBaseName = "fabric-content-registries-v0"
-version = getSubprojectVersion(project, "0.2.2")
+version = getSubprojectVersion(project, "0.2.3")
+
+loom {
+	accessWidener = file("src/main/resources/fabric-content-registries-v0.accesswidener")
+}
 
 moduleDependencies(project, [
 		'fabric-api-base',
diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/impl/content/registry/FuelRegistryImpl.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/impl/content/registry/FuelRegistryImpl.java
index 94da2ae6e..8fcbf5306 100644
--- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/impl/content/registry/FuelRegistryImpl.java
+++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/impl/content/registry/FuelRegistryImpl.java
@@ -117,9 +117,7 @@ public final class FuelRegistryImpl implements FuelRegistry {
 					map.remove(i);
 				}
 			} else {
-				for (Item i : tag.values()) {
-					map.put(i, time);
-				}
+				AbstractFurnaceBlockEntity.addFuel(map, tag, time);
 			}
 		}
 
@@ -129,7 +127,7 @@ public final class FuelRegistryImpl implements FuelRegistry {
 			if (time <= 0) {
 				map.remove(item.asItem());
 			} else {
-				map.put(item.asItem(), time);
+				AbstractFurnaceBlockEntity.addFuel(map, item, time);
 			}
 		}
 	}
diff --git a/fabric-content-registries-v0/src/main/resources/fabric-content-registries-v0.accesswidener b/fabric-content-registries-v0/src/main/resources/fabric-content-registries-v0.accesswidener
new file mode 100644
index 000000000..dc2450d69
--- /dev/null
+++ b/fabric-content-registries-v0/src/main/resources/fabric-content-registries-v0.accesswidener
@@ -0,0 +1,4 @@
+accessWidener	v1	named
+
+accessible method net/minecraft/block/entity/AbstractFurnaceBlockEntity addFuel (Ljava/util/Map;Lnet/minecraft/tag/Tag;I)V
+accessible method net/minecraft/block/entity/AbstractFurnaceBlockEntity addFuel (Ljava/util/Map;Lnet/minecraft/item/ItemConvertible;I)V
diff --git a/fabric-content-registries-v0/src/main/resources/fabric.mod.json b/fabric-content-registries-v0/src/main/resources/fabric.mod.json
index d25c1c7d9..95595ee80 100644
--- a/fabric-content-registries-v0/src/main/resources/fabric.mod.json
+++ b/fabric-content-registries-v0/src/main/resources/fabric.mod.json
@@ -25,6 +25,7 @@
   "mixins": [
     "fabric-content-registries-v0.mixins.json"
   ],
+  "accessWidener" : "fabric-content-registries-v0.accesswidener",
   "custom": {
     "fabric-api:module-lifecycle": "stable"
   }