aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/moe/nea/firmament/mixins/TolerateFirmamentTolerateRegistryOwners.java
blob: bc0ece5d40d4978062b47d95f6a44cc18eeadae7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package moe.nea.firmament.mixins;

import moe.nea.firmament.util.mc.TolerantRegistriesOps;
import net.minecraft.core.HolderOwner;
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.CallbackInfoReturnable;

@Mixin(HolderOwner.class)
public interface TolerateFirmamentTolerateRegistryOwners<T> {
	@Inject(method = "canSerializeIn", at = @At("HEAD"), cancellable = true)
	private void equalTolerantRegistryOwners(HolderOwner<T> other, CallbackInfoReturnable<Boolean> cir) {
		if (other instanceof TolerantRegistriesOps.TolerantOwner<?>) {
			cir.setReturnValue(true);
		}
	}
}