parent
856c3cbc11
commit
a2d0984078
|
|
@ -16,11 +16,11 @@ import java.util.concurrent.locks.ReentrantLock;
|
|||
public class BlockColorsMixin {
|
||||
private Lock mapLock = new ReentrantLock();
|
||||
@Inject(method = "register", at = @At("HEAD"))
|
||||
private void lockMapBeforeAccess(BlockColor pBlockColor, Block[] pBlocks, CallbackInfo ci) {
|
||||
private void lockMapBeforeAccess(CallbackInfo ci) {
|
||||
mapLock.lock();
|
||||
}
|
||||
@Inject(method = "register", at = @At("TAIL"))
|
||||
private void unlockMap(BlockColor pBlockColor, Block[] pBlocks, CallbackInfo ci) {
|
||||
private void unlockMap(CallbackInfo ci) {
|
||||
mapLock.unlock();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package org.embeddedt.modernfix.mixin.safety;
|
||||
|
||||
import net.minecraft.client.color.item.ItemColors;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
@Mixin(value = ItemColors.class, priority = 700)
|
||||
public class ItemColorsMixin {
|
||||
private Lock mapLock = new ReentrantLock();
|
||||
@Inject(method = "register", at = @At("HEAD"))
|
||||
private void lockMapBeforeAccess(CallbackInfo ci) {
|
||||
mapLock.lock();
|
||||
}
|
||||
@Inject(method = "register", at = @At("TAIL"))
|
||||
private void unlockMap(CallbackInfo ci) {
|
||||
mapLock.unlock();
|
||||
}
|
||||
}
|
||||
|
|
@ -98,6 +98,7 @@
|
|||
"perf.async_jei.RecipeManagerInternalMixin",
|
||||
"perf.thread_priorities.IntegratedServerMixin",
|
||||
"safety.BlockColorsMixin",
|
||||
"safety.ItemColorsMixin",
|
||||
"perf.flatten_model_predicates.AndConditionMixin",
|
||||
"perf.flatten_model_predicates.OrConditionMixin",
|
||||
"perf.flatten_model_predicates.PropertyValueConditionMixin",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user