1.19-pre1

This commit is contained in:
modmuss50 2022-05-18 19:16:52 +01:00
parent 653223279f
commit 55043e695a
23 changed files with 98 additions and 119 deletions

View file

@ -9,7 +9,7 @@ plugins {
id "eclipse"
id "idea"
id "maven-publish"
id "fabric-loom" version "0.12.19" apply false
id "fabric-loom" version "0.12.27" apply false
id "com.diffplug.spotless" version "6.5.1"
id "org.ajoberstar.grgit" version "3.1.0"
id "com.matthewprenger.cursegradle" version "1.4.0"

View file

@ -26,7 +26,6 @@ import java.util.function.Consumer;
import java.util.function.Predicate;
import com.google.common.base.Stopwatch;
import com.google.common.base.Suppliers;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.TestOnly;
import org.slf4j.Logger;
@ -37,8 +36,6 @@ import net.minecraft.util.registry.DynamicRegistryManager;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.source.BiomeSource;
import net.minecraft.world.dimension.DimensionOptions;
import net.minecraft.world.level.LevelProperties;
import net.fabricmc.fabric.api.biome.v1.BiomeModificationContext;
@ -162,18 +159,6 @@ public class BiomeModificationImpl {
}
if (biomesProcessed > 0) {
// Rebuild caches within biome sources after modifying feature lists
for (DimensionOptions dimension : levelProperties.getGeneratorOptions().getDimensions()) {
// The Biome source has a total ordering of feature generation that might have changed
// by us adding or removing features from biomes.
BiomeSource biomeSource = dimension.getChunkGenerator().getBiomeSource();
// Replace the Supplier to force it to rebuild on next call
biomeSource.indexedFeaturesSupplier = Suppliers.memoize(() -> {
return biomeSource.method_39525(biomeSource.biomes.stream().distinct().toList(), true);
});
}
LOGGER.info("Applied {} biome modifications to {} of {} new biomes in {}", modifiersApplied, biomesChanged,
biomesProcessed, sw);
}

View file

@ -2,10 +2,7 @@ accessWidener v1 named
accessible class net/minecraft/world/biome/Biome$Weather
# Rebuilding biome source feature lists
accessible method net/minecraft/world/biome/source/BiomeSource method_39525 (Ljava/util/List;Z)Ljava/util/List;
accessible field net/minecraft/world/biome/source/BiomeSource biomes Ljava/util/Set;
accessible field net/minecraft/world/biome/source/BiomeSource indexedFeaturesSupplier Ljava/util/function/Supplier;
mutable field net/minecraft/world/biome/source/BiomeSource indexedFeaturesSupplier Ljava/util/function/Supplier;
# Top-Level Biome Fields Access
accessible field net/minecraft/world/biome/Biome weather Lnet/minecraft/world/biome/Biome$Weather;

View file

@ -91,7 +91,7 @@ public class FabricBiomeTest implements ModInitializer {
ConfiguredFeature<?, ?> COMMON_DESERT_WELL = new ConfiguredFeature<>(Feature.DESERT_WELL, DefaultFeatureConfig.INSTANCE);
Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier(MOD_ID, "fab_desert_well"), COMMON_DESERT_WELL);
RegistryEntry<ConfiguredFeature<?, ?>> featureEntry = BuiltinRegistries.CONFIGURED_FEATURE.getOrCreateEntry(BuiltinRegistries.CONFIGURED_FEATURE.getKey(COMMON_DESERT_WELL).orElseThrow());
RegistryEntry<ConfiguredFeature<?, ?>> featureEntry = BuiltinRegistries.CONFIGURED_FEATURE.method_44298(BuiltinRegistries.CONFIGURED_FEATURE.getKey(COMMON_DESERT_WELL).orElseThrow());
// The placement config is taken from the vanilla desert well, but no randomness
PlacedFeature PLACED_COMMON_DESERT_WELL = new PlacedFeature(featureEntry, List.of(SquarePlacementModifier.of(), PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP, BiomePlacementModifier.of()));

View file

@ -28,7 +28,7 @@ import net.fabricmc.fabric.impl.command.client.ClientCommandInternals;
@Mixin(ClientPlayerEntity.class)
abstract class ClientPlayerEntityMixin {
@Inject(method = "method_44098", at = @At("HEAD"), cancellable = true)
@Inject(method = "sendCommand(Ljava/lang/String;Lnet/minecraft/text/Text;)V", at = @At("HEAD"), cancellable = true)
private void onSendCommand(String command, Text preview, CallbackInfo info) {
if (ClientCommandInternals.executeCommand(command)) {
info.cancel();

View file

@ -42,11 +42,11 @@ import net.fabricmc.fabric.impl.datagen.FabricDataGenHelper;
*/
public abstract class FabricAdvancementProvider implements DataProvider {
protected final FabricDataGenerator dataGenerator;
private final DataGenerator.class_7489 pathResolver;
private final DataGenerator.PathResolver pathResolver;
protected FabricAdvancementProvider(FabricDataGenerator dataGenerator) {
this.dataGenerator = dataGenerator;
this.pathResolver = dataGenerator.method_44106(DataGenerator.class_7490.DATA_PACK, "advancements");
this.pathResolver = dataGenerator.createPathResolver(DataGenerator.OutputType.DATA_PACK, "advancements");
}
/**

View file

@ -77,12 +77,12 @@ public abstract class FabricRecipeProvider extends RecipeProvider {
ConditionJsonProvider[] conditions = FabricDataGenHelper.consumeConditions(provider);
ConditionJsonProvider.write(recipeJson, conditions);
saveRecipe(writer, recipeJson, this.field_39378.method_44107(identifier));
saveRecipe(writer, recipeJson, this.recipesPathResolver.resolveJson(identifier));
JsonObject advancementJson = provider.toAdvancementJson();
if (advancementJson != null) {
ConditionJsonProvider.write(advancementJson, conditions);
saveRecipeAdvancement(writer, advancementJson, this.field_39379.method_44107(getRecipeIdentifier(provider.getAdvancementId())));
saveRecipeAdvancement(writer, advancementJson, this.advancementsPathResolver.resolveJson(getRecipeIdentifier(provider.getAdvancementId())));
}
});
}

View file

@ -28,7 +28,7 @@ import net.minecraft.entity.EntityType;
import net.minecraft.fluid.Fluid;
import net.minecraft.item.Item;
import net.minecraft.tag.BlockTags;
import net.minecraft.tag.Builder;
import net.minecraft.tag.TagBuilder;
import net.minecraft.tag.EntityTypeTags;
import net.minecraft.tag.FluidTags;
import net.minecraft.tag.GameEventTags;
@ -115,7 +115,7 @@ public abstract class FabricTagProvider<T> extends AbstractTagProvider<T> {
*/
public abstract static class ItemTagProvider extends FabricTagProvider<Item> {
@Nullable
private final Function<TagKey<Block>, Builder> blockTagBuilderProvider;
private final Function<TagKey<Block>, TagBuilder> blockTagBuilderProvider;
/**
* Construct an {@link ItemTagProvider} tag provider <b>with</b> an associated {@link BlockTagProvider} tag provider.
@ -148,8 +148,8 @@ public abstract class FabricTagProvider<T> extends AbstractTagProvider<T> {
* @param itemTag The item tag to copy to.
*/
public void copy(TagKey<Block> blockTag, TagKey<Item> itemTag) {
Builder blockTagBuilder = Objects.requireNonNull(this.blockTagBuilderProvider, "Pass Block tag provider via constructor to use copy").apply(blockTag);
Builder itemTagBuilder = this.getTagBuilder(itemTag);
TagBuilder blockTagBuilder = Objects.requireNonNull(this.blockTagBuilderProvider, "Pass Block tag provider via constructor to use copy").apply(blockTag);
TagBuilder itemTagBuilder = this.getTagBuilder(itemTag);
blockTagBuilder.build().stream().filter((entry) -> entry.canAdd(this.registry::containsId, (id) -> true)).forEach(itemTagBuilder::add);
}
}
@ -324,7 +324,7 @@ public abstract class FabricTagProvider<T> extends AbstractTagProvider<T> {
* @return the {@link FabricTagBuilder} instance
*/
public FabricTagBuilder<T> forceAddTag(TagKey<T> tag) {
builder.add(new ForcedTagEntry(TagEntry.method_43937(tag.id())));
builder.add(new ForcedTagEntry(TagEntry.create(tag.id())));
return this;
}

View file

@ -26,12 +26,12 @@ public class ForcedTagEntry extends TagEntry {
private final TagEntry delegate;
public ForcedTagEntry(TagEntry delegate) {
super(delegate.id, delegate.field_39267, delegate.field_39268);
super(delegate.id, true, delegate.required);
this.delegate = delegate;
}
@Override
public <T> boolean resolve(TagEntry.class_7474<T> arg, Consumer<T> consumer) {
public <T> boolean resolve(TagEntry.ValueGetter<T> arg, Consumer<T> consumer) {
return delegate.resolve(arg, consumer);
}

View file

@ -27,15 +27,15 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
import net.minecraft.data.DataWriter;
import net.minecraft.data.server.AbstractTagProvider;
import net.minecraft.tag.Builder;
import net.minecraft.tag.TagBuilder;
import net.minecraft.util.Identifier;
import net.fabricmc.fabric.impl.datagen.FabricTagBuilder;
@Mixin(AbstractTagProvider.class)
public class AbstractTagProviderMixin {
@Inject(method = "method_27046", at = @At(value = "INVOKE", target = "Lnet/minecraft/data/DataGenerator$class_7489;method_44107(Lnet/minecraft/util/Identifier;)Ljava/nio/file/Path;"), locals = LocalCapture.CAPTURE_FAILHARD)
public void addReplaced(DataWriter dataWriter, Identifier id, Builder builder, CallbackInfo ci, List list, List list2, JsonElement jsonElement) {
@Inject(method = "method_27046", at = @At(value = "INVOKE", target = "Lnet/minecraft/data/DataGenerator$PathResolver;resolveJson(Lnet/minecraft/util/Identifier;)Ljava/nio/file/Path;"), locals = LocalCapture.CAPTURE_FAILHARD)
public void addReplaced(DataWriter dataWriter, Identifier id, TagBuilder builder, CallbackInfo ci, List list, List list2, JsonElement jsonElement) {
if (builder instanceof FabricTagBuilder fabricTagBuilder) {
jsonElement.getAsJsonObject().addProperty("replace", fabricTagBuilder.fabric_isReplaced());
}

View file

@ -19,14 +19,14 @@ package net.fabricmc.fabric.mixin.datagen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import net.minecraft.tag.Builder;
import net.minecraft.tag.TagBuilder;
import net.fabricmc.fabric.impl.datagen.FabricTagBuilder;
/**
* Extends Tag.Builder to support setting the replace field.
*/
@Mixin(Builder.class)
@Mixin(TagBuilder.class)
public class TagBuilderMixin implements FabricTagBuilder {
@Unique
private boolean replace = false;

View file

@ -1,11 +1,11 @@
accessWidener v2 named
accessible field net/minecraft/data/server/RecipeProvider field_39378 Lnet/minecraft/data/DataGenerator$class_7489;
accessible field net/minecraft/data/server/RecipeProvider field_39379 Lnet/minecraft/data/DataGenerator$class_7489;
accessible field net/minecraft/data/server/RecipeProvider recipesPathResolver Lnet/minecraft/data/DataGenerator$PathResolver;
accessible field net/minecraft/data/server/RecipeProvider advancementsPathResolver Lnet/minecraft/data/DataGenerator$PathResolver;
accessible method net/minecraft/data/server/AbstractTagProvider$ObjectBuilder <init> (Lnet/minecraft/tag/Builder;Lnet/minecraft/util/registry/Registry;)V
accessible method net/minecraft/data/server/AbstractTagProvider$ObjectBuilder <init> (Lnet/minecraft/tag/TagBuilder;Lnet/minecraft/util/registry/Registry;)V
extendable method net/minecraft/data/server/AbstractTagProvider$ObjectBuilder add ([Ljava/lang/Object;)Lnet/minecraft/data/server/AbstractTagProvider$ObjectBuilder;
accessible field net/minecraft/data/server/AbstractTagProvider$ObjectBuilder builder Lnet/minecraft/tag/Builder;
accessible field net/minecraft/data/server/AbstractTagProvider$ObjectBuilder builder Lnet/minecraft/tag/TagBuilder;
accessible field net/minecraft/data/server/AbstractTagProvider$ObjectBuilder registry Lnet/minecraft/util/registry/Registry;
accessible field net/minecraft/data/server/AbstractTagProvider tagBuilders Ljava/util/Map;
@ -14,12 +14,12 @@ accessible field net/minecraft/data/server/BlockLootTableGenerator lootTabl
extendable method net/minecraft/tag/TagEntry <init> (Lnet/minecraft/util/Identifier;ZZ)V
accessible field net/minecraft/tag/TagEntry id Lnet/minecraft/util/Identifier;
accessible field net/minecraft/tag/TagEntry field_39267 Z
accessible field net/minecraft/tag/TagEntry field_39268 Z
accessible field net/minecraft/tag/TagEntry tag Z
accessible field net/minecraft/tag/TagEntry required Z
extendable method net/minecraft/data/DataGenerator$class_7489 <init> (Lnet/minecraft/data/DataGenerator;Lnet/minecraft/data/DataGenerator$class_7490;Ljava/lang/String;)V
accessible field net/minecraft/data/DataGenerator$class_7489 field_39365 Ljava/nio/file/Path;
accessible field net/minecraft/data/DataGenerator$class_7489 field_39366 Ljava/lang/String;
extendable method net/minecraft/data/DataGenerator$PathResolver <init> (Lnet/minecraft/data/DataGenerator;Lnet/minecraft/data/DataGenerator$OutputType;Ljava/lang/String;)V
accessible field net/minecraft/data/DataGenerator$PathResolver rootPath Ljava/nio/file/Path;
accessible field net/minecraft/data/DataGenerator$PathResolver directoryName Ljava/lang/String;
transitive-accessible method net/minecraft/data/family/BlockFamilies register (Lnet/minecraft/block/Block;)Lnet/minecraft/data/family/BlockFamily$Builder;

View file

@ -1,11 +1,11 @@
accessWidener v2 named
accessible field net/minecraft/data/server/RecipeProvider field_39378 Lnet/minecraft/data/DataGenerator$class_7489;
accessible field net/minecraft/data/server/RecipeProvider field_39379 Lnet/minecraft/data/DataGenerator$class_7489;
accessible field net/minecraft/data/server/RecipeProvider recipesPathResolver Lnet/minecraft/data/DataGenerator$PathResolver;
accessible field net/minecraft/data/server/RecipeProvider advancementsPathResolver Lnet/minecraft/data/DataGenerator$PathResolver;
accessible method net/minecraft/data/server/AbstractTagProvider$ObjectBuilder <init> (Lnet/minecraft/tag/Builder;Lnet/minecraft/util/registry/Registry;)V
accessible method net/minecraft/data/server/AbstractTagProvider$ObjectBuilder <init> (Lnet/minecraft/tag/TagBuilder;Lnet/minecraft/util/registry/Registry;)V
extendable method net/minecraft/data/server/AbstractTagProvider$ObjectBuilder add ([Ljava/lang/Object;)Lnet/minecraft/data/server/AbstractTagProvider$ObjectBuilder;
accessible field net/minecraft/data/server/AbstractTagProvider$ObjectBuilder builder Lnet/minecraft/tag/Builder;
accessible field net/minecraft/data/server/AbstractTagProvider$ObjectBuilder builder Lnet/minecraft/tag/TagBuilder;
accessible field net/minecraft/data/server/AbstractTagProvider$ObjectBuilder registry Lnet/minecraft/util/registry/Registry;
accessible field net/minecraft/data/server/AbstractTagProvider tagBuilders Ljava/util/Map;
@ -14,12 +14,12 @@ accessible field net/minecraft/data/server/BlockLootTableGenerator lootTabl
extendable method net/minecraft/tag/TagEntry <init> (Lnet/minecraft/util/Identifier;ZZ)V
accessible field net/minecraft/tag/TagEntry id Lnet/minecraft/util/Identifier;
accessible field net/minecraft/tag/TagEntry field_39267 Z
accessible field net/minecraft/tag/TagEntry field_39268 Z
accessible field net/minecraft/tag/TagEntry tag Z
accessible field net/minecraft/tag/TagEntry required Z
extendable method net/minecraft/data/DataGenerator$class_7489 <init> (Lnet/minecraft/data/DataGenerator;Lnet/minecraft/data/DataGenerator$class_7490;Ljava/lang/String;)V
accessible field net/minecraft/data/DataGenerator$class_7489 field_39365 Ljava/nio/file/Path;
accessible field net/minecraft/data/DataGenerator$class_7489 field_39366 Ljava/lang/String;
extendable method net/minecraft/data/DataGenerator$PathResolver <init> (Lnet/minecraft/data/DataGenerator;Lnet/minecraft/data/DataGenerator$OutputType;Ljava/lang/String;)V
accessible field net/minecraft/data/DataGenerator$PathResolver rootPath Ljava/nio/file/Path;
accessible field net/minecraft/data/DataGenerator$PathResolver directoryName Ljava/lang/String;
transitive-accessible method net/minecraft/data/family/BlockFamilies register (Lnet/minecraft/block/Block;)Lnet/minecraft/data/family/BlockFamily$Builder;

View file

@ -52,7 +52,7 @@ public class VoidChunkGenerator extends ChunkGenerator {
private final Registry<Biome> biomeRegistry;
public VoidChunkGenerator(Registry<StructureSet> registry, Registry<Biome> biomeRegistry) {
super(registry, Optional.empty(), new FixedBiomeSource(biomeRegistry.getOrCreateEntry(BiomeKeys.PLAINS)));
super(registry, Optional.empty(), new FixedBiomeSource(biomeRegistry.method_44298(BiomeKeys.PLAINS)));
this.biomeRegistry = biomeRegistry;
}

View file

@ -58,7 +58,7 @@ abstract class LivingEntityMixin {
@Shadow
public abstract Optional<BlockPos> getSleepingPosition();
@Inject(method = "onDeath", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;onKilledOther(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/LivingEntity;)V", shift = At.Shift.AFTER), locals = LocalCapture.CAPTURE_FAILEXCEPTION)
@Inject(method = "onDeath", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;onKilledOther(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/LivingEntity;)Z", shift = At.Shift.AFTER), locals = LocalCapture.CAPTURE_FAILEXCEPTION)
private void onEntityKilledOther(DamageSource source, CallbackInfo ci, Entity attacker) {
// FIXME: Cannot use shadowed fields from supermixins - needs a fix so people can use fabric api in a dev environment even though this is fine in this repo and prod.
// A temporary fix is to just cast the mixin to LivingEntity and access the world field with a few ugly casts.

View file

@ -19,9 +19,6 @@ package net.fabricmc.fabric.mixin.gametest.server;
import java.io.File;
import java.nio.file.Path;
import com.mojang.authlib.GameProfileRepository;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
import joptsimple.OptionParser;
import joptsimple.OptionSet;
import joptsimple.OptionSpec;
@ -32,11 +29,11 @@ import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
import net.minecraft.class_7497;
import net.minecraft.resource.ResourcePackManager;
import net.minecraft.server.Main;
import net.minecraft.server.dedicated.EulaReader;
import net.minecraft.server.dedicated.ServerPropertiesLoader;
import net.minecraft.util.UserCache;
import net.minecraft.world.level.storage.LevelStorage;
import net.minecraft.world.level.storage.LevelSummary;
@ -51,7 +48,7 @@ public class MainMixin {
// Inject after resourcePackManager is stored
@Inject(method = "main", cancellable = true, locals = LocalCapture.CAPTURE_FAILHARD, at = @At(value = "INVOKE", shift = At.Shift.BY, by = 2, target = "Lnet/minecraft/resource/ResourcePackManager;<init>(Lnet/minecraft/resource/ResourceType;[Lnet/minecraft/resource/ResourcePackProvider;)V"))
private static void main(String[] args, CallbackInfo info, OptionParser optionParser, OptionSpec optionSpec, OptionSpec optionSpec2, OptionSpec optionSpec3, OptionSpec optionSpec4, OptionSpec optionSpec5, OptionSpec optionSpec6, OptionSpec optionSpec7, OptionSpec optionSpec8, OptionSpec optionSpec9, OptionSpec optionSpec10, OptionSpec optionSpec11, OptionSpec optionSpec12, OptionSpec optionSpec13, OptionSpec optionSpec14, OptionSpec optionSpec15, OptionSet optionSet, Path path, ServerPropertiesLoader serverPropertiesLoader, Path path2, EulaReader eulaReader, File file, YggdrasilAuthenticationService yggdrasilAuthenticationService, MinecraftSessionService minecraftSessionService, GameProfileRepository gameProfileRepository, UserCache userCache, String string, LevelStorage levelStorage, LevelStorage.Session session, LevelSummary levelSummary, boolean bl, ResourcePackManager resourcePackManager) {
private static void main(String[] args, CallbackInfo info, OptionParser optionParser, OptionSpec optionSpec, OptionSpec optionSpec2, OptionSpec optionSpec3, OptionSpec optionSpec4, OptionSpec optionSpec5, OptionSpec optionSpec6, OptionSpec optionSpec7, OptionSpec optionSpec8, OptionSpec optionSpec9, OptionSpec optionSpec10, OptionSpec optionSpec11, OptionSpec optionSpec12, OptionSpec optionSpec13, OptionSpec optionSpec14, OptionSpec optionSpec15, OptionSet optionSet, Path path, ServerPropertiesLoader serverPropertiesLoader, Path path2, EulaReader eulaReader, File file, class_7497 lv, String string, LevelStorage levelStorage, LevelStorage.Session session, LevelSummary levelSummary, boolean bl, ResourcePackManager resourcePackManager) {
if (FabricGameTestHelper.ENABLED) {
FabricGameTestHelper.runHeadlessServer(session, resourcePackManager);
info.cancel(); // Do not progress in starting the normal dedicated server

View file

@ -22,12 +22,12 @@ import com.google.common.collect.ImmutableSet;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.class_7477;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.poi.PointOfInterest;
import net.minecraft.world.poi.PointOfInterestType;
import net.minecraft.world.poi.PointOfInterestTypes;
/**
* This class provides utilities to create a {@link PointOfInterestType}.
@ -76,6 +76,6 @@ public final class PointOfInterestHelper {
// INTERNAL METHODS
private static PointOfInterestType register(Identifier id, int ticketCount, int searchDistance, Set<BlockState> states) {
return class_7477.method_43993(Registry.POINT_OF_INTEREST_TYPE, RegistryKey.of(Registry.POINT_OF_INTEREST_TYPE_KEY, id), states, ticketCount, searchDistance);
return PointOfInterestTypes.register(Registry.POINT_OF_INTEREST_TYPE, RegistryKey.of(Registry.POINT_OF_INTEREST_TYPE_KEY, id), states, ticketCount, searchDistance);
}
}

View file

@ -2,6 +2,6 @@ accessWidener v1 named
extendable method net/minecraft/block/AbstractBlock$Settings <init> (Lnet/minecraft/block/Material;Ljava/util/function/Function;)V
extendable method net/minecraft/block/AbstractBlock$Settings <init> (Lnet/minecraft/block/Material;Lnet/minecraft/block/MapColor;)V
accessible method net/minecraft/class_7477 method_43993 (Lnet/minecraft/util/registry/Registry;Lnet/minecraft/util/registry/RegistryKey;Ljava/util/Set;II)Lnet/minecraft/world/poi/PointOfInterestType;
accessible method net/minecraft/world/poi/PointOfInterestTypes register (Lnet/minecraft/util/registry/Registry;Lnet/minecraft/util/registry/RegistryKey;Ljava/util/Set;II)Lnet/minecraft/world/poi/PointOfInterestType;
extendable class net/minecraft/block/entity/BlockEntityType$BlockEntityFactory

View file

@ -68,7 +68,7 @@ public class ChunkRenderInfo {
private final Long2FloatOpenHashMap aoLevelCache;
private final BlockPos.Mutable chunkOrigin = new BlockPos.Mutable();
BuiltChunk.RebuildTask.class_7435 chunkData;
BuiltChunk.RebuildTask.RenderData renderData;
BuiltChunk chunkRenderer;
BlockBufferBuilderStorage builders;
Set<RenderLayer> initializedLayers;
@ -83,10 +83,10 @@ public class ChunkRenderInfo {
aoLevelCache.defaultReturnValue(Float.MAX_VALUE);
}
void prepare(ChunkRendererRegion blockView, BuiltChunk chunkRenderer, BuiltChunk.RebuildTask.class_7435 chunkData, BlockBufferBuilderStorage builders, Set<RenderLayer> initializedLayers) {
void prepare(ChunkRendererRegion blockView, BuiltChunk chunkRenderer, BuiltChunk.RebuildTask.RenderData renderData, BlockBufferBuilderStorage builders, Set<RenderLayer> initializedLayers) {
this.blockView = blockView;
this.chunkOrigin.set(chunkRenderer.getOrigin());
this.chunkData = chunkData;
this.renderData = renderData;
this.chunkRenderer = chunkRenderer;
this.builders = builders;
this.initializedLayers = initializedLayers;
@ -96,7 +96,7 @@ public class ChunkRenderInfo {
}
void release() {
chunkData = null;
renderData = null;
chunkRenderer = null;
buffers.clear();
}

View file

@ -85,7 +85,7 @@ public class TerrainRenderContext extends AbstractRenderContext {
}
};
public void prepare(ChunkRendererRegion blockView, BuiltChunk chunkRenderer, BuiltChunk.RebuildTask.class_7435 renderData, BlockBufferBuilderStorage builders, Set<RenderLayer> initializedLayers) {
public void prepare(ChunkRendererRegion blockView, BuiltChunk chunkRenderer, BuiltChunk.RebuildTask.RenderData renderData, BlockBufferBuilderStorage builders, Set<RenderLayer> initializedLayers) {
blockInfo.setBlockView(blockView);
chunkInfo.prepare(blockView, chunkRenderer, renderData, builders, initializedLayers);
}

View file

@ -76,8 +76,8 @@ public abstract class MixinChunkRebuildTask {
locals = LocalCapture.CAPTURE_FAILHARD)
private void hookChunkBuild(float cameraX, float cameraY, float cameraZ,
BlockBufferBuilderStorage builder,
CallbackInfoReturnable<BuiltChunk.RebuildTask.class_7435> ci,
BuiltChunk.RebuildTask.class_7435 renderData, int i, BlockPos blockPos, BlockPos blockPos2, ChunkOcclusionDataBuilder chunkOcclusionDataBuilder, ChunkRendererRegion region, MatrixStack matrixStack, Set<RenderLayer> initializedLayers, AbstractRandom abstractRandom, BlockRenderManager blockRenderManager) {
CallbackInfoReturnable<BuiltChunk.RebuildTask.RenderData> ci,
BuiltChunk.RebuildTask.RenderData renderData, int i, BlockPos blockPos, BlockPos blockPos2, ChunkOcclusionDataBuilder chunkOcclusionDataBuilder, ChunkRendererRegion region, MatrixStack matrixStack, Set<RenderLayer> initializedLayers, AbstractRandom abstractRandom, BlockRenderManager blockRenderManager) {
// hook just before iterating over the render chunk's chunks blocks, captures the used renderlayer set
// accessing this.region is unsafe due to potential async cancellation, the LV has to be used!

View file

@ -1,7 +1,7 @@
accessWidener v2 named
accessible class net/minecraft/client/render/chunk/ChunkBuilder$BuiltChunk$RebuildTask
accessible class net/minecraft/client/render/chunk/ChunkBuilder$BuiltChunk$RebuildTask$class_7435
accessible class net/minecraft/client/render/chunk/ChunkBuilder$BuiltChunk$RebuildTask$RenderData
accessible class net/minecraft/client/render/block/BlockModelRenderer$AmbientOcclusionCalculator
accessible field net/minecraft/client/render/block/BlockModelRenderer$AmbientOcclusionCalculator brightness [F

View file

@ -1,54 +1,54 @@
org.gradle.jvmargs=-Xmx2560M
version=0.52.3
minecraft_version=22w19a
version=0.52.4
minecraft_version=1.19-pre1
yarn_version=+build.1
loader_version=0.14.5
prerelease=true
# Do not manually update, use the bumpversions task:
fabric-api-base-version=0.4.6
fabric-api-lookup-api-v1-version=1.6.2
fabric-biome-api-v1-version=9.0.6
fabric-blockrenderlayer-v1-version=1.1.14
fabric-command-api-v1-version=1.1.17
fabric-commands-v0-version=0.2.16
fabric-containers-v0-version=0.1.23
fabric-content-registries-v0-version=3.0.10
fabric-crash-report-info-v1-version=0.1.12
fabric-data-generation-api-v1-version=4.0.0
fabric-dimensions-v1-version=2.1.21
fabric-entity-events-v1-version=1.4.13
fabric-events-interaction-v0-version=0.4.23
fabric-events-lifecycle-v0-version=0.2.18
fabric-game-rule-api-v1-version=1.0.15
fabric-gametest-api-v1-version=1.0.23
fabric-item-api-v1-version=1.4.3
fabric-item-groups-v0-version=0.3.18
fabric-key-binding-api-v1-version=1.0.14
fabric-keybindings-v0-version=0.2.12
fabric-lifecycle-events-v1-version=2.0.5
fabric-loot-tables-v1-version=1.0.13
fabric-mining-level-api-v1-version=2.1.2
fabric-models-v0-version=0.3.10
fabric-networking-api-v1-version=1.0.23
fabric-networking-v0-version=0.3.10
fabric-object-builder-api-v1-version=4.0.0
fabric-particles-v1-version=1.0.3
fabric-registry-sync-v0-version=0.9.11
fabric-renderer-api-v1-version=1.0.3
fabric-renderer-indigo-version=0.6.1
fabric-renderer-registries-v1-version=3.2.14
fabric-rendering-data-attachment-v1-version=0.3.9
fabric-rendering-fluids-v1-version=3.0.1
fabric-rendering-v0-version=1.1.16
fabric-rendering-v1-version=1.10.10
fabric-resource-conditions-api-v1-version=2.0.5
fabric-resource-loader-v0-version=0.4.25
fabric-screen-api-v1-version=1.0.18
fabric-screen-handler-api-v1-version=1.2.2
fabric-textures-v0-version=1.0.14
fabric-transfer-api-v1-version=2.0.1
fabric-transitive-access-wideners-v1-version=1.0.3
fabric-convention-tags-v1-version=1.0.4
fabric-api-base-version=0.4.7
fabric-api-lookup-api-v1-version=1.6.3
fabric-biome-api-v1-version=9.0.7
fabric-blockrenderlayer-v1-version=1.1.15
fabric-command-api-v1-version=1.1.18
fabric-commands-v0-version=0.2.17
fabric-containers-v0-version=0.1.24
fabric-content-registries-v0-version=3.0.11
fabric-crash-report-info-v1-version=0.1.13
fabric-data-generation-api-v1-version=4.0.1
fabric-dimensions-v1-version=2.1.22
fabric-entity-events-v1-version=1.4.14
fabric-events-interaction-v0-version=0.4.24
fabric-events-lifecycle-v0-version=0.2.19
fabric-game-rule-api-v1-version=1.0.16
fabric-gametest-api-v1-version=1.0.24
fabric-item-api-v1-version=1.4.4
fabric-item-groups-v0-version=0.3.19
fabric-key-binding-api-v1-version=1.0.15
fabric-keybindings-v0-version=0.2.13
fabric-lifecycle-events-v1-version=2.0.6
fabric-loot-tables-v1-version=1.0.14
fabric-mining-level-api-v1-version=2.1.3
fabric-models-v0-version=0.3.11
fabric-networking-api-v1-version=1.0.24
fabric-networking-v0-version=0.3.11
fabric-object-builder-api-v1-version=4.0.1
fabric-particles-v1-version=1.0.4
fabric-registry-sync-v0-version=0.9.12
fabric-renderer-api-v1-version=1.0.4
fabric-renderer-indigo-version=0.6.2
fabric-renderer-registries-v1-version=3.2.15
fabric-rendering-data-attachment-v1-version=0.3.10
fabric-rendering-fluids-v1-version=3.0.2
fabric-rendering-v0-version=1.1.17
fabric-rendering-v1-version=1.10.11
fabric-resource-conditions-api-v1-version=2.0.6
fabric-resource-loader-v0-version=0.4.26
fabric-screen-api-v1-version=1.0.19
fabric-screen-handler-api-v1-version=1.2.3
fabric-textures-v0-version=1.0.15
fabric-transfer-api-v1-version=2.0.2
fabric-transitive-access-wideners-v1-version=1.0.4
fabric-convention-tags-v1-version=1.0.5