Fix fillupdates (#441)

* Add BlockStateArgument_fillUpdatesMixin

* Create BlockStateArgument_fillUpdatesMixin.java
This commit is contained in:
Andrew S authored and GitHub committed 2020-08-31 17:22:05 -03:00
1 parent ee25246c87
commit 3429bb4b50
2 files changed
+31

No files matched your search

@@ -0,0 +1,30 @@
package carpet.mixins;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import carpet.CarpetSettings;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.command.argument.BlockStateArgument;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.WorldAccess;
@Mixin(BlockStateArgument.class)
public class BlockStateArgument_fillUpdatesMixin
{
@Redirect(method = "setBlockState", at = @At(
value = "INVOKE",
target = "Lnet/minecraft/block/Block;postProcessState(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;"
))
private BlockState postProcessStateProxy(BlockState state, WorldAccess serverWorld, BlockPos blockPos)
{
if (CarpetSettings.impendingFillSkipUpdates)
{
return state;
}
return Block.postProcessState(state, serverWorld, blockPos);
}
}