Port to 1.18.2

This commit is contained in:
tibs 2022-03-15 20:15:37 -04:00
parent 147186d089
commit 5e49440291
Signed by untrusted user who does not match committer: tibs
GPG key ID: 047833989F50F88F
8 changed files with 35 additions and 63 deletions

View file

@ -1,24 +0,0 @@
package me.tibinonest.mods.cauldron_dyeing.block;
import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockState;
import net.minecraft.block.LeveledCauldronBlock;
import net.minecraft.block.cauldron.CauldronBehavior;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.item.Item;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.biome.Biome;
import java.util.Map;
import java.util.function.Predicate;
public class WaterCauldronBlock extends LeveledCauldronBlock implements BlockEntityProvider {
public WaterCauldronBlock(Settings settings, Predicate<Biome.Precipitation> precipitationPredicate, Map<Item, CauldronBehavior> behaviorMap) {
super(settings, precipitationPredicate, behaviorMap);
}
@Override
public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
return new WaterCauldronBlockEntity(pos, state);
}
}

View file

@ -79,9 +79,7 @@ public class WaterCauldronBlockEntity extends BlockEntity {
@Override
public NbtCompound toInitialChunkDataNbt() {
var nbt = new NbtCompound();
nbt.putIntArray("color", color);
return nbt;
return createNbt();
}
@Nullable

View file

@ -1,19 +0,0 @@
package me.tibinonest.mods.cauldron_dyeing.mixin;
import me.tibinonest.mods.cauldron_dyeing.block.WaterCauldronBlock;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.cauldron.CauldronBehavior;
import net.minecraft.util.registry.Registry;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(Blocks.class)
public class BlocksMixin {
@Redirect(method = "<clinit>", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/Blocks;register(Ljava/lang/String;Lnet/minecraft/block/Block;)Lnet/minecraft/block/Block;", ordinal = 271))
private static Block redirectWaterCauldron(String id, Block block) {
return Registry.register(Registry.BLOCK, id, new WaterCauldronBlock(AbstractBlock.Settings.copy(Blocks.CAULDRON), WaterCauldronBlock.RAIN_PREDICATE, CauldronBehavior.WATER_CAULDRON_BEHAVIOR));
}
}

View file

@ -0,0 +1,19 @@
package me.tibinonest.mods.cauldron_dyeing.mixin;
import me.tibinonest.mods.cauldron_dyeing.block.WaterCauldronBlockEntity;
import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockState;
import net.minecraft.block.LeveledCauldronBlock;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.util.math.BlockPos;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(LeveledCauldronBlock.class)
public class LeveledCauldronBlockMixin implements BlockEntityProvider {
@Nullable
@Override
public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
return state.getBlock().getLootTableId().getPath().equals("blocks/water_cauldron") ? new WaterCauldronBlockEntity(pos, state) : null;
}
}