Skip to content

Commit ffedc0a

Browse files
authored
Fix StitchedSprite concurrent modification exception (#154) (Thanks to cylian914)
PR #183
2 parents e046adf + 4c5f66b commit ffedc0a

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package fr.iglee42.createcasing.mixins.create.catnip;
2+
3+
import net.createmod.catnip.render.StitchedSprite;
4+
import net.minecraft.resources.ResourceLocation;
5+
import org.spongepowered.asm.mixin.Final;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.Mutable;
8+
import org.spongepowered.asm.mixin.Shadow;
9+
import org.spongepowered.asm.mixin.injection.At;
10+
import org.spongepowered.asm.mixin.injection.Inject;
11+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
12+
13+
import java.util.List;
14+
import java.util.Map;
15+
import java.util.concurrent.ConcurrentHashMap;
16+
17+
@Mixin(value = StitchedSprite.class, remap = false)
18+
public class StitchedSpriteMixin {
19+
@Shadow @Final @Mutable
20+
private static Map<ResourceLocation, List<StitchedSprite>> ALL;
21+
22+
@Inject(method = "<clinit>", at = @At("TAIL"))
23+
private static void replaceHashMapWithConcurtentHashMap(CallbackInfo ci) {
24+
ALL = new ConcurrentHashMap<>();
25+
}
26+
}

src/main/resources/createcasing.mixins.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"create.arm_interactions.DeployerMixin",
2424
"create.arm_interactions.DepotMixin",
2525
"create.arm_interactions.SawMixin",
26+
"create.catnip.StitchedSpriteMixin",
2627
"minecraft.IItemExtensionMixin"
2728
],
2829
"client": [

0 commit comments

Comments
 (0)