Files
minecraft-renew-mod/create-limited-draining/src/main/java/yourscraft/jasdewstarfield/createlimiteddraining/mixin/HosePulleyBlockEntityMixin.java
ToxicCrzay270 5e6a3e0450
Some checks failed
Build / build (push) Successful in 6m29s
Release Dry Run / release-dry-run (push) Failing after 11s
Codex Template Compliance / template-compliance (push) Successful in 4s
Initial Minecraft Renew Mod workspace
2026-05-15 00:42:16 +02:00

56 lines
2.3 KiB
Java

package yourscraft.jasdewstarfield.createlimiteddraining.mixin;
import java.util.List;
import com.simibubi.create.content.fluids.hosePulley.HosePulleyBlockEntity;
import com.simibubi.create.foundation.item.TooltipHelper;
import net.minecraft.core.HolderLookup;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import yourscraft.jasdewstarfield.createlimiteddraining.common.HosePulleyAccessor;
@Mixin(value = HosePulleyBlockEntity.class, remap = false)
public class HosePulleyBlockEntityMixin implements HosePulleyAccessor {
@Unique
private boolean createlimiteddraining$biomeCheckFailed = false;
@Unique
@Override
public void createlimiteddraining$setBiomeCheckFailed(boolean failed) {
this.createlimiteddraining$biomeCheckFailed = failed;
}
@Unique
@Override
public boolean createlimiteddraining$isBiomeCheckFailed() {
return this.createlimiteddraining$biomeCheckFailed;
}
@Inject(method = "addToGoggleTooltip", at = @At("RETURN"))
private void createlimiteddraining$addTooltip(List<Component> tooltip, boolean isPlayerSneaking, CallbackInfoReturnable<Boolean> cir) {
if (createlimiteddraining$isBiomeCheckFailed()) {
TooltipHelper.addHint(tooltip, "hint.hose_pulley.biome_check_failed");
}
}
@Inject(method = "write", at = @At("HEAD"))
private void createlimiteddraining$write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket, CallbackInfo ci) {
if (clientPacket) {
compound.putBoolean("BiomeCheckFailed", createlimiteddraining$biomeCheckFailed);
}
}
@Inject(method = "read", at = @At("HEAD"))
private void createlimiteddraining$read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket, CallbackInfo ci) {
if (clientPacket) {
createlimiteddraining$biomeCheckFailed = compound.getBoolean("BiomeCheckFailed");
}
}
}