This commit is contained in:
modmuss50 2023-02-15 19:54:58 +00:00
parent fefb8dfc55
commit e45f7c6532
30 changed files with 104 additions and 89 deletions
fabric-api-base/src/testmod/java/net/fabricmc/fabric/test/base
fabric-biome-api-v1/src
main
java/net/fabricmc/fabric/impl/biome
resources
testmod/resources/data/fabric-biome-api-v1-testmod/worldgen/placed_feature
fabric-data-generation-api-v1/src
main/resources
testmod/java/net/fabricmc/fabric/test/datagen
fabric-entity-events-v1/src/testmod/java/net/fabricmc/fabric/test/entity/event
fabric-item-group-api-v1/src
client/java/net/fabricmc/fabric/mixin/itemgroup/client
main
java/net/fabricmc/fabric
api/itemgroup/v1
mixin/itemgroup
resources
fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle
fabric-object-builder-api-v1/src
client/java/net/fabricmc/fabric/mixin/object/builder/client
main
testmod/java/net/fabricmc/fabric/test/object/builder
fabric-renderer-indigo/src/client/java/net/fabricmc/fabric
impl/client/indigo/renderer/render
mixin/client/indigo/renderer
fabric-rendering-v1/src/client/java/net/fabricmc/fabric
api/client/rendering/v1
mixin/client/rendering
fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/fluid
fabric-transitive-access-wideners-v1/src/main/resources
gradle.properties

View file

@ -70,7 +70,7 @@ public class FabricApiAutoTestClient implements ClientModInitializer {
final boolean onboardAccessibility = submitAndWait(client -> client.options.onboardAccessibility);
if (!onboardAccessibility) {
if (onboardAccessibility) {
waitForScreen(AccessibilityOnboardingScreen.class);
takeScreenshot("onboarding_screen");
clickScreenButton("gui.continue");

View file

@ -35,6 +35,7 @@ import net.minecraft.client.gui.widget.ClickableWidget;
import net.minecraft.client.gui.widget.CyclingButtonWidget;
import net.minecraft.client.gui.widget.GridWidget;
import net.minecraft.client.gui.widget.PressableWidget;
import net.minecraft.client.gui.widget.Widget;
import net.minecraft.client.option.Perspective;
import net.minecraft.client.util.ScreenshotRecorder;
import net.minecraft.text.Text;
@ -104,8 +105,8 @@ public final class FabricClientTestHelper {
return true;
}
if (drawable instanceof GridWidget gridWidget) {
gridWidget.forEachChild(clickableWidget -> pressMatchingButton(clickableWidget, buttonText));
if (drawable instanceof Widget widget) {
widget.forEachChild(clickableWidget -> pressMatchingButton(clickableWidget, buttonText));
}
}

View file

@ -104,7 +104,7 @@ public final class NetherBiomeData {
if (biomeSource instanceof MultiNoiseBiomeSource multiNoiseBiomeSource) {
if (((BiomeSourceAccess) multiNoiseBiomeSource).fabric_shouldModifyBiomeEntries() && multiNoiseBiomeSource.matchesInstance(MultiNoiseBiomeSource.Preset.NETHER)) {
multiNoiseBiomeSource.biomeEntries = NetherBiomeData.withModdedBiomeEntries(
MultiNoiseBiomeSource.Preset.NETHER.biomeSourceFunction.apply(biomeRegistry),
MultiNoiseBiomeSource.Preset.NETHER.biomeSourceFunction.apply(biomeRegistry::getOrThrow),
biomeRegistry);
multiNoiseBiomeSource.biomes = multiNoiseBiomeSource.biomeEntries.getEntries().stream().map(Pair::getSecond).collect(Collectors.toSet());
((BiomeSourceAccess) multiNoiseBiomeSource).fabric_setModifyBiomeEntries(false);

View file

@ -4,7 +4,7 @@ accessible class net/minecraft/world/biome/Biome$Weather
# Used to set nether biomes
accessible field net/minecraft/world/biome/source/MultiNoiseBiomeSource instance Ljava/util/Optional;
accessible class net/minecraft/world/biome/source/MultiNoiseBiomeSource$Instance
accessible field net/minecraft/world/biome/source/MultiNoiseBiomeSource$Preset biomeSourceFunction Ljava/util/function/Function;
accessible field net/minecraft/world/biome/source/MultiNoiseBiomeSource$Preset biomeSourceFunction Lnet/minecraft/world/biome/source/MultiNoiseBiomeSource$Preset$class_8165;
accessible field net/minecraft/world/biome/source/MultiNoiseBiomeSource biomeEntries Lnet/minecraft/world/biome/source/util/MultiNoiseUtil$Entries;
mutable field net/minecraft/world/biome/source/MultiNoiseBiomeSource biomeEntries Lnet/minecraft/world/biome/source/util/MultiNoiseUtil$Entries;

View file

@ -13,7 +13,7 @@
"placement": [
{
"type": "minecraft:count",
"count": 2
"count": 1
},
{
"type": "minecraft:in_square"
@ -21,6 +21,10 @@
{
"type": "minecraft:heightmap",
"heightmap": "WORLD_SURFACE"
},
{
"type": "minecraft:rarity_filter",
"chance": 25
}
]
}

View file

@ -184,6 +184,7 @@ transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerTintableCross (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;Lnet/minecraft/data/client/TextureMap;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerTintableCrossBlockState (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerTintableCrossBlockState (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;Lnet/minecraft/data/client/TextureMap;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator method_49374 (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;Lnet/minecraft/state/property/Property;[I)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerFlowerPotPlant (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerCoralFan (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerGourd (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
@ -197,6 +198,7 @@ transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerBuiltinWithParticle (Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerBuiltinWithParticle (Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerWoolAndCarpet (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator method_49378 (Lnet/minecraft/block/Block;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerRandomHorizontalRotations (Lnet/minecraft/data/client/TexturedModel$Factory;[Lnet/minecraft/block/Block;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerSouthDefaultHorizontalFacing (Lnet/minecraft/data/client/TexturedModel$Factory;[Lnet/minecraft/block/Block;)V
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerGlassPane (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
@ -275,6 +277,7 @@ transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableG
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator seagrassDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator tallGrassDrops (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator candleDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator method_49358 (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator candleCakeDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator generate ()V
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator addVinePlantDrop (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V

View file

@ -260,8 +260,8 @@ public class DataGeneratorTestEntrypoint implements DataGeneratorEntrypoint {
@Override
protected void configure(RegistryWrapper.WrapperLookup registries) {
getOrCreateTagBuilder(BlockTags.FIRE).add(SIMPLE_BLOCK);
getOrCreateTagBuilder(BlockTags.DIRT).setReplace(true).add(SIMPLE_BLOCK);
getOrCreateTagBuilder(BlockTags.FIRE).setReplace(true).add(SIMPLE_BLOCK);
getOrCreateTagBuilder(BlockTags.DIRT).add(SIMPLE_BLOCK);
getOrCreateTagBuilder(BlockTags.ACACIA_LOGS).forceAddTag(BlockTags.ANIMALS_SPAWNABLE_ON);
}
}

View file

@ -23,7 +23,7 @@ import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Material;
import net.minecraft.class_8111;
import net.minecraft.entity.damage.DamageTypes;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.BlockItem;
@ -82,7 +82,7 @@ public final class EntityEventTests implements ModInitializer {
// No fall damage if holding a feather in the main hand
ServerLivingEntityEvents.ALLOW_DAMAGE.register((entity, source, amount) -> {
if (source.method_48793().matchesKey(class_8111.field_42345) && entity.getStackInHand(Hand.MAIN_HAND).isOf(Items.FEATHER)) {
if (source.getTypeRegistryEntry().matchesKey(DamageTypes.FALL) && entity.getStackInHand(Hand.MAIN_HAND).isOf(Items.FEATHER)) {
LOGGER.info("Avoided {} of fall damage by holding a feather", amount);
return false;
}

View file

@ -76,7 +76,7 @@ public abstract class CreativeInventoryScreenMixin<T extends ScreenHandler> exte
@Override
public boolean fabric_isButtonVisible(FabricCreativeGuiComponents.Type type) {
return ItemGroups.getGroupsToDisplay().size() > (Objects.requireNonNull(ItemGroups.field_42466).hasPermissions() ? 14 : 13);
return ItemGroups.getGroupsToDisplay().size() > (Objects.requireNonNull(ItemGroups.displayContext).hasPermissions() ? 14 : 13);
}
@Override

View file

@ -34,18 +34,18 @@ import net.minecraft.resource.featuretoggle.FeatureSet;
*/
@ApiStatus.Experimental
public class FabricItemGroupEntries implements ItemGroup.Entries {
private final ItemGroup.class_8128 context;
private final ItemGroup.DisplayContext context;
private final List<ItemStack> displayStacks;
private final List<ItemStack> searchTabStacks;
@ApiStatus.Internal
public FabricItemGroupEntries(ItemGroup.class_8128 context, List<ItemStack> displayStacks, List<ItemStack> searchTabStacks) {
public FabricItemGroupEntries(ItemGroup.DisplayContext context, List<ItemStack> displayStacks, List<ItemStack> searchTabStacks) {
this.context = context;
this.displayStacks = displayStacks;
this.searchTabStacks = searchTabStacks;
}
public ItemGroup.class_8128 getContext() {
public ItemGroup.DisplayContext getContext() {
return context;
}

View file

@ -63,7 +63,7 @@ abstract class ItemGroupMixin implements IdentifiableItemGroup, FabricItemGroup
@SuppressWarnings("ConstantConditions")
@Inject(method = "updateEntries", at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemGroup;reloadSearchProvider()V"))
public void getStacks(ItemGroup.class_8128 context, CallbackInfo ci) {
public void getStacks(ItemGroup.DisplayContext context, CallbackInfo ci) {
ItemGroup self = (ItemGroup) (Object) this;
// Do not modify special item groups (except Operator Blocks) at all.

View file

@ -14,7 +14,7 @@ transitive-accessible field net/minecraft/item/ItemGroups INGREDIENTS Lnet/minec
transitive-accessible field net/minecraft/item/ItemGroups SPAWN_EGGS Lnet/minecraft/item/ItemGroup;
transitive-accessible field net/minecraft/item/ItemGroups OPERATOR Lnet/minecraft/item/ItemGroup;
transitive-accessible field net/minecraft/item/ItemGroups INVENTORY Lnet/minecraft/item/ItemGroup;
accessible field net/minecraft/item/ItemGroups field_42466 Lnet/minecraft/item/ItemGroup$class_8128;
accessible field net/minecraft/item/ItemGroups displayContext Lnet/minecraft/item/ItemGroup$DisplayContext;
transitive-accessible class net/minecraft/item/ItemGroup$StackVisibility
transitive-accessible class net/minecraft/item/ItemGroup$Entries

View file

@ -48,7 +48,7 @@ public abstract class MinecraftServerMixin {
ServerLifecycleEvents.SERVER_STARTING.invoker().onServerStarting((MinecraftServer) (Object) this);
}
@Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;setFavicon(Lnet/minecraft/server/ServerMetadata;)V", ordinal = 0), method = "runServer")
@Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;method_49385()Lnet/minecraft/server/ServerMetadata;", ordinal = 0), method = "runServer")
private void afterSetupServer(CallbackInfo info) {
ServerLifecycleEvents.SERVER_STARTED.invoker().onServerStarted((MinecraftServer) (Object) this);
}

View file

@ -30,16 +30,16 @@ import net.minecraft.util.SignType;
public class EntityModelLayersMixin {
@Inject(method = "createSign", at = @At("HEAD"), cancellable = true)
private static void createSign(SignType type, CallbackInfoReturnable<EntityModelLayer> cir) {
if (type.getName().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(type.getName());
if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(type.name());
cir.setReturnValue(new EntityModelLayer(new Identifier(identifier.getNamespace(), "sign/" + identifier.getPath()), "main"));
}
}
@Inject(method = "createHangingSign", at = @At("HEAD"), cancellable = true)
private static void createHangingSign(SignType type, CallbackInfoReturnable<EntityModelLayer> cir) {
if (type.getName().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(type.getName());
if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(type.name());
cir.setReturnValue(new EntityModelLayer(new Identifier(identifier.getNamespace(), "hanging_sign/" + identifier.getPath()), "main"));
}
}

View file

@ -33,8 +33,8 @@ public abstract class HangingSignEditScreenMixin extends AbstractSignEditScreen
@ModifyArg(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Identifier;<init>(Ljava/lang/String;)V"))
private String init(String id) {
if (signType.getName().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(signType.getName());
if (signType.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(signType.name());
return identifier.getNamespace() + ":textures/gui/hanging_signs/" + identifier.getPath() + ".png";
}

View file

@ -36,16 +36,16 @@ public class TexturedRenderLayersMixin {
@Inject(method = "createSignTextureId", at = @At("HEAD"), cancellable = true)
private static void modifyTextureId(SignType type, CallbackInfoReturnable<SpriteIdentifier> cir) {
if (type.getName().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(type.getName());
if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(type.name());
cir.setReturnValue(new SpriteIdentifier(SIGNS_ATLAS_TEXTURE, new Identifier(identifier.getNamespace(), "entity/signs/" + identifier.getPath())));
}
}
@Inject(method = "createHangingSignTextureId", at = @At("HEAD"), cancellable = true)
private static void modifyHangingTextureId(SignType type, CallbackInfoReturnable<SpriteIdentifier> cir) {
if (type.getName().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(type.getName());
if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
Identifier identifier = new Identifier(type.name());
cir.setReturnValue(new SpriteIdentifier(SIGNS_ATLAS_TEXTURE, new Identifier(identifier.getNamespace(), "entity/signs/hanging/" + identifier.getPath())));
}
}

View file

@ -74,7 +74,7 @@ public class FabricBlockSettings extends AbstractBlock.Settings {
thisAccessor.setOpaque(otherAccessor.getOpaque());
thisAccessor.setIsAir(otherAccessor.getIsAir());
thisAccessor.setToolRequired(otherAccessor.isToolRequired());
this.offsetType(otherAccessor.getOffsetType());
thisAccessor.setOffsetType(otherAccessor.getOffsetType());
thisAccessor.setBlockBreakParticles(otherAccessor.getBlockBreakParticles());
thisAccessor.setRequiredFeatures(otherAccessor.getRequiredFeatures());
@ -274,14 +274,8 @@ public class FabricBlockSettings extends AbstractBlock.Settings {
}
@Override
public FabricBlockSettings offsetType(AbstractBlock.OffsetType offsetType) {
super.offsetType(offsetType);
return this;
}
@Override
public FabricBlockSettings offsetType(Function<BlockState, AbstractBlock.OffsetType> offsetType) {
super.offsetType(offsetType);
public FabricBlockSettings method_49229(AbstractBlock.OffsetType offsetType) {
super.method_49229(offsetType);
return this;
}

View file

@ -57,7 +57,6 @@ public class FabricEntityTypeBuilder<T extends Entity> {
private boolean spawnableFarFromPlayer;
private EntityDimensions dimensions = EntityDimensions.changing(-1.0f, -1.0f);
private ImmutableSet<Block> specificSpawnBlocks = ImmutableSet.of();
private boolean tickable = true;
private FeatureSet requiredFeatures = FeatureFlags.VANILLA_FEATURES;
@ -267,11 +266,6 @@ public class FabricEntityTypeBuilder<T extends Entity> {
return this;
}
public FabricEntityTypeBuilder<T> disableTicking() {
this.tickable = false;
return this;
}
/**
* Creates the entity type.
*
@ -280,7 +274,7 @@ public class FabricEntityTypeBuilder<T extends Entity> {
public EntityType<T> build() {
// Modded DFU is a dream, currently not possible without screwing it up.
return new FabricEntityType<>(this.factory, this.spawnGroup, this.saveable, this.summonable, this.fireImmune, this.spawnableFarFromPlayer, this.specificSpawnBlocks, dimensions, trackRange, trackedUpdateRate, forceTrackedVelocityUpdates, this.tickable, this.requiredFeatures);
return new FabricEntityType<>(this.factory, this.spawnGroup, this.saveable, this.summonable, this.fireImmune, this.spawnableFarFromPlayer, this.specificSpawnBlocks, dimensions, trackRange, trackedUpdateRate, forceTrackedVelocityUpdates, this.requiredFeatures);
}
/**

View file

@ -16,6 +16,9 @@
package net.fabricmc.fabric.api.object.builder.v1.sign;
import net.minecraft.class_8177;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Identifier;
import net.minecraft.util.SignType;
@ -34,9 +37,21 @@ public final class SignTypeRegistry {
* Creates and registers a {@link SignType}.
*
* @param id the id of this {@link SignType}
* @param type the {@link class_8177} for this sign
* @return a new {@link SignType}.
*/
public static SignType registerSignType(Identifier id) {
return SignType.register(new SignType(id.toString()));
public static SignType registerSignType(Identifier id, class_8177 type) {
return SignType.register(new SignType(id.toString(), type));
}
/**
* Creates and registers a {@link SignType}.
*
* @param id the id of this {@link SignType}
* @param type the {@link class_8177} for this sign
* @return a new {@link SignType}.
*/
public static SignType registerSignType(Identifier id, class_8177 type, BlockSoundGroup soundType, BlockSoundGroup hangingSignSoundType, SoundEvent fenceGateClose, SoundEvent fenceGateOpen) {
return SignType.register(new SignType(id.toString(), type, soundType, hangingSignSoundType, fenceGateClose, fenceGateOpen));
}
}

View file

@ -28,8 +28,8 @@ import net.minecraft.resource.featuretoggle.FeatureSet;
public class FabricEntityType<T extends Entity> extends EntityType<T> {
private final Boolean alwaysUpdateVelocity;
public FabricEntityType(EntityType.EntityFactory<T> factory, SpawnGroup spawnGroup, boolean bl, boolean summonable, boolean fireImmune, boolean spawnableFarFromPlayer, ImmutableSet<Block> spawnBlocks, EntityDimensions entityDimensions, int maxTrackDistance, int trackTickInterval, Boolean alwaysUpdateVelocity, boolean tickable, FeatureSet featureSet) {
super(factory, spawnGroup, bl, summonable, fireImmune, spawnableFarFromPlayer, spawnBlocks, entityDimensions, maxTrackDistance, trackTickInterval, tickable, featureSet);
public FabricEntityType(EntityType.EntityFactory<T> factory, SpawnGroup spawnGroup, boolean bl, boolean summonable, boolean fireImmune, boolean spawnableFarFromPlayer, ImmutableSet<Block> spawnBlocks, EntityDimensions entityDimensions, int maxTrackDistance, int trackTickInterval, Boolean alwaysUpdateVelocity, FeatureSet featureSet) {
super(factory, spawnGroup, bl, summonable, fireImmune, spawnableFarFromPlayer, spawnBlocks, entityDimensions, maxTrackDistance, trackTickInterval, featureSet);
this.alwaysUpdateVelocity = alwaysUpdateVelocity;
}

View file

@ -16,6 +16,7 @@
package net.fabricmc.fabric.mixin.object.builder;
import java.util.Optional;
import java.util.function.Function;
import java.util.function.ToIntFunction;
@ -97,8 +98,8 @@ public interface AbstractBlockSettingsAccessor {
@Accessor
AbstractBlock.ContextPredicate getEmissiveLightingPredicate();
@Accessor
Function<BlockState, AbstractBlock.OffsetType> getOffsetType();
@Accessor("field_42818")
Optional<AbstractBlock.class_8176> getOffsetType();
@Accessor
Identifier getLootTableId();
@ -142,4 +143,7 @@ public interface AbstractBlockSettingsAccessor {
@Accessor
void setRequiredFeatures(FeatureSet requiredFeatures);
@Accessor("field_42818")
void setOffsetType(Optional<AbstractBlock.class_8176> type);
}

View file

@ -12,5 +12,4 @@ accessible method net/minecraft/entity/SpawnRestriction register (Lnet/minecraft
accessible field net/minecraft/village/VillagerType BIOME_TO_TYPE Ljava/util/Map;
accessible method net/minecraft/village/VillagerType <init> (Ljava/lang/String;)V
accessible method net/minecraft/util/SignType <init> (Ljava/lang/String;)V
accessible method net/minecraft/util/SignType register (Lnet/minecraft/util/SignType;)Lnet/minecraft/util/SignType;

View file

@ -25,6 +25,7 @@ import net.minecraft.block.WallSignBlock;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.block.entity.HangingSignBlockEntity;
import net.minecraft.block.entity.SignBlockEntity;
import net.minecraft.class_8177;
import net.minecraft.item.HangingSignItem;
import net.minecraft.item.Item;
import net.minecraft.item.SignItem;
@ -39,7 +40,7 @@ import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityT
import net.fabricmc.fabric.api.object.builder.v1.sign.SignTypeRegistry;
public class TealSignTest implements ModInitializer {
public static final SignType TEAL_TYPE = SignTypeRegistry.registerSignType(ObjectBuilderTestConstants.id("teal"));
public static final SignType TEAL_TYPE = SignTypeRegistry.registerSignType(ObjectBuilderTestConstants.id("teal"), class_8177.field_42823);
public static final SignBlock TEAL_SIGN = new SignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), TEAL_TYPE) {
@Override
public TealSign createBlockEntity(BlockPos pos, BlockState state) {

View file

@ -35,7 +35,7 @@ import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.json.Mode;
import net.minecraft.client.render.model.json.ModelTransformationMode;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
@ -82,7 +82,7 @@ public class ItemRenderContext extends AbstractRenderContext {
private final FallbackConsumer fallbackConsumer = new FallbackConsumer();
private ItemStack itemStack;
private Mode transformMode;
private ModelTransformationMode transformMode;
private MatrixStack matrixStack;
private VertexConsumerProvider vertexConsumerProvider;
private int lightmap;
@ -98,7 +98,7 @@ public class ItemRenderContext extends AbstractRenderContext {
this.colorMap = colorMap;
}
public void renderModel(ItemStack itemStack, Mode transformMode, boolean invert, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int lightmap, int overlay, BakedModel model, VanillaQuadHandler vanillaHandler) {
public void renderModel(ItemStack itemStack, ModelTransformationMode transformMode, boolean invert, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int lightmap, int overlay, BakedModel model, VanillaQuadHandler vanillaHandler) {
this.itemStack = itemStack;
this.transformMode = transformMode;
this.matrixStack = matrixStack;
@ -135,7 +135,7 @@ public class ItemRenderContext extends AbstractRenderContext {
isDefaultTranslucent = false;
}
if (transformMode != Mode.GUI && !transformMode.isFirstPerson()) {
if (transformMode != ModelTransformationMode.GUI && !transformMode.isFirstPerson()) {
isTranslucentDirect = false;
}
}

View file

@ -28,7 +28,7 @@ import net.minecraft.client.color.item.ItemColors;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.json.Mode;
import net.minecraft.client.render.model.json.ModelTransformationMode;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
@ -49,8 +49,8 @@ public abstract class ItemRendererMixin {
@Unique
private final VanillaQuadHandler fabric_vanillaHandler = new IndigoQuadHandler((ItemRenderer) (Object) this);
@Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/model/BakedModel;isBuiltin()Z"), method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/Mode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;)V", cancellable = true)
public void hook_renderItem(ItemStack stack, Mode transformMode, boolean invert, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, int overlay, BakedModel model, CallbackInfo ci) {
@Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/model/BakedModel;isBuiltin()Z"), method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;)V", cancellable = true)
public void hook_renderItem(ItemStack stack, ModelTransformationMode transformMode, boolean invert, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, int overlay, BakedModel model, CallbackInfo ci) {
if (!((FabricBakedModel) model).isVanillaAdapter()) {
fabric_contexts.get().renderModel(stack, transformMode, invert, matrixStack, vertexConsumerProvider, light, overlay, model, fabric_vanillaHandler);
matrixStack.pop();

View file

@ -19,7 +19,7 @@ package net.fabricmc.fabric.api.client.rendering.v1;
import org.jetbrains.annotations.Nullable;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.model.json.Mode;
import net.minecraft.client.render.model.json.ModelTransformationMode;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.Item;
import net.minecraft.item.ItemConvertible;
@ -102,6 +102,6 @@ public interface BuiltinItemRendererRegistry {
* @param light packed lightmap coordinates
* @param overlay the overlay UV passed to {@link net.minecraft.client.render.VertexConsumer#overlay(int)}
*/
void render(ItemStack stack, Mode mode, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay);
void render(ItemStack stack, ModelTransformationMode mode, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay);
}
}

View file

@ -24,7 +24,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.item.BuiltinModelItemRenderer;
import net.minecraft.client.render.model.json.Mode;
import net.minecraft.client.render.model.json.ModelTransformationMode;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
@ -33,7 +33,7 @@ import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry;
@Mixin(BuiltinModelItemRenderer.class)
abstract class BuiltinModelItemRendererMixin {
@Inject(method = "render", at = @At("HEAD"), cancellable = true)
private void fabric_onRender(ItemStack stack, Mode mode, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, CallbackInfo info) {
private void fabric_onRender(ItemStack stack, ModelTransformationMode mode, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, CallbackInfo info) {
@Nullable
BuiltinItemRendererRegistry.DynamicItemRenderer renderer = BuiltinItemRendererRegistry.INSTANCE.get(stack.getItem());

View file

@ -63,7 +63,7 @@ public class WaterPotionStorage implements ExtractionOnlyStorage<FluidVariant>,
private ItemVariant mapToGlassBottle() {
ItemStack newStack = context.getItemVariant().toStack();
PotionUtil.setPotion(newStack, Potions.field_8984);
PotionUtil.setPotion(newStack, Potions.EMPTY);
return ItemVariant.of(Items.GLASS_BOTTLE, newStack.getNbt());
}

View file

@ -126,7 +126,7 @@ transitive-accessible method net/minecraft/block/BarrierBlock <init> (Lnet/minec
transitive-accessible method net/minecraft/block/BigDripleafBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/BigDripleafStemBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/BlastFurnaceBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/ButtonBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;IZLnet/minecraft/sound/SoundEvent;Lnet/minecraft/sound/SoundEvent;)V
transitive-accessible method net/minecraft/block/ButtonBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;IZ)V
transitive-accessible method net/minecraft/block/CactusBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/CakeBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/CandleCakeBlock <init> (Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Settings;)V
@ -148,7 +148,7 @@ transitive-accessible method net/minecraft/block/DeadCoralFanBlock <init> (Lnet/
transitive-accessible method net/minecraft/block/DeadCoralWallFanBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/DirtPathBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/DispenserBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/DoorBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/sound/SoundEvent;Lnet/minecraft/sound/SoundEvent;)V
transitive-accessible method net/minecraft/block/DoorBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;)V
transitive-accessible method net/minecraft/block/DyedCarpetBlock <init> (Lnet/minecraft/util/DyeColor;Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/EnchantingTableBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/EndGatewayBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
@ -181,7 +181,7 @@ transitive-accessible method net/minecraft/block/PaneBlock <init> (Lnet/minecraf
transitive-accessible method net/minecraft/block/PlantBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/PlayerSkullBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/PoweredRailBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/PressurePlateBlock <init> (Lnet/minecraft/block/PressurePlateBlock$ActivationRule;Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/sound/SoundEvent;Lnet/minecraft/sound/SoundEvent;)V
transitive-accessible method net/minecraft/block/PressurePlateBlock <init> (Lnet/minecraft/block/PressurePlateBlock$ActivationRule;Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;)V
transitive-accessible method net/minecraft/block/PumpkinBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/RailBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/RedstoneTorchBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
@ -206,14 +206,14 @@ transitive-accessible method net/minecraft/block/StructureVoidBlock <init> (Lnet
transitive-accessible method net/minecraft/block/SugarCaneBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/TorchBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/particle/ParticleEffect;)V
transitive-accessible method net/minecraft/block/TransparentBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/TrapdoorBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/sound/SoundEvent;Lnet/minecraft/sound/SoundEvent;)V
transitive-accessible method net/minecraft/block/TrapdoorBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;)V
transitive-accessible method net/minecraft/block/WallMountedBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/WallPlayerSkullBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/WallRedstoneTorchBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/WallSkullBlock <init> (Lnet/minecraft/block/SkullBlock$SkullType;Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/WallTorchBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/particle/ParticleEffect;)V
transitive-accessible method net/minecraft/block/WallWitherSkullBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/WeightedPressurePlateBlock <init> (ILnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/sound/SoundEvent;Lnet/minecraft/sound/SoundEvent;)V
transitive-accessible method net/minecraft/block/WeightedPressurePlateBlock <init> (ILnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;)V
transitive-accessible method net/minecraft/block/WetSpongeBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
transitive-accessible method net/minecraft/block/WitherSkullBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
@ -275,10 +275,10 @@ transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_GLINT
transitive-accessible field net/minecraft/client/render/RenderPhase DIRECT_ENTITY_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase CRUMBLING_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase TEXT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase field_42517 Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase TEXT_BACKGROUND_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase TEXT_INTENSITY_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase TRANSPARENT_TEXT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase field_42518 Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase TRANSPARENT_TEXT_BACKGROUND_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase TRANSPARENT_TEXT_INTENSITY_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase LIGHTNING_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
transitive-accessible field net/minecraft/client/render/RenderPhase TRIPWIRE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;

View file

@ -2,9 +2,9 @@ org.gradle.jvmargs=-Xmx2560M
org.gradle.parallel=true
fabric.loom.multiProjectOptimisation=true
version=0.74.0
minecraft_version=23w06a
yarn_version=+build.2
version=0.74.1
minecraft_version=23w07a
yarn_version=+build.1
loader_version=0.14.14
installer_version=0.11.1
@ -12,52 +12,52 @@ prerelease=true
# Do not manually update, use the bumpversions task:
fabric-api-base-version=0.4.23
fabric-api-lookup-api-v1-version=1.6.22
fabric-biome-api-v1-version=13.0.2
fabric-api-lookup-api-v1-version=1.6.23
fabric-biome-api-v1-version=13.0.3
fabric-block-api-v1-version=1.0.5
fabric-blockrenderlayer-v1-version=1.1.32
fabric-command-api-v1-version=1.2.24
fabric-command-api-v2-version=2.2.3
fabric-commands-v0-version=0.2.41
fabric-containers-v0-version=0.1.49
fabric-content-registries-v0-version=3.5.4
fabric-content-registries-v0-version=3.5.5
fabric-crash-report-info-v1-version=0.2.14
fabric-data-generation-api-v1-version=11.3.0
fabric-data-generation-api-v1-version=11.3.1
fabric-dimensions-v1-version=2.1.44
fabric-entity-events-v1-version=1.5.11
fabric-entity-events-v1-version=1.5.12
fabric-events-interaction-v0-version=0.4.42
fabric-events-lifecycle-v0-version=0.2.48
fabric-events-lifecycle-v0-version=0.2.49
fabric-game-rule-api-v1-version=1.0.32
fabric-gametest-api-v1-version=1.2.0
fabric-item-api-v1-version=2.1.14
fabric-item-group-api-v1-version=3.0.0
fabric-item-group-api-v1-version=3.0.1
fabric-key-binding-api-v1-version=1.0.32
fabric-keybindings-v0-version=0.2.30
fabric-lifecycle-events-v1-version=2.2.12
fabric-lifecycle-events-v1-version=2.2.13
fabric-loot-api-v2-version=1.1.23
fabric-loot-tables-v1-version=1.1.27
fabric-message-api-v1-version=5.0.16
fabric-mining-level-api-v1-version=2.1.34
fabric-mining-level-api-v1-version=2.1.35
fabric-models-v0-version=0.3.29
fabric-networking-api-v1-version=1.2.19
fabric-networking-v0-version=0.3.36
fabric-object-builder-api-v1-version=5.5.0
fabric-object-builder-api-v1-version=6.0.0
fabric-particles-v1-version=1.0.22
fabric-recipe-api-v1-version=1.0.3
fabric-registry-sync-v0-version=2.0.7
fabric-renderer-api-v1-version=2.2.3
fabric-renderer-indigo-version=1.0.0
fabric-renderer-registries-v1-version=3.2.34
fabric-renderer-indigo-version=1.0.1
fabric-renderer-registries-v1-version=3.2.35
fabric-rendering-data-attachment-v1-version=0.3.27
fabric-rendering-fluids-v1-version=3.0.20
fabric-rendering-v0-version=1.1.37
fabric-rendering-v1-version=2.0.0
fabric-rendering-v0-version=1.1.38
fabric-rendering-v1-version=2.0.1
fabric-resource-conditions-api-v1-version=2.3.0
fabric-resource-loader-v0-version=0.10.8
fabric-screen-api-v1-version=1.0.43
fabric-screen-handler-api-v1-version=1.3.15
fabric-sound-api-v1-version=1.0.8
fabric-transfer-api-v1-version=2.1.18
fabric-transitive-access-wideners-v1-version=3.0.0
fabric-transfer-api-v1-version=2.1.19
fabric-transitive-access-wideners-v1-version=3.0.1
fabric-convention-tags-v1-version=1.2.4
fabric-client-tags-api-v1-version=1.0.14