Reformated

This commit is contained in:
Frank 2022-06-08 20:57:21 +02:00
parent 079b51e3f6
commit 852e5a6abc
385 changed files with 6924 additions and 5656 deletions

View file

@ -1,5 +1,8 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.interfaces.AnvilScreenHandlerExtended;
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.gui.components.AbstractWidget;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.components.EditBox;
@ -13,8 +16,6 @@ import net.minecraft.world.inventory.AnvilMenu;
import net.minecraft.world.item.ItemStack;
import com.google.common.collect.Lists;
import com.mojang.blaze3d.vertex.PoseStack;
import org.betterx.bclib.interfaces.AnvilScreenHandlerExtended;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;

View file

@ -1,12 +1,13 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.interfaces.SurvivesOnSpecialGround;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import org.betterx.bclib.interfaces.SurvivesOnSpecialGround;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -18,11 +19,13 @@ import org.jetbrains.annotations.Nullable;
@Mixin(Block.class)
public class BlockMixin {
@Inject(method = "appendHoverText", at = @At("HEAD"))
void bclib_appendSurvivalBlock(ItemStack itemStack,
@Nullable BlockGetter blockGetter,
List<Component> list,
TooltipFlag tooltipFlag,
CallbackInfo ci) {
void bclib_appendSurvivalBlock(
ItemStack itemStack,
@Nullable BlockGetter blockGetter,
List<Component> list,
TooltipFlag tooltipFlag,
CallbackInfo ci
) {
if (this instanceof SurvivesOnSpecialGround surv) {
SurvivesOnSpecialGround.appendHoverText(list, surv.getSurvivableBlocksString());
}

View file

@ -1,10 +1,11 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.interfaces.UnknownReceipBookCategory;
import net.minecraft.client.ClientRecipeBook;
import net.minecraft.client.RecipeBookCategories;
import net.minecraft.world.item.crafting.Recipe;
import org.betterx.bclib.interfaces.UnknownReceipBookCategory;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;

View file

@ -1,5 +1,11 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.levelgen.LevelGenUtil;
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
import org.betterx.bclib.presets.worldgen.BCLWorldPresets;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.worldselection.CreateWorldScreen;
import net.minecraft.client.gui.screens.worldselection.WorldGenSettingsComponent;
@ -11,11 +17,6 @@ import net.minecraft.world.level.levelgen.WorldGenSettings;
import net.minecraft.world.level.levelgen.presets.WorldPreset;
import net.minecraft.world.level.storage.LevelStorageSource;
import com.mojang.datafixers.util.Pair;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.levelgen.LevelGenUtil;
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
import org.betterx.bclib.presets.worldgen.BCLWorldPresets;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -34,10 +35,12 @@ public class CreateWorldScreenMixin {
public WorldGenSettingsComponent worldGenSettingsComponent;
@Inject(method = "<init>", at = @At("TAIL"))
private void bcl_init(Screen screen,
DataPackConfig dataPackConfig,
WorldGenSettingsComponent worldGenSettingsComponent,
CallbackInfo ci) {
private void bcl_init(
Screen screen,
DataPackConfig dataPackConfig,
WorldGenSettingsComponent worldGenSettingsComponent,
CallbackInfo ci
) {
InternalBiomeAPI.initRegistry(worldGenSettingsComponent.registryHolder());
}

View file

@ -1,5 +1,8 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.client.render.CustomFogRenderer;
import org.betterx.bclib.util.BackgroundInfo;
import net.minecraft.client.Camera;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.renderer.FogRenderer;
@ -10,8 +13,6 @@ import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.material.FogType;
import org.betterx.bclib.client.render.CustomFogRenderer;
import org.betterx.bclib.util.BackgroundInfo;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@ -28,12 +29,14 @@ public class FogRendererMixin {
private static float fogBlue;
@Inject(method = "setupColor", at = @At("RETURN"))
private static void bclib_onRender(Camera camera,
float tickDelta,
ClientLevel world,
int i,
float f,
CallbackInfo info) {
private static void bclib_onRender(
Camera camera,
float tickDelta,
ClientLevel world,
int i,
float f,
CallbackInfo info
) {
FogType fogType = camera.getFluidInCamera();
if (fogType != FogType.WATER && world.dimension().equals(Level.END)) {
Entity entity = camera.getEntity();
@ -55,12 +58,14 @@ public class FogRendererMixin {
}
@Inject(method = "setupFog", at = @At("HEAD"), cancellable = true)
private static void bclib_fogDensity(Camera camera,
FogRenderer.FogMode fogMode,
float viewDistance,
boolean thickFog,
float g,
CallbackInfo ci) {
private static void bclib_fogDensity(
Camera camera,
FogRenderer.FogMode fogMode,
float viewDistance,
boolean thickFog,
float g,
CallbackInfo ci
) {
if (CustomFogRenderer.applyFogDensity(camera, viewDistance, thickFog)) {
ci.cancel();
}

View file

@ -1,8 +1,9 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.api.v2.dataexchange.DataExchangeAPI;
import net.minecraft.client.Game;
import org.betterx.bclib.api.v2.dataexchange.DataExchangeAPI;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;

View file

@ -1,12 +1,13 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.interfaces.CustomColorProvider;
import net.minecraft.client.Minecraft;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.color.item.ItemColors;
import net.minecraft.client.main.GameConfig;
import net.minecraft.core.Registry;
import org.betterx.bclib.interfaces.CustomColorProvider;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

View file

@ -1,5 +1,8 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.api.v2.ModIntegrationAPI;
import org.betterx.bclib.client.models.CustomModelBakery;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.UnbakedModel;
@ -7,8 +10,6 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.util.profiling.ProfilerFiller;
import org.betterx.bclib.api.v2.ModIntegrationAPI;
import org.betterx.bclib.client.models.CustomModelBakery;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -25,11 +26,13 @@ public abstract class ModelBakeryMixin {
private Map<ResourceLocation, UnbakedModel> unbakedCache;
@Inject(method = "<init>*", at = @At("TAIL"))
private void bclib_findEmissiveModels(ResourceManager resourceManager,
BlockColors blockColors,
ProfilerFiller profiler,
int mipmap,
CallbackInfo info) {
private void bclib_findEmissiveModels(
ResourceManager resourceManager,
BlockColors blockColors,
ProfilerFiller profiler,
int mipmap,
CallbackInfo info
) {
//CustomModelBakery.setModelsLoaded(false);
if (ModIntegrationAPI.hasCanvas()) {
CustomModelBakery.loadEmissiveModels(unbakedCache);

View file

@ -1,11 +1,12 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.client.BCLibClient;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelManager;
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.util.profiling.ProfilerFiller;
import org.betterx.bclib.client.BCLibClient;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -14,9 +15,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ModelManager.class)
public class ModelManagerMixin {
@Inject(method = "prepare", at = @At("HEAD"))
private void bclib_loadCustomModels(ResourceManager resourceManager,
ProfilerFiller profilerFiller,
CallbackInfoReturnable<ModelBakery> info) {
private void bclib_loadCustomModels(
ResourceManager resourceManager,
ProfilerFiller profilerFiller,
CallbackInfoReturnable<ModelBakery> info
) {
BCLibClient.modelBakery.loadCustomModels(resourceManager);
}
}

View file

@ -1,14 +1,15 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.api.v2.ModIntegrationAPI;
import org.betterx.bclib.client.render.EmissiveTextureInfo;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.FallbackResourceManager;
import net.minecraft.server.packs.resources.MultiPackResourceManager;
import net.minecraft.server.packs.resources.Resource;
import net.minecraft.server.packs.resources.ResourceManager;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.api.v2.ModIntegrationAPI;
import org.betterx.bclib.client.render.EmissiveTextureInfo;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -28,8 +29,10 @@ public class MultiPackResourceManagerMixin {
private final ResourceLocation bclib_alphaEmissionMaterial = BCLib.makeID("materialmaps/block/alpha_emission.json");
@Inject(method = "getResource", at = @At("HEAD"), cancellable = true)
private void bclib_getResource(ResourceLocation resourceLocation,
CallbackInfoReturnable<Resource> info) throws IOException {
private void bclib_getResource(
ResourceLocation resourceLocation,
CallbackInfoReturnable<Resource> info
) throws IOException {
if (!ModIntegrationAPI.hasCanvas()) {
return;
}

View file

@ -1,5 +1,10 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.blocks.BaseSignBlock;
import org.betterx.bclib.client.render.BaseSignBlockEntityRenderer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.SignEditScreen;
import net.minecraft.client.renderer.MultiBufferSource;
@ -9,10 +14,6 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.SignBlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import org.betterx.bclib.blocks.BaseSignBlock;
import org.betterx.bclib.client.render.BaseSignBlockEntityRenderer;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -45,16 +46,18 @@ public abstract class SignEditScreenMixin extends Screen {
target = "Lcom/mojang/blaze3d/vertex/PoseStack;pushPose()V",
shift = Shift.BEFORE
))
private void bclib_checkOffset(PoseStack poseStack,
int i,
int j,
float f,
CallbackInfo ci,
float g,
BlockState blockState,
boolean bl,
boolean bl2,
float h) {
private void bclib_checkOffset(
PoseStack poseStack,
int i,
int j,
float f,
CallbackInfo ci,
float g,
BlockState blockState,
boolean bl,
boolean bl2,
float h
) {
bclib_isSign = blockState.getBlock() instanceof BaseSignBlock;
if (bclib_isSign) {
bclib_renderStick = blockState.getValue(BaseSignBlock.FLOOR);

View file

@ -1,5 +1,9 @@
package org.betterx.bclib.mixin.client;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.client.render.EmissiveTextureInfo;
import com.mojang.blaze3d.platform.NativeImage;
import net.minecraft.client.renderer.texture.TextureAtlas;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.resources.ResourceLocation;
@ -9,9 +13,6 @@ import net.minecraft.server.packs.resources.ResourceManager;
import net.fabricmc.fabric.impl.client.texture.FabricSprite;
import net.fabricmc.loader.api.FabricLoader;
import com.mojang.blaze3d.platform.NativeImage;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.client.render.EmissiveTextureInfo;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -36,14 +37,16 @@ public class TextureAtlasMixin {
}
@Inject(method = "load(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite$Info;IIIII)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;", at = @At("HEAD"), cancellable = true)
private void bclib_loadSprite(ResourceManager resourceManager,
TextureAtlasSprite.Info spriteInfo,
int atlasWidth,
int atlasHeight,
int maxLevel,
int posX,
int posY,
CallbackInfoReturnable<TextureAtlasSprite> info) {
private void bclib_loadSprite(
ResourceManager resourceManager,
TextureAtlasSprite.Info spriteInfo,
int atlasWidth,
int atlasHeight,
int maxLevel,
int posX,
int posY,
CallbackInfoReturnable<TextureAtlasSprite> info
) {
if (!bclib_modifyAtlas) {
return;
}

View file

@ -1,9 +1,10 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.blocks.BaseAnvilBlock;
import net.minecraft.world.level.block.AnvilBlock;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.blocks.BaseAnvilBlock;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;

View file

@ -1,5 +1,10 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.blocks.BaseAnvilBlock;
import org.betterx.bclib.blocks.LeveledAnvilBlock;
import org.betterx.bclib.interfaces.AnvilScreenHandlerExtended;
import org.betterx.bclib.recipes.AnvilRecipe;
import net.minecraft.tags.BlockTags;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
@ -9,10 +14,6 @@ import net.minecraft.world.item.crafting.RecipeManager;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.blocks.BaseAnvilBlock;
import org.betterx.bclib.blocks.LeveledAnvilBlock;
import org.betterx.bclib.interfaces.AnvilScreenHandlerExtended;
import org.betterx.bclib.recipes.AnvilRecipe;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -39,10 +40,12 @@ public abstract class AnvilMenuMixin extends ItemCombinerMenu implements AnvilSc
@Shadow
private DataSlot cost;
public AnvilMenuMixin(@Nullable MenuType<?> menuType,
int i,
Inventory inventory,
ContainerLevelAccess containerLevelAccess) {
public AnvilMenuMixin(
@Nullable MenuType<?> menuType,
int i,
Inventory inventory,
ContainerLevelAccess containerLevelAccess
) {
super(menuType, i, inventory, containerLevelAccess);
}

View file

@ -1,10 +1,11 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.interfaces.BiomeSourceAccessor;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.BiomeSource;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.interfaces.BiomeSourceAccessor;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;

View file

@ -1,9 +1,10 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;

View file

@ -1,5 +1,10 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.BonemealAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import net.minecraft.core.BlockPos;
import net.minecraft.core.BlockPos.MutableBlockPos;
import net.minecraft.core.Vec3i;
@ -12,10 +17,6 @@ import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.Property;
import org.betterx.bclib.api.v2.BonemealAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
import org.betterx.bclib.util.BlocksHelper;
import org.betterx.bclib.util.MHelper;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;

View file

@ -1,5 +1,7 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.interfaces.ChunkGeneratorAccessor;
import net.minecraft.core.Registry;
import net.minecraft.world.level.StructureManager;
import net.minecraft.world.level.WorldGenLevel;
@ -7,7 +9,6 @@ import net.minecraft.world.level.chunk.ChunkAccess;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.levelgen.structure.StructureSet;
import org.betterx.bclib.interfaces.ChunkGeneratorAccessor;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -29,10 +30,12 @@ public class ChunkGeneratorMixin implements ChunkGeneratorAccessor {
}
@Inject(method = "applyBiomeDecoration", at = @At("HEAD"))
private void bclib_obBiomeGenerate(WorldGenLevel worldGenLevel,
ChunkAccess chunkAccess,
StructureManager structureFeatureManager,
CallbackInfo ci) {
private void bclib_obBiomeGenerate(
WorldGenLevel worldGenLevel,
ChunkAccess chunkAccess,
StructureManager structureFeatureManager,
CallbackInfo ci
) {
bclib_featureIteratorSeed = 0;
}

View file

@ -1,12 +1,13 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.api.v2.generator.BCLChunkGenerator;
import com.mojang.serialization.Codec;
import net.minecraft.core.Registry;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.chunk.ChunkGenerators;
import com.mojang.serialization.Codec;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.api.v2.generator.BCLChunkGenerator;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -15,8 +16,10 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ChunkGenerators.class)
public class ChunkGeneratorsMixin {
@Inject(method = "bootstrap", at = @At(value = "HEAD"))
private static void bcl_bootstrap(Registry<Codec<? extends ChunkGenerator>> registry,
CallbackInfoReturnable<Codec<? extends ChunkGenerator>> cir) {
private static void bcl_bootstrap(
Registry<Codec<? extends ChunkGenerator>> registry,
CallbackInfoReturnable<Codec<? extends ChunkGenerator>> cir
) {
Registry.register(registry, BCLib.makeID("betterx"), BCLChunkGenerator.CODEC);
}
}

View file

@ -1,12 +1,13 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.ContainerLevelAccess;
import net.minecraft.world.inventory.CraftingMenu;
import net.minecraft.world.level.block.CraftingTableBlock;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

View file

@ -1,8 +1,9 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.presets.worldgen.BCLWorldPresets;
import net.minecraft.server.dedicated.DedicatedServerProperties;
import org.betterx.bclib.presets.worldgen.BCLWorldPresets;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;

View file

@ -15,16 +15,18 @@ public class DimensionTypeMixin {
// locals = LocalCapture.CAPTURE_FAILHARD,
// at = @At("TAIL")
// )
private static void bclib_updateDimensions(RegistryAccess registryAccess,
long seed,
boolean bl,
CallbackInfoReturnable<Registry> info,
WritableRegistry writableRegistry,
Registry registry,
Registry biomeRegistry,
Registry structureRegistry,
Registry noiseSettingsRegistry,
Registry noiseParamRegistry) {
private static void bclib_updateDimensions(
RegistryAccess registryAccess,
long seed,
boolean bl,
CallbackInfoReturnable<Registry> info,
WritableRegistry writableRegistry,
Registry registry,
Registry biomeRegistry,
Registry structureRegistry,
Registry noiseSettingsRegistry,
Registry noiseParamRegistry
) {
//This probably moved to WorldPresets.bootstrap();
// int id = writableRegistry.getId(writableRegistry.get(LevelStem.NETHER));
// writableRegistry.registerOrOverride(

View file

@ -1,13 +1,14 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.EnchantmentTableBlock;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -20,10 +21,12 @@ public abstract class EnchantingTableBlockMixin extends Block {
}
@Inject(method = "isValidBookShelf(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Z", at = @At("HEAD"), cancellable = true)
private static void bclib_isBookshelf(Level level,
BlockPos blockPos,
BlockPos blockPos2,
CallbackInfoReturnable<Boolean> info) {
private static void bclib_isBookshelf(
Level level,
BlockPos blockPos,
BlockPos blockPos2,
CallbackInfoReturnable<Boolean> info
) {
MethodReplace.addBlockReplace(Blocks.BOOKSHELF, state -> state.is(CommonBlockTags.BOOKSHELVES));
}
}

View file

@ -1,9 +1,10 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;

View file

@ -27,7 +27,7 @@ public class LayerLightSectionStorageMixin {
SectionPos.sectionRelative(BlockPos.getX(blockPos)),
SectionPos.sectionRelative(BlockPos.getY(blockPos)),
SectionPos.sectionRelative(BlockPos.getZ(blockPos))
));
));
} catch (Exception e) {
info.setReturnValue(0);
}

View file

@ -1,5 +1,7 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.interfaces.LootPoolAccessor;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.level.storage.loot.LootPool;
@ -9,7 +11,6 @@ import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
import net.minecraft.world.level.storage.loot.providers.number.NumberProvider;
import com.google.common.collect.Lists;
import org.betterx.bclib.interfaces.LootPoolAccessor;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -47,10 +48,12 @@ public class LootPoolMixin implements LootPoolAccessor {
final List<LootPoolEntryContainer> merged = Lists.newArrayList(entries);
merged.addAll(newEntries);
return new LootPool(merged.toArray(new LootPoolEntryContainer[0]),
return new LootPool(
merged.toArray(new LootPoolEntryContainer[0]),
this.conditions,
this.functions,
this.rolls,
this.bonusRolls);
this.bonusRolls
);
}
}

View file

@ -1,12 +1,13 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import com.mojang.serialization.DynamicOps;
import net.minecraft.nbt.Tag;
import net.minecraft.resources.RegistryOps;
import net.minecraft.server.Main;
import net.minecraft.world.level.storage.LevelStorageSource;
import com.mojang.serialization.DynamicOps;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;

View file

@ -1,5 +1,9 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.dataexchange.DataExchangeAPI;
import org.betterx.bclib.recipes.BCLRecipeManager;
import com.mojang.datafixers.DataFixer;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.Services;
@ -11,9 +15,6 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess;
import net.minecraft.world.level.storage.WorldData;
import com.mojang.datafixers.DataFixer;
import org.betterx.bclib.api.v2.dataexchange.DataExchangeAPI;
import org.betterx.bclib.recipes.BCLRecipeManager;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -41,21 +42,25 @@ public class MinecraftServerMixin {
protected WorldData worldData;
@Inject(method = "<init>*", at = @At("TAIL"))
private void bclib_onServerInit(Thread thread,
LevelStorageAccess levelStorageAccess,
PackRepository packRepository,
WorldStem worldStem,
Proxy proxy,
DataFixer dataFixer,
Services services,
ChunkProgressListenerFactory chunkProgressListenerFactory,
CallbackInfo ci) {
private void bclib_onServerInit(
Thread thread,
LevelStorageAccess levelStorageAccess,
PackRepository packRepository,
WorldStem worldStem,
Proxy proxy,
DataFixer dataFixer,
Services services,
ChunkProgressListenerFactory chunkProgressListenerFactory,
CallbackInfo ci
) {
DataExchangeAPI.prepareServerside();
}
@Inject(method = "reloadResources", at = @At(value = "RETURN"), cancellable = true)
private void bclib_reloadResources(Collection<String> collection,
CallbackInfoReturnable<CompletableFuture<Void>> info) {
private void bclib_reloadResources(
Collection<String> collection,
CallbackInfoReturnable<CompletableFuture<Void>> info
) {
bclib_injectRecipes();
}

View file

@ -1,13 +1,14 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.interfaces.NoiseGeneratorSettingsProvider;
import org.betterx.bclib.interfaces.SurfaceProvider;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
import net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator;
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
import net.minecraft.world.level.levelgen.synth.NormalNoise;
import org.betterx.bclib.interfaces.NoiseGeneratorSettingsProvider;
import org.betterx.bclib.interfaces.SurfaceProvider;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

View file

@ -1,12 +1,13 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleUtil;
import org.betterx.bclib.interfaces.SurfaceRuleProvider;
import net.minecraft.world.level.biome.BiomeSource;
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
import net.minecraft.world.level.levelgen.SurfaceRules;
import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource;
import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleUtil;
import org.betterx.bclib.interfaces.SurfaceRuleProvider;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;

View file

@ -1,12 +1,13 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.piston.PistonBaseBlock;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -15,13 +16,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(PistonBaseBlock.class)
public class PistonBaseBlockMixin {
@Inject(method = "isPushable", at = @At("HEAD"), cancellable = true)
private static void bclib_isPushable(BlockState blockState,
Level level,
BlockPos blockPos,
Direction direction,
boolean bl,
Direction direction2,
CallbackInfoReturnable<Boolean> cir) {
private static void bclib_isPushable(
BlockState blockState,
Level level,
BlockPos blockPos,
Direction direction,
boolean bl,
Direction direction2,
CallbackInfoReturnable<Boolean> cir
) {
if (blockState.is(CommonBlockTags.IMMOBILE)) {
cir.setReturnValue(false);
cir.cancel();

View file

@ -1,12 +1,13 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.state.BlockBehaviour.StatePredicate;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.portal.PortalShape;
import org.betterx.bclib.api.v2.tag.CommonBlockTags;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@ -14,26 +15,32 @@ import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(PortalShape.class)
public class PortalShapeMixin {
@Redirect(method = "getDistanceUntilEdgeAboveFrame", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockBehaviour$StatePredicate;test(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Z"))
private boolean be_getDistanceUntilEdgeAboveFrame(StatePredicate statePredicate,
BlockState blockState,
BlockGetter blockGetter,
BlockPos blockPos) {
private boolean be_getDistanceUntilEdgeAboveFrame(
StatePredicate statePredicate,
BlockState blockState,
BlockGetter blockGetter,
BlockPos blockPos
) {
return be_FRAME(statePredicate, blockState, blockGetter, blockPos);
}
@Redirect(method = "hasTopFrame", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockBehaviour$StatePredicate;test(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Z"))
private boolean be_hasTopFrame(StatePredicate statePredicate,
BlockState blockState,
BlockGetter blockGetter,
BlockPos blockPos) {
private boolean be_hasTopFrame(
StatePredicate statePredicate,
BlockState blockState,
BlockGetter blockGetter,
BlockPos blockPos
) {
return be_FRAME(statePredicate, blockState, blockGetter, blockPos);
}
@Redirect(method = "getDistanceUntilTop", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockBehaviour$StatePredicate;test(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Z"))
private boolean be_getDistanceUntilTop(StatePredicate statePredicate,
BlockState blockState,
BlockGetter blockGetter,
BlockPos blockPos) {
private boolean be_getDistanceUntilTop(
StatePredicate statePredicate,
BlockState blockState,
BlockGetter blockGetter,
BlockPos blockPos
) {
return be_FRAME(statePredicate, blockState, blockGetter, blockPos);
}

View file

@ -1,5 +1,11 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.generator.BCLChunkGenerator;
import com.mojang.datafixers.DataFixer;
import com.mojang.serialization.Dynamic;
import com.mojang.serialization.Lifecycle;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.Tag;
import net.minecraft.resources.RegistryOps;
@ -8,11 +14,6 @@ import net.minecraft.world.level.levelgen.WorldGenSettings;
import net.minecraft.world.level.storage.LevelVersion;
import net.minecraft.world.level.storage.PrimaryLevelData;
import com.mojang.datafixers.DataFixer;
import com.mojang.serialization.Dynamic;
import com.mojang.serialization.Lifecycle;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.generator.BCLChunkGenerator;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -40,15 +41,17 @@ public class PrimaryLevelDataMixin {
}
@Inject(method = "parse", at = @At("HEAD"))
private static void bcl_parse(Dynamic<Tag> dynamic,
DataFixer dataFixer,
int i,
@Nullable CompoundTag compoundTag,
LevelSettings levelSettings,
LevelVersion levelVersion,
WorldGenSettings worldGenSettings,
Lifecycle lifecycle,
CallbackInfoReturnable<PrimaryLevelData> cir) {
private static void bcl_parse(
Dynamic<Tag> dynamic,
DataFixer dataFixer,
int i,
@Nullable CompoundTag compoundTag,
LevelSettings levelSettings,
LevelVersion levelVersion,
WorldGenSettings worldGenSettings,
Lifecycle lifecycle,
CallbackInfoReturnable<PrimaryLevelData> cir
) {
if (dynamic.getOps() instanceof RegistryOps<Tag> regOps) {
bcl_lastRegistryAccess.set(Optional.of(regOps));
}

View file

@ -1,5 +1,7 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.recipes.BCLRecipeManager;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.Container;
import net.minecraft.world.item.crafting.Recipe;
@ -7,7 +9,6 @@ import net.minecraft.world.item.crafting.RecipeManager;
import net.minecraft.world.item.crafting.RecipeType;
import net.minecraft.world.level.Level;
import org.betterx.bclib.recipes.BCLRecipeManager;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@ -25,10 +26,12 @@ public abstract class RecipeManagerMixin {
}
@Inject(method = "getRecipeFor", at = @At(value = "HEAD"), cancellable = true)
private <C extends Container, T extends Recipe<C>> void bclib_getRecipeFor(RecipeType<T> type,
C inventory,
Level level,
CallbackInfoReturnable<Optional<T>> info) {
private <C extends Container, T extends Recipe<C>> void bclib_getRecipeFor(
RecipeType<T> type,
C inventory,
Level level,
CallbackInfoReturnable<Optional<T>> info
) {
info.setReturnValue(BCLRecipeManager.getSortedRecipe(type, inventory, level, this::byType));
}
}

View file

@ -1,5 +1,10 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.generator.BCLBiomeSource;
import org.betterx.bclib.api.v2.generator.BCLibNetherBiomeSource;
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
import net.minecraft.core.Holder;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.MinecraftServer;
@ -13,10 +18,6 @@ import net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess;
import net.minecraft.world.level.storage.ServerLevelData;
import net.minecraft.world.level.storage.WritableLevelData;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.generator.BCLBiomeSource;
import org.betterx.bclib.api.v2.generator.BCLibNetherBiomeSource;
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -30,33 +31,38 @@ import java.util.function.Supplier;
public abstract class ServerLevelMixin extends Level {
private static String bclib_lastWorld = null;
protected ServerLevelMixin(WritableLevelData writableLevelData,
ResourceKey<Level> resourceKey,
Holder<DimensionType> holder,
Supplier<ProfilerFiller> supplier,
boolean bl,
boolean bl2,
long l,
int i) {
protected ServerLevelMixin(
WritableLevelData writableLevelData,
ResourceKey<Level> resourceKey,
Holder<DimensionType> holder,
Supplier<ProfilerFiller> supplier,
boolean bl,
boolean bl2,
long l,
int i
) {
super(writableLevelData, resourceKey, holder, supplier, bl, bl2, l, i);
}
@Inject(method = "<init>*", at = @At("TAIL"))
private void bclib_onServerWorldInit(MinecraftServer server,
Executor executor,
LevelStorageAccess levelStorageAccess,
ServerLevelData serverLevelData,
ResourceKey resourceKey,
LevelStem levelStem,
ChunkProgressListener chunkProgressListener,
boolean bl,
long l,
List list,
boolean bl2,
CallbackInfo ci) {
private void bclib_onServerWorldInit(
MinecraftServer server,
Executor executor,
LevelStorageAccess levelStorageAccess,
ServerLevelData serverLevelData,
ResourceKey resourceKey,
LevelStem levelStem,
ChunkProgressListener chunkProgressListener,
boolean bl,
long l,
List list,
boolean bl2,
CallbackInfo ci
) {
ServerLevel level = ServerLevel.class.cast(this);
LifeCycleAPI._runLevelLoad(level,
LifeCycleAPI._runLevelLoad(
level,
server,
executor,
levelStorageAccess,
@ -66,7 +72,8 @@ public abstract class ServerLevelMixin extends Level {
bl,
l,
list,
bl2);
bl2
);
InternalBiomeAPI.applyModificationsDeprecated(ServerLevel.class.cast(this));

View file

@ -1,9 +1,10 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.tag.TagAPI;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagLoader;
import org.betterx.bclib.api.v2.tag.TagAPI;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

View file

@ -1,5 +1,7 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.interfaces.TheEndBiomeDataAccessor;
import net.minecraft.core.Holder;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.biome.Biome;
@ -7,7 +9,6 @@ import net.minecraft.world.level.biome.Biome;
import net.fabricmc.fabric.impl.biome.TheEndBiomeData;
import net.fabricmc.fabric.impl.biome.WeightedPicker;
import org.betterx.bclib.interfaces.TheEndBiomeDataAccessor;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -31,14 +32,14 @@ public class TheEndBiomeDataMixin implements TheEndBiomeDataAccessor {
private Map<Holder<Biome>, WeightedPicker<Holder<Biome>>> endBarrensMap;
public boolean bcl_canGenerateAsEndBiome(ResourceKey<Biome> key) {
return endBiomesMap == null ? false : endBiomesMap.containsKey(key);
return endBiomesMap != null && endBiomesMap.containsKey(key);
}
public boolean bcl_canGenerateAsEndMidlandBiome(ResourceKey<Biome> key) {
return endMidlandsMap == null ? false : endMidlandsMap.containsKey(key);
return endMidlandsMap != null && endMidlandsMap.containsKey(key);
}
public boolean bcl_canGenerateAsEndBarrensBiome(ResourceKey<Biome> key) {
return endBarrensMap == null ? false : endBarrensMap.containsKey(key);
return endBarrensMap != null && endBarrensMap.containsKey(key);
}
}

View file

@ -1,10 +1,11 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.presets.worldgen.BCLWorldPresets;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.dedicated.DedicatedServerProperties;
import net.minecraft.world.level.levelgen.presets.WorldPreset;
import org.betterx.bclib.presets.worldgen.BCLWorldPresets;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;

View file

@ -1,5 +1,11 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.dataexchange.DataExchangeAPI;
import org.betterx.bclib.api.v2.datafixer.DataFixerAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
import org.betterx.bclib.config.Configs;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.worldselection.WorldOpenFlows;
import net.minecraft.core.RegistryAccess;
@ -9,11 +15,6 @@ import net.minecraft.world.level.levelgen.WorldGenSettings;
import net.minecraft.world.level.storage.LevelStorageSource;
import net.minecraft.world.level.storage.WorldData;
import org.betterx.bclib.api.v2.LifeCycleAPI;
import org.betterx.bclib.api.v2.dataexchange.DataExchangeAPI;
import org.betterx.bclib.api.v2.datafixer.DataFixerAPI;
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
import org.betterx.bclib.config.Configs;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -53,20 +54,24 @@ public abstract class WorldOpenFlowsMixin {
}
@Inject(method = "createFreshLevel", at = @At("HEAD"))
public void bcl_createFreshLevel(String levelID,
LevelSettings levelSettings,
RegistryAccess registryAccess,
WorldGenSettings worldGenSettings,
CallbackInfo ci) {
public void bcl_createFreshLevel(
String levelID,
LevelSettings levelSettings,
RegistryAccess registryAccess,
WorldGenSettings worldGenSettings,
CallbackInfo ci
) {
LifeCycleAPI.newWorldSetup(levelID, worldGenSettings, this.levelSource);
}
@Inject(method = "createLevelFromExistingSettings", at = @At("HEAD"))
public void bcl_createLevelFromExistingSettings(LevelStorageSource.LevelStorageAccess levelStorageAccess,
ReloadableServerResources reloadableServerResources,
RegistryAccess.Frozen frozen,
WorldData worldData,
CallbackInfo ci) {
public void bcl_createLevelFromExistingSettings(
LevelStorageSource.LevelStorageAccess levelStorageAccess,
ReloadableServerResources reloadableServerResources,
RegistryAccess.Frozen frozen,
WorldData worldData,
CallbackInfo ci
) {
//LifeCycleAPI.startWorld(levelStorageAccess, worldData.worldGenSettings());
}
}

View file

@ -12,5 +12,5 @@ import java.util.Map;
@Mixin(WorldPreset.class)
public interface WorldPresetAccessor {
@Accessor("dimensions")
public Map<ResourceKey<LevelStem>, LevelStem> bcl_getDimensions();
Map<ResourceKey<LevelStem>, LevelStem> bcl_getDimensions();
}

View file

@ -1,5 +1,9 @@
package org.betterx.bclib.mixin.common;
import org.betterx.bclib.api.v2.levelgen.LevelGenUtil;
import org.betterx.bclib.presets.worldgen.BCLWorldPresets;
import org.betterx.bclib.presets.worldgen.WorldPresetSettings;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
import net.minecraft.world.level.biome.Biome;
@ -11,9 +15,6 @@ import net.minecraft.world.level.levelgen.presets.WorldPresets;
import net.minecraft.world.level.levelgen.structure.StructureSet;
import net.minecraft.world.level.levelgen.synth.NormalNoise;
import org.betterx.bclib.api.v2.levelgen.LevelGenUtil;
import org.betterx.bclib.presets.worldgen.BCLWorldPresets;
import org.betterx.bclib.presets.worldgen.WorldPresetSettings;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -52,16 +53,20 @@ public abstract class WorldPresetsBootstrapMixin {
@ModifyArg(method = "run", at = @At(value = "INVOKE", ordinal = 0, target = "Lnet/minecraft/world/level/levelgen/presets/WorldPresets$Bootstrap;registerCustomOverworldPreset(Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/world/level/dimension/LevelStem;)Lnet/minecraft/core/Holder;"))
private LevelStem bcl_getOverworldStem(LevelStem overworldStem) {
WorldPresetSettings.bootstrap();
LevelGenUtil.Context netherContext = new LevelGenUtil.Context(this.biomes,
LevelGenUtil.Context netherContext = new LevelGenUtil.Context(
this.biomes,
this.netherDimensionType,
this.structureSets,
this.noises,
this.netherNoiseSettings);
LevelGenUtil.Context endContext = new LevelGenUtil.Context(this.biomes,
this.netherNoiseSettings
);
LevelGenUtil.Context endContext = new LevelGenUtil.Context(
this.biomes,
this.endDimensionType,
this.structureSets,
this.noises,
this.endNoiseSettings);
this.endNoiseSettings
);
BCLWorldPresets.bootstrapPresets(presets, overworldStem, netherContext, endContext);

View file

@ -1,5 +1,8 @@
package org.betterx.bclib.mixin.common.shears;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.core.BlockPos;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@ -10,8 +13,6 @@ import net.minecraft.world.level.block.BeehiveBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -20,13 +21,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(BeehiveBlock.class)
public class BeehiveBlockMixin {
@Inject(method = "use(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/phys/BlockHitResult;)Lnet/minecraft/world/InteractionResult;", at = @At("HEAD"))
private void bclib_isShears(BlockState blockState,
Level level,
BlockPos blockPos,
Player player,
InteractionHand interactionHand,
BlockHitResult blockHitResult,
CallbackInfoReturnable<InteractionResult> info) {
private void bclib_isShears(
BlockState blockState,
Level level,
BlockPos blockPos,
Player player,
InteractionHand interactionHand,
BlockHitResult blockHitResult,
CallbackInfoReturnable<InteractionResult> info
) {
MethodReplace.addItemReplace(Items.SHEARS, BaseShearsItem::isShear);
}
}

View file

@ -1,9 +1,10 @@
package org.betterx.bclib.mixin.common.shears;
import org.betterx.bclib.items.tool.BaseShearsItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.enchantment.DiggingEnchantment;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;

View file

@ -1,11 +1,12 @@
package org.betterx.bclib.mixin.common.shears;
import org.betterx.bclib.api.v2.tag.CommonItemTags;
import net.minecraft.advancements.critereon.ItemPredicate;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import org.betterx.bclib.api.v2.tag.CommonItemTags;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

View file

@ -1,13 +1,14 @@
package org.betterx.bclib.mixin.common.shears;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.animal.MushroomCow;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Items;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -16,9 +17,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(MushroomCow.class)
public class MushroomCowMixin {
@Inject(method = "mobInteract(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/InteractionResult;", at = @At("HEAD"))
private void bclib_isShears(Player player,
InteractionHand interactionHand,
CallbackInfoReturnable<InteractionResult> info) {
private void bclib_isShears(
Player player,
InteractionHand interactionHand,
CallbackInfoReturnable<InteractionResult> info
) {
MethodReplace.addItemReplace(Items.SHEARS, BaseShearsItem::isShear);
}
}

View file

@ -1,5 +1,8 @@
package org.betterx.bclib.mixin.common.shears;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.core.BlockPos;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@ -10,8 +13,6 @@ import net.minecraft.world.level.block.PumpkinBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -20,13 +21,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(PumpkinBlock.class)
public abstract class PumpkinBlockMixin {
@Inject(method = "use", at = @At("HEAD"))
private void bclib_isShears(BlockState blockState,
Level level,
BlockPos blockPos,
Player player,
InteractionHand interactionHand,
BlockHitResult blockHitResult,
CallbackInfoReturnable<InteractionResult> info) {
private void bclib_isShears(
BlockState blockState,
Level level,
BlockPos blockPos,
Player player,
InteractionHand interactionHand,
BlockHitResult blockHitResult,
CallbackInfoReturnable<InteractionResult> info
) {
MethodReplace.addItemReplace(Items.SHEARS, BaseShearsItem::isShear);
}
}

View file

@ -1,13 +1,14 @@
package org.betterx.bclib.mixin.common.shears;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.animal.Sheep;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Items;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -16,9 +17,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(Sheep.class)
public class SheepMixin {
@Inject(method = "mobInteract(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/InteractionResult;", at = @At("HEAD"))
private void bclib_isShears(Player player,
InteractionHand interactionHand,
CallbackInfoReturnable<InteractionResult> info) {
private void bclib_isShears(
Player player,
InteractionHand interactionHand,
CallbackInfoReturnable<InteractionResult> info
) {
MethodReplace.addItemReplace(Items.SHEARS, BaseShearsItem::isShear);
}
}

View file

@ -1,13 +1,14 @@
package org.betterx.bclib.mixin.common.shears;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.animal.SnowGolem;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Items;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -16,9 +17,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(SnowGolem.class)
public class SnowGolemMixin {
@Inject(method = "mobInteract(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/InteractionResult;", at = @At("HEAD"))
private void bclib_isShears(Player player,
InteractionHand interactionHand,
CallbackInfoReturnable<InteractionResult> info) {
private void bclib_isShears(
Player player,
InteractionHand interactionHand,
CallbackInfoReturnable<InteractionResult> info
) {
MethodReplace.addItemReplace(Items.SHEARS, BaseShearsItem::isShear);
}
}

View file

@ -1,5 +1,8 @@
package org.betterx.bclib.mixin.common.shears;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import net.minecraft.core.BlockPos;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Items;
@ -7,8 +10,6 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.TripWireBlock;
import net.minecraft.world.level.block.state.BlockState;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.util.MethodReplace;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -17,11 +18,13 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(TripWireBlock.class)
public class TripWireBlockMixin {
@Inject(method = "playerWillDestroy(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/entity/player/Player;)V", at = @At("HEAD"))
private void bclib_isShears(Level level,
BlockPos blockPos,
BlockState blockState,
Player player,
CallbackInfo info) {
private void bclib_isShears(
Level level,
BlockPos blockPos,
BlockState blockState,
Player player,
CallbackInfo info
) {
MethodReplace.addItemReplace(Items.SHEARS, BaseShearsItem::isShear);
}
}