56 lines
1.7 KiB
Java
56 lines
1.7 KiB
Java
package carpet.mixins;
|
|
|
|
import carpet.CarpetSettings;
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.block.entity.StructureBlockBlockEntity;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.injection.At;
|
|
import org.spongepowered.asm.mixin.injection.Constant;
|
|
import org.spongepowered.asm.mixin.injection.ModifyArg;
|
|
import org.spongepowered.asm.mixin.injection.ModifyConstant;
|
|
|
|
@Mixin(StructureBlockBlockEntity.class)
|
|
public abstract class StructureBlockBlockEntity_limitsMixin
|
|
{
|
|
@ModifyConstant(
|
|
method = "readNbt",
|
|
constant = @Constant(intValue = 48)
|
|
)
|
|
private int positiveLimit(int original) {
|
|
return CarpetSettings.structureBlockLimit;
|
|
}
|
|
|
|
@ModifyConstant(
|
|
method = "readNbt",
|
|
constant = @Constant(intValue = -48)
|
|
)
|
|
private int negativeLimit(int original) {
|
|
return -CarpetSettings.structureBlockLimit;
|
|
}
|
|
|
|
@ModifyArg(
|
|
method = "saveStructure(Z)Z",
|
|
at = @At(
|
|
value = "INVOKE",
|
|
target = "Lnet/minecraft/structure/Structure;saveFromWorld(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Vec3i;ZLnet/minecraft/block/Block;)V"
|
|
),
|
|
index = 4
|
|
)
|
|
private Block ignoredBlock(Block original) {
|
|
return CarpetSettings.structureBlockIgnoredBlock;
|
|
}
|
|
/*
|
|
@Environment(EnvType.CLIENT)
|
|
@ModifyConstant(
|
|
method = "getSquaredRenderDistance",
|
|
constant = @Constant(doubleValue = 96d)
|
|
)
|
|
private double outlineRenderDistanceLimit(double original) {
|
|
return CarpetSettings.structureBlockOutlineDistance;
|
|
}
|
|
|
|
*/
|
|
}
|