Fixes, lib update

This commit is contained in:
paulevsGitch 2021-06-07 11:08:00 +03:00
parent 09f5cd60fa
commit 40cadfcacf
6 changed files with 42 additions and 16 deletions

View file

@ -17,5 +17,5 @@ archives_base_name = better-end
patchouli_version = 50-FABRIC patchouli_version = 50-FABRIC
fabric_version = 0.32.9+1.16 fabric_version = 0.32.9+1.16
canvas_version = 1.0.+ canvas_version = 1.0.+
bclib_version = 0.1.18 bclib_version = 0.1.19
rei_version = 5.8.10 rei_version = 5.8.10

View file

@ -20,7 +20,6 @@ public class BlockProperties {
public static final BooleanProperty NATURAL = BooleanProperty.create("natural"); public static final BooleanProperty NATURAL = BooleanProperty.create("natural");
public static final BooleanProperty ACTIVE = BooleanProperty.create("active"); public static final BooleanProperty ACTIVE = BooleanProperty.create("active");
public static final BooleanProperty SMALL = BooleanProperty.create("small"); public static final BooleanProperty SMALL = BooleanProperty.create("small");
public static final BooleanProperty ROOTS = BooleanProperty.create("roots");
public static final IntegerProperty DESTRUCTION_LONG = IntegerProperty.create("destruction", 0, 8); public static final IntegerProperty DESTRUCTION_LONG = IntegerProperty.create("destruction", 0, 8);
public static final IntegerProperty DESTRUCTION = IntegerProperty.create("destruction", 0, 2); public static final IntegerProperty DESTRUCTION = IntegerProperty.create("destruction", 0, 2);

View file

@ -0,0 +1,7 @@
package ru.betterend.blocks;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
public class VanillaBlockProperties {
public static final BooleanProperty ROOTS = BooleanProperty.create("roots");
}

View file

@ -28,7 +28,7 @@ import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import ru.bclib.api.TagAPI; import ru.bclib.api.TagAPI;
import ru.bclib.util.BlocksHelper; import ru.bclib.util.BlocksHelper;
import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.VanillaBlockProperties;
import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndBlocks;
import ru.betterend.world.generator.GeneratorOptions; import ru.betterend.world.generator.GeneratorOptions;
@ -62,7 +62,7 @@ public abstract class ChorusFlowerBlockMixin extends Block {
if (i < 5) { if (i < 5) {
this.placeGrownFlower(world, up, i + 1); this.placeGrownFlower(world, up, i + 1);
if (GeneratorOptions.changeChorusPlant()) { if (GeneratorOptions.changeChorusPlant()) {
BlocksHelper.setWithoutUpdate(world, pos, plant.defaultBlockState().setValue(ChorusPlantBlock.UP, true).setValue(ChorusPlantBlock.DOWN, true).setValue(BlockProperties.ROOTS, true)); BlocksHelper.setWithoutUpdate(world, pos, plant.defaultBlockState().setValue(ChorusPlantBlock.UP, true).setValue(ChorusPlantBlock.DOWN, true).setValue(VanillaBlockProperties.ROOTS, true));
} }
else { else {
BlocksHelper.setWithoutUpdate(world, pos, plant.defaultBlockState().setValue(ChorusPlantBlock.UP, true).setValue(ChorusPlantBlock.DOWN, true)); BlocksHelper.setWithoutUpdate(world, pos, plant.defaultBlockState().setValue(ChorusPlantBlock.UP, true).setValue(ChorusPlantBlock.DOWN, true));
@ -77,7 +77,7 @@ public abstract class ChorusFlowerBlockMixin extends Block {
private static void be_generatePlant(LevelAccessor world, BlockPos pos, Random random, int size, CallbackInfo info) { private static void be_generatePlant(LevelAccessor world, BlockPos pos, Random random, int size, CallbackInfo info) {
BlockState state = world.getBlockState(pos); BlockState state = world.getBlockState(pos);
if (GeneratorOptions.changeChorusPlant() && state.is(Blocks.CHORUS_PLANT)) { if (GeneratorOptions.changeChorusPlant() && state.is(Blocks.CHORUS_PLANT)) {
BlocksHelper.setWithoutUpdate(world, pos, state.setValue(BlockProperties.ROOTS, true)); BlocksHelper.setWithoutUpdate(world, pos, state.setValue(VanillaBlockProperties.ROOTS, true));
} }
} }

View file

@ -1,9 +1,29 @@
package ru.betterend.mixin.common; package ru.betterend.mixin.common;
import org.spongepowered.asm.mixin.Mixin; 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.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.ChorusPlantBlock; import net.minecraft.world.level.block.ChorusPlantBlock;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import ru.bclib.api.TagAPI;
import ru.betterend.blocks.VanillaBlockProperties;
import ru.betterend.registry.EndBlocks;
import ru.betterend.world.generator.GeneratorOptions;
@Mixin(value = ChorusPlantBlock.class, priority = 100) @Mixin(value = ChorusPlantBlock.class, priority = 100)
public abstract class ChorusPlantBlockMixin extends Block { public abstract class ChorusPlantBlockMixin extends Block {
@ -11,10 +31,10 @@ public abstract class ChorusPlantBlockMixin extends Block {
super(settings); super(settings);
} }
/*@Inject(method = "<init>*", at = @At("TAIL")) @Inject(method = "<init>*", at = @At("TAIL"))
private void beOnInit(BlockBehaviour.Properties settings, CallbackInfo info) { private void beOnInit(BlockBehaviour.Properties settings, CallbackInfo info) {
if (GeneratorOptions.changeChorusPlant()) { if (GeneratorOptions.changeChorusPlant()) {
this.registerDefaultState(this.defaultBlockState().setValue(BlockProperties.ROOTS, false)); this.registerDefaultState(this.defaultBlockState().setValue(VanillaBlockProperties.ROOTS, false));
} }
} }
@ -22,7 +42,7 @@ public abstract class ChorusPlantBlockMixin extends Block {
private void be_createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder, CallbackInfo info) { private void be_createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder, CallbackInfo info) {
GeneratorOptions.init(); GeneratorOptions.init();
if (GeneratorOptions.changeChorusPlant()) { if (GeneratorOptions.changeChorusPlant()) {
builder.add(BlockProperties.ROOTS); builder.add(VanillaBlockProperties.ROOTS);
} }
} }
@ -33,7 +53,7 @@ public abstract class ChorusPlantBlockMixin extends Block {
BlockState plant = info.getReturnValue(); BlockState plant = info.getReturnValue();
if (ctx.canPlace() && plant.is(Blocks.CHORUS_PLANT) && world.getBlockState(pos.below()).is(TagAPI.END_GROUND)) { if (ctx.canPlace() && plant.is(Blocks.CHORUS_PLANT) && world.getBlockState(pos.below()).is(TagAPI.END_GROUND)) {
if (GeneratorOptions.changeChorusPlant()) { if (GeneratorOptions.changeChorusPlant()) {
info.setReturnValue(plant.setValue(BlockProperties.ROOTS, true).setValue(BlockStateProperties.DOWN, true)); info.setReturnValue(plant.setValue(VanillaBlockProperties.ROOTS, true).setValue(BlockStateProperties.DOWN, true));
} }
else { else {
info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true)); info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true));
@ -51,7 +71,7 @@ public abstract class ChorusPlantBlockMixin extends Block {
if (plant.is(Blocks.CHORUS_PLANT)) { if (plant.is(Blocks.CHORUS_PLANT)) {
if (blockGetter.getBlockState(blockPos.below()).is(TagAPI.END_GROUND)) { if (blockGetter.getBlockState(blockPos.below()).is(TagAPI.END_GROUND)) {
if (GeneratorOptions.changeChorusPlant()) { if (GeneratorOptions.changeChorusPlant()) {
info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true).setValue(BlockProperties.ROOTS, true)); info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true).setValue(VanillaBlockProperties.ROOTS, true));
} }
else { else {
info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true)); info.setReturnValue(plant.setValue(BlockStateProperties.DOWN, true));
@ -60,7 +80,7 @@ public abstract class ChorusPlantBlockMixin extends Block {
} }
else { else {
if (GeneratorOptions.changeChorusPlant()) { if (GeneratorOptions.changeChorusPlant()) {
info.setReturnValue(plant.setValue(BlockProperties.ROOTS, false)); info.setReturnValue(plant.setValue(VanillaBlockProperties.ROOTS, false));
} }
info.cancel(); info.cancel();
} }
@ -82,7 +102,7 @@ public abstract class ChorusPlantBlockMixin extends Block {
if (plant.is(Blocks.CHORUS_PLANT)) { if (plant.is(Blocks.CHORUS_PLANT)) {
if (world.getBlockState(pos.below()).is(TagAPI.END_GROUND)) { if (world.getBlockState(pos.below()).is(TagAPI.END_GROUND)) {
if (GeneratorOptions.changeChorusPlant()) { if (GeneratorOptions.changeChorusPlant()) {
plant = plant.setValue(BlockStateProperties.DOWN, true).setValue(BlockProperties.ROOTS, true); plant = plant.setValue(BlockStateProperties.DOWN, true).setValue(VanillaBlockProperties.ROOTS, true);
} }
else { else {
plant = plant.setValue(BlockStateProperties.DOWN, true); plant = plant.setValue(BlockStateProperties.DOWN, true);
@ -91,12 +111,12 @@ public abstract class ChorusPlantBlockMixin extends Block {
} }
else { else {
if (GeneratorOptions.changeChorusPlant()) { if (GeneratorOptions.changeChorusPlant()) {
plant = plant.setValue(BlockProperties.ROOTS, false); plant = plant.setValue(VanillaBlockProperties.ROOTS, false);
} }
info.cancel(); info.cancel();
} }
info.setReturnValue(plant); info.setReturnValue(plant);
info.cancel(); info.cancel();
} }
}*/ }
} }

View file

@ -18,7 +18,7 @@ import net.minecraft.world.level.levelgen.feature.ChorusPlantFeature;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import ru.bclib.util.BlocksHelper; import ru.bclib.util.BlocksHelper;
import ru.bclib.util.MHelper; import ru.bclib.util.MHelper;
import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.VanillaBlockProperties;
import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndBlocks;
import ru.betterend.world.generator.GeneratorOptions; import ru.betterend.world.generator.GeneratorOptions;
@ -31,7 +31,7 @@ public class ChorusPlantFeatureMixin {
BlockState bottom = structureWorldAccess.getBlockState(blockPos); BlockState bottom = structureWorldAccess.getBlockState(blockPos);
if (bottom.is(Blocks.CHORUS_PLANT)) { if (bottom.is(Blocks.CHORUS_PLANT)) {
if ((GeneratorOptions.changeChorusPlant())) { if ((GeneratorOptions.changeChorusPlant())) {
BlocksHelper.setWithoutUpdate(structureWorldAccess, blockPos, bottom.setValue(BlockProperties.ROOTS, true).setValue(PipeBlock.DOWN, true)); BlocksHelper.setWithoutUpdate(structureWorldAccess, blockPos, bottom.setValue(VanillaBlockProperties.ROOTS, true).setValue(PipeBlock.DOWN, true));
} }
else { else {
BlocksHelper.setWithoutUpdate(structureWorldAccess, blockPos, bottom.setValue(PipeBlock.DOWN, true)); BlocksHelper.setWithoutUpdate(structureWorldAccess, blockPos, bottom.setValue(PipeBlock.DOWN, true));