diff --git a/src/main/java/dev/latvian/mods/kubejs/event/EventHandler.java b/src/main/java/dev/latvian/mods/kubejs/event/EventHandler.java index 6bed614af..a553023d5 100644 --- a/src/main/java/dev/latvian/mods/kubejs/event/EventHandler.java +++ b/src/main/java/dev/latvian/mods/kubejs/event/EventHandler.java @@ -14,8 +14,8 @@ import org.jetbrains.annotations.Nullable; import java.util.HashMap; -import java.util.HashSet; -import java.util.IdentityHashMap; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; import java.util.function.Consumer; @@ -142,7 +142,7 @@ public void listen(ScriptType type, @Nullable Object extraId, IEventHandler hand map = eventContainers; } else { if (extraEventContainers == null) { - extraEventContainers = extra.identity ? new IdentityHashMap<>() : new HashMap<>(); + extraEventContainers = extra.identity ? new LinkedHashMap<>() : new HashMap<>(); } map = extraEventContainers.get(extraId); @@ -362,7 +362,7 @@ public Set findUniqueExtraIds(ScriptType type) { return Set.of(); } - var set = new HashSet<>(); + var set = new LinkedHashSet<>(); forEachListener(type, c -> { if (c.extraId != null) { diff --git a/src/main/java/dev/latvian/mods/kubejs/fluid/FluidBucketItemBuilder.java b/src/main/java/dev/latvian/mods/kubejs/fluid/FluidBucketItemBuilder.java index 79abced03..60f6efad2 100644 --- a/src/main/java/dev/latvian/mods/kubejs/fluid/FluidBucketItemBuilder.java +++ b/src/main/java/dev/latvian/mods/kubejs/fluid/FluidBucketItemBuilder.java @@ -21,6 +21,21 @@ public BucketItem createObject() { @Override public void generateAssetJsons(AssetJsonGenerator generator) { - generator.itemModel(id, m -> m.parent("kubejs:item/generated_bucket")); + if (modelJson != null) { + generator.json(AssetJsonGenerator.asItemModelLocation(id), modelJson); + return; + } + + generator.itemModel(id, m -> { + if (!parentModel.isEmpty()) { + m.parent(parentModel); + } else { + m.parent("kubejs:item/generated_bucket"); + } + + if (textureJson.size() > 0) { + m.textures(textureJson); + } + }); } }