diff --git a/src/main/java/ru/betterend/blocks/basis/BlockStoneButton.java b/src/main/java/ru/betterend/blocks/basis/BlockStoneButton.java index 3c9d6d43..8c2154be 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockStoneButton.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockStoneButton.java @@ -5,7 +5,6 @@ import java.util.Collections; import java.util.List; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; - import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.StoneButtonBlock; @@ -13,7 +12,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContext; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; - import ru.betterend.interfaces.Patterned; public class BlockStoneButton extends StoneButtonBlock implements Patterned { diff --git a/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java b/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java index 945e1be8..64209a3f 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java @@ -6,7 +6,6 @@ import java.util.HashMap; import java.util.List; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; - import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.TrapdoorBlock; @@ -14,7 +13,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContext; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; - import ru.betterend.client.ERenderLayer; import ru.betterend.client.IRenderTypeable; import ru.betterend.interfaces.Patterned; diff --git a/src/main/java/ru/betterend/blocks/model/SlabModel.java b/src/main/java/ru/betterend/blocks/model/SlabModel.java index 093a6f2b..91e24cb0 100644 --- a/src/main/java/ru/betterend/blocks/model/SlabModel.java +++ b/src/main/java/ru/betterend/blocks/model/SlabModel.java @@ -18,7 +18,6 @@ import net.fabricmc.fabric.api.renderer.v1.mesh.MutableQuadView; import net.fabricmc.fabric.api.renderer.v1.mesh.QuadEmitter; import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel; import net.fabricmc.fabric.api.renderer.v1.render.RenderContext; - import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.BakedQuad; @@ -36,7 +35,6 @@ import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.world.BlockRenderView; - import ru.betterend.BetterEnd; public class SlabModel implements UnbakedModel, BakedModel, FabricBakedModel { diff --git a/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java b/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java index 3a6013d0..698fa33e 100644 --- a/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java +++ b/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java @@ -21,7 +21,6 @@ import net.minecraft.resource.Resource; import net.minecraft.resource.ResourceManager; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; - import ru.betterend.BetterEnd; import ru.betterend.interfaces.IdentifiedContext; import ru.betterend.interfaces.Patterned; diff --git a/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java b/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java new file mode 100644 index 00000000..ae32e565 --- /dev/null +++ b/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java @@ -0,0 +1,23 @@ +package ru.betterend.mixin.common; + +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.CallbackInfoReturnable; + +import net.minecraft.block.BlockState; +import net.minecraft.block.ChorusFlowerBlock; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldView; +import ru.betterend.registry.BlockRegistry; + +@Mixin(ChorusFlowerBlock.class) +public class ChorusFlowerBlockMixin { + @Inject(method = "canPlaceAt", at = @At("HEAD"), cancellable = true) + private void canPlace(BlockState state, WorldView world, BlockPos pos, CallbackInfoReturnable info) { + if (world.getBlockState(pos.down()).isOf(BlockRegistry.CHORUS_NYLIUM)) { + info.setReturnValue(true); + info.cancel(); + } + } +} diff --git a/src/main/java/ru/betterend/mixin/common/ChorusPlantBlockMixin.java b/src/main/java/ru/betterend/mixin/common/ChorusPlantBlockMixin.java new file mode 100644 index 00000000..96024254 --- /dev/null +++ b/src/main/java/ru/betterend/mixin/common/ChorusPlantBlockMixin.java @@ -0,0 +1,23 @@ +package ru.betterend.mixin.common; + +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.CallbackInfoReturnable; + +import net.minecraft.block.BlockState; +import net.minecraft.block.ChorusPlantBlock; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.WorldView; +import ru.betterend.registry.BlockRegistry; + +@Mixin(ChorusPlantBlock.class) +public class ChorusPlantBlockMixin { + @Inject(method = "canPlaceAt", at = @At("HEAD"), cancellable = true) + private void canPlace(BlockState state, WorldView world, BlockPos pos, CallbackInfoReturnable info) { + if (world.getBlockState(pos.down()).isOf(BlockRegistry.CHORUS_NYLIUM)) { + info.setReturnValue(true); + info.cancel(); + } + } +} diff --git a/src/main/java/ru/betterend/mixin/common/ChorusPlantFeatureMixin.java b/src/main/java/ru/betterend/mixin/common/ChorusPlantFeatureMixin.java new file mode 100644 index 00000000..d15d44c2 --- /dev/null +++ b/src/main/java/ru/betterend/mixin/common/ChorusPlantFeatureMixin.java @@ -0,0 +1,29 @@ +package ru.betterend.mixin.common; + +import java.util.Random; + +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.CallbackInfoReturnable; + +import net.minecraft.block.ChorusFlowerBlock; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.StructureWorldAccess; +import net.minecraft.world.gen.chunk.ChunkGenerator; +import net.minecraft.world.gen.feature.ChorusPlantFeature; +import net.minecraft.world.gen.feature.DefaultFeatureConfig; +import ru.betterend.registry.BlockRegistry; +import ru.betterend.util.MHelper; + +@Mixin(ChorusPlantFeature.class) +public class ChorusPlantFeatureMixin { + @Inject(method = "generate", at = @At("HEAD"), cancellable = true) + private void onGenerate(StructureWorldAccess structureWorldAccess, ChunkGenerator chunkGenerator, Random random, BlockPos blockPos, DefaultFeatureConfig defaultFeatureConfig, CallbackInfoReturnable info) { + if (structureWorldAccess.isAir(blockPos) && structureWorldAccess.getBlockState(blockPos.down()).isOf(BlockRegistry.CHORUS_NYLIUM)) { + ChorusFlowerBlock.generate(structureWorldAccess, blockPos, random, MHelper.randRange(8, 16, random)); + info.setReturnValue(true); + info.cancel(); + } + } +} diff --git a/src/main/java/ru/betterend/mixin/common/ChunkGeneratorMixin.java b/src/main/java/ru/betterend/mixin/common/ChunkGeneratorMixin.java deleted file mode 100644 index b27f1ddd..00000000 --- a/src/main/java/ru/betterend/mixin/common/ChunkGeneratorMixin.java +++ /dev/null @@ -1,16 +0,0 @@ -package ru.betterend.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; - -import net.minecraft.world.gen.chunk.ChunkGenerator; - -@Mixin(ChunkGenerator.class) -public class ChunkGeneratorMixin { - /*@Inject(method = "generateFeatures", at = @At("HEAD")) - private void fixerPass(ChunkRegion region, StructureAccessor accessor, CallbackInfo info) { - int chunkX = region.getCenterChunkX(); - int chunkZ = region.getCenterChunkZ(); - BlockPos start = new BlockPos(chunkX << 4, 16, chunkZ << 4); - DefaultBiomeFeatures.MOUNTAINS.getFeature() - }*/ -} diff --git a/src/main/java/ru/betterend/registry/BlockRegistry.java b/src/main/java/ru/betterend/registry/BlockRegistry.java index 2c51116b..5a76869f 100644 --- a/src/main/java/ru/betterend/registry/BlockRegistry.java +++ b/src/main/java/ru/betterend/registry/BlockRegistry.java @@ -5,7 +5,6 @@ import net.minecraft.block.MaterialColor; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.util.registry.Registry; - import ru.betterend.BetterEnd; import ru.betterend.blocks.AeterniumBlock; import ru.betterend.blocks.AuroraCrystalBlock; @@ -35,7 +34,6 @@ import ru.betterend.blocks.basis.BlockLeaves; import ru.betterend.blocks.basis.BlockVine; import ru.betterend.blocks.complex.StoneMaterial; import ru.betterend.blocks.complex.WoodenMaterial; - import ru.betterend.tab.CreativeTab; public class BlockRegistry { diff --git a/src/main/java/ru/betterend/world/biome/BiomeChorusForest.java b/src/main/java/ru/betterend/world/biome/BiomeChorusForest.java index cd6a658d..f4d4a810 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeChorusForest.java +++ b/src/main/java/ru/betterend/world/biome/BiomeChorusForest.java @@ -1,6 +1,7 @@ package ru.betterend.world.biome; import net.minecraft.entity.EntityType; +import net.minecraft.particle.ParticleTypes; import net.minecraft.world.gen.GenerationStep.Feature; import net.minecraft.world.gen.feature.ConfiguredFeatures; import ru.betterend.registry.BlockRegistry; @@ -13,7 +14,7 @@ public class BiomeChorusForest extends EndBiome { .setFogColor(87, 26, 87) .setFogDensity(1.5F) .setSurface(BlockRegistry.CHORUS_NYLIUM) - //.setParticles(ParticleRegistry.GLOWING_SPHERE, 0.001F) + .setParticles(ParticleTypes.PORTAL, 0.001F) //.setLoop(SoundRegistry.AMBIENT_FOGGY_MUSHROOMLAND) //.setMusic(SoundRegistry.MUSIC_FOGGY_MUSHROOMLAND) .addFeature(FeatureRegistry.ENDER_ORE) @@ -21,6 +22,7 @@ public class BiomeChorusForest extends EndBiome { .addFeature(FeatureRegistry.PYTHADENDRON_TREE) .addFeature(FeatureRegistry.PYTHADENDRON_BUSH) .addFeature(Feature.VEGETAL_DECORATION, ConfiguredFeatures.CHORUS_PLANT) + .addFeature(Feature.VEGETAL_DECORATION, ConfiguredFeatures.CHORUS_PLANT) .addFeature(FeatureRegistry.CHORUS_GRASS) .addMobSpawn(EntityRegistry.END_SLIME, 5, 1, 2) .addMobSpawn(EntityType.ENDERMAN, 50, 1, 4)); diff --git a/src/main/resources/assets/betterend/textures/block/chorus_nylium_path_top.png b/src/main/resources/assets/betterend/textures/block/chorus_nylium_path_top.png index 459a3d63..dc0ea52d 100644 Binary files a/src/main/resources/assets/betterend/textures/block/chorus_nylium_path_top.png and b/src/main/resources/assets/betterend/textures/block/chorus_nylium_path_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/end_lily_2.png b/src/main/resources/assets/betterend/textures/block/end_lily_2.png index 8c15ff64..d6636191 100644 Binary files a/src/main/resources/assets/betterend/textures/block/end_lily_2.png and b/src/main/resources/assets/betterend/textures/block/end_lily_2.png differ diff --git a/src/main/resources/assets/betterend/textures/block/end_moss_side.png b/src/main/resources/assets/betterend/textures/block/end_moss_side.png index 26a0031b..6a328812 100644 Binary files a/src/main/resources/assets/betterend/textures/block/end_moss_side.png and b/src/main/resources/assets/betterend/textures/block/end_moss_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/end_moss_top.png b/src/main/resources/assets/betterend/textures/block/end_moss_top.png index 0f537882..38e28989 100644 Binary files a/src/main/resources/assets/betterend/textures/block/end_moss_top.png and b/src/main/resources/assets/betterend/textures/block/end_moss_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/end_mycelium_path_top.png b/src/main/resources/assets/betterend/textures/block/end_mycelium_path_top.png index 14f7385b..efd16c00 100644 Binary files a/src/main/resources/assets/betterend/textures/block/end_mycelium_path_top.png and b/src/main/resources/assets/betterend/textures/block/end_mycelium_path_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/flavolite_tiles.png b/src/main/resources/assets/betterend/textures/block/flavolite_tiles.png index 7b757acc..8d2f6e06 100644 Binary files a/src/main/resources/assets/betterend/textures/block/flavolite_tiles.png and b/src/main/resources/assets/betterend/textures/block/flavolite_tiles.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_bottom.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_bottom.png index 7e09714b..8df3c438 100644 Binary files a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_bottom.png and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_barrel_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_cap_transition.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_cap_transition.png index 20bb85bd..907022a1 100644 Binary files a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_cap_transition.png and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_cap_transition.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_side_4.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_side_4.png index 1617fb07..7140349a 100644 Binary files a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_side_4.png and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_side_4.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_side_5.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_side_5.png index 839eb6fa..cb7c81bb 100644 Binary files a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_side_5.png and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_side_5.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_top.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_top.png index 96ee739d..d1ba6310 100644 Binary files a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_top.png and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_log_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_stripped_log_side.png b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_stripped_log_side.png index 8af2a9a1..f3fc5d84 100644 Binary files a/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_stripped_log_side.png and b/src/main/resources/assets/betterend/textures/block/mossy_glowshroom_stripped_log_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/pythadendron_log_side.png b/src/main/resources/assets/betterend/textures/block/pythadendron_log_side.png index a48ba818..c343d064 100644 Binary files a/src/main/resources/assets/betterend/textures/block/pythadendron_log_side.png and b/src/main/resources/assets/betterend/textures/block/pythadendron_log_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/pythadendron_log_side_2.png b/src/main/resources/assets/betterend/textures/block/pythadendron_log_side_2.png index 53106f2b..2d6e6ca6 100644 Binary files a/src/main/resources/assets/betterend/textures/block/pythadendron_log_side_2.png and b/src/main/resources/assets/betterend/textures/block/pythadendron_log_side_2.png differ diff --git a/src/main/resources/assets/betterend/textures/block/pythadendron_log_side_mossy.png b/src/main/resources/assets/betterend/textures/block/pythadendron_log_side_mossy.png index 97588acb..bc53c4c1 100644 Binary files a/src/main/resources/assets/betterend/textures/block/pythadendron_log_side_mossy.png and b/src/main/resources/assets/betterend/textures/block/pythadendron_log_side_mossy.png differ diff --git a/src/main/resources/assets/betterend/textures/block/pythadendron_log_top.png b/src/main/resources/assets/betterend/textures/block/pythadendron_log_top.png index 31205c5b..76dcbdea 100644 Binary files a/src/main/resources/assets/betterend/textures/block/pythadendron_log_top.png and b/src/main/resources/assets/betterend/textures/block/pythadendron_log_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/violecite.png b/src/main/resources/assets/betterend/textures/block/violecite.png index 7b3f9b76..d919a3a5 100644 Binary files a/src/main/resources/assets/betterend/textures/block/violecite.png and b/src/main/resources/assets/betterend/textures/block/violecite.png differ diff --git a/src/main/resources/betterend.mixins.common.json b/src/main/resources/betterend.mixins.common.json index 4b16d8bd..4162c4e2 100644 --- a/src/main/resources/betterend.mixins.common.json +++ b/src/main/resources/betterend.mixins.common.json @@ -1,27 +1,30 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "ru.betterend.mixin.common", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "ServerPlayNetworkHandlerMixin", - "CraftingScreenHandlerMixin", - "DefaultBiomeCreatorMixin", - "GenerationSettingsMixin", - "AnvilScreenHandlerMixin", - "TagGroupLoaderMixin", - "EndermanEntityMixin", - "LocateCommandMixin", - "DimensionTypeMixin", - "RecipeManagerMixin", - "AbstractBlockMixin", - "LivingEntityMixin", - "BoneMealItemMixin", - "SlimeEntityMixin", - "BrewingAccessor", - "BiomeMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} +{ + "required": true, + "minVersion": "0.8", + "package": "ru.betterend.mixin.common", + "compatibilityLevel": "JAVA_8", + "mixins": [ + "ServerPlayNetworkHandlerMixin", + "CraftingScreenHandlerMixin", + "DefaultBiomeCreatorMixin", + "GenerationSettingsMixin", + "AnvilScreenHandlerMixin", + "ChorusPlantFeatureMixin", + "ChorusFlowerBlockMixin", + "ChorusPlantBlockMixin", + "TagGroupLoaderMixin", + "EndermanEntityMixin", + "LocateCommandMixin", + "DimensionTypeMixin", + "RecipeManagerMixin", + "AbstractBlockMixin", + "LivingEntityMixin", + "BoneMealItemMixin", + "SlimeEntityMixin", + "BrewingAccessor", + "BiomeMixin" + ], + "injectors": { + "defaultRequire": 1 + } +}