Update Gradle/Loom and mappings. ()

* Update Gradle/Loom and mappings.

* Fix deprecations and enforce

* Review feedback

* More cleanup and deprecation fixes.
This commit is contained in:
modmuss50 2021-08-31 14:00:20 +01:00 committed by GitHub
parent 3fb13e467a
commit cbda9318cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 60 additions and 69 deletions
.github/workflows
build.gradle
fabric-api-lookup-api-v1/src/testmod/java/net/fabricmc/fabric/test/lookup/compat
fabric-biome-api-v1
fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/container
fabric-content-registries-v0
build.gradle
src
main/java/net/fabricmc/fabric
api/registry
mixin/content/registry
testmod/java/net/fabricmc/fabric/test/content/registry
fabric-game-rule-api-v1
fabric-item-api-v1/src/testmod/java/net/fabricmc/fabric/test/item
fabric-key-binding-api-v1/src/main/java/net/fabricmc/fabric/mixin/client/keybinding
fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest
fabric-object-builder-api-v1
fabric-renderer-api-v1/src
main/java/net/fabricmc/fabric/api/renderer/v1/model
testmod/java/net/fabricmc/fabric/test/renderer/simple/client
fabric-renderer-indigo/src/main/java/net/fabricmc/fabric
impl/client/indigo/renderer/render
mixin/client/indigo/renderer
fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering
fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen
fabric-screen-handler-api-v1
build.gradle
src
main/java/net/fabricmc/fabric/impl/screenhandler/client
testmod/java/net/fabricmc/fabric/test/screenhandler/item
fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric
api/transfer/v1
impl/transfer/fluid
gradle/wrapper

View file

@ -12,9 +12,9 @@ jobs:
steps:
- uses: actions/checkout@v1
- uses: gradle/wrapper-validation-action@v1
- run: ./gradlew check build publishToMavenLocal --stacktrace --parallel
- run: ./gradlew check build publishToMavenLocal --stacktrace --parallel --warning-mode=fail
- run: mkdir run && echo "eula=true" >> run/eula.txt
- run: ./gradlew runAutoTestServer --stacktrace
- run: ./gradlew runAutoTestServer --stacktrace --warning-mode=fail
- uses: actions/upload-artifact@v2
with:
name: Artifacts

View file

@ -9,8 +9,8 @@ plugins {
id "eclipse"
id "idea"
id "maven-publish"
id "fabric-loom" version "0.8.12" apply false
id "org.cadixdev.licenser" version "0.5.0"
id "fabric-loom" version "0.9.50" apply false
id "org.cadixdev.licenser" version "0.6.1"
id "org.ajoberstar.grgit" version "3.1.0"
id "com.matthewprenger.cursegradle" version "1.4.0"
id "com.modrinth.minotaur" version "1.1.0"
@ -21,8 +21,8 @@ def ENV = System.getenv()
class Globals {
static def baseVersion = "0.39.2"
static def mcVersion = "1.17.1"
static def yarnVersion = "+build.1"
static def loaderVersion = "0.11.3"
static def yarnVersion = "+build.46"
static def loaderVersion = "0.11.6"
static def preRelease = false
}
@ -133,7 +133,7 @@ allprojects {
}
loom {
shareCaches = true
shareRemapCaches = true
}
repositories {
@ -146,12 +146,12 @@ allprojects {
afterEvaluate {
remapJar {
input = file("${project.buildDir}/libs/$archivesBaseName-$version-dev.jar")
archiveName = "${archivesBaseName}-${version}.jar"
input = file("${project.buildDir}/libs/$archivesBaseName-${project.version}-dev.jar")
archiveFileName = "${archivesBaseName}-${project.version}.jar"
}
artifacts {
dev file: file("${project.buildDir}/libs/$archivesBaseName-$version-dev.jar"), type: "jar", builtBy: jar
dev file: file("${project.buildDir}/libs/$archivesBaseName-${project.version}-dev.jar"), type: "jar", builtBy: jar
}
processResources {
@ -239,20 +239,12 @@ subprojects {
testmodImplementation sourceSets.main.output
}
task remapMavenJar(type: Copy, dependsOn: remapJar) {
afterEvaluate {
from("${project.buildDir}/libs/$archivesBaseName-${version}.jar")
into("${project.buildDir}/libs/")
rename { String fn -> "$archivesBaseName-${version}-maven.jar" }
}
}
publishing {
publications {
mavenJava(MavenPublication) {
afterEvaluate {
artifact(file("${project.buildDir}/libs/$archivesBaseName-${version}-maven.jar")) {
builtBy remapMavenJar
artifact(remapJar) {
builtBy remapJar
}
artifact(sourcesJar) {
@ -269,17 +261,16 @@ subprojects {
}
task remapMavenJar(type: net.fabricmc.loom.task.RemapJarTask, dependsOn: jar) {
afterEvaluate {
input = file("${project.buildDir}/libs/${archivesBaseName}-${version}-dev.jar")
archiveName = "${archivesBaseName}-${version}-maven.jar"
addNestedDependencies = false
}
input = jar.archiveFile
archiveFileName = "${archivesBaseName}-${project.version}-maven.jar"
addNestedDependencies = false
}
build.dependsOn remapMavenJar
publishing {
publications {
mavenJava(MavenPublication) {
artifact(file("${project.buildDir}/libs/$archivesBaseName-${version}-maven.jar")) {
artifact(remapMavenJar) {
builtBy remapMavenJar
}

View file

@ -20,7 +20,7 @@ import net.minecraft.item.ItemStack;
final class ItemStackUtil {
public static boolean areEqualIgnoreCount(ItemStack s1, ItemStack s2) {
return s1.getItem() == s2.getItem() && ItemStack.areTagsEqual(s1, s2);
return s1.getItem() == s2.getItem() && ItemStack.areNbtEqual(s1, s2);
}
private ItemStackUtil() {

View file

@ -1,8 +1,8 @@
archivesBaseName = "fabric-biome-api-v1"
version = getSubprojectVersion(project, "3.2.0")
minecraft {
accessWidener = file("src/main/resources/fabric-biome-api-v1.accesswidener")
loom {
accessWidenerPath = file("src/main/resources/fabric-biome-api-v1.accesswidener")
}
dependencies {

View file

@ -87,7 +87,7 @@ public class ScreenProviderRegistryImpl implements ScreenProviderRegistry {
HandledScreen<?> gui = factory.create(syncId, identifier, player, buf);
player.currentScreenHandler = gui.getScreenHandler();
client.openScreen(gui);
client.setScreen(gui);
} finally {
buf.release();
}

View file

@ -2,7 +2,7 @@ archivesBaseName = "fabric-content-registries-v0"
version = getSubprojectVersion(project, "0.3.0")
loom {
accessWidener = file("src/main/resources/fabric-content-registries-v0.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-content-registries-v0.accesswidener")
}
moduleDependencies(project, [

View file

@ -44,9 +44,9 @@ public final class TillableBlockRegistry {
* a block. If the predicate returns {@code true}, an action is executed. Default instances of these can be created
* with these {@link HoeItem} methods:
* <ul>
* <li>usage predicate for farmland-like behavior: {@link HoeItem#usagePredicate(ItemUsageContext)}</li>
* <li>simple action: {@link HoeItem#getTillingConsumer(BlockState)}</li>
* <li>simple action that also drops an item: {@link HoeItem#getTillingConsumer(BlockState, ItemConvertible)}</li>
* <li>usage predicate for farmland-like behavior: {@link HoeItem#canTillFarmland(ItemUsageContext)}</li>
* <li>simple action: {@link HoeItem#createTillAction(BlockState)} (BlockState)}</li>
* <li>simple action that also drops an item: {@link HoeItem#createTillAndDropAction(BlockState, ItemConvertible)}</li>
* </ul>
*
* @param input the input block that can be tilled
@ -55,7 +55,7 @@ public final class TillableBlockRegistry {
*/
public static void register(Block input, Predicate<ItemUsageContext> usagePredicate, Consumer<ItemUsageContext> tillingAction) {
Objects.requireNonNull(input, "input block cannot be null");
HoeItemAccessor.getTilledBlocks().put(input, Pair.of(usagePredicate, tillingAction));
HoeItemAccessor.getTillingActions().put(input, Pair.of(usagePredicate, tillingAction));
}
/**
@ -67,7 +67,7 @@ public final class TillableBlockRegistry {
*/
public static void register(Block input, Predicate<ItemUsageContext> usagePredicate, BlockState tilled) {
Objects.requireNonNull(tilled, "tilled block state cannot be null");
register(input, usagePredicate, HoeItem.getTillingConsumer(tilled));
register(input, usagePredicate, HoeItem.createTillAction(tilled));
}
/**
@ -81,6 +81,6 @@ public final class TillableBlockRegistry {
public static void register(Block input, Predicate<ItemUsageContext> usagePredicate, BlockState tilled, ItemConvertible droppedItem) {
Objects.requireNonNull(tilled, "tilled block state cannot be null");
Objects.requireNonNull(droppedItem, "dropped item cannot be null");
register(input, usagePredicate, HoeItem.getTillingConsumer(tilled, droppedItem));
register(input, usagePredicate, HoeItem.createTillAndDropAction(tilled, droppedItem));
}
}

View file

@ -30,8 +30,8 @@ import net.minecraft.item.ItemUsageContext;
@Mixin(HoeItem.class)
public interface HoeItemAccessor {
@Accessor("TILLED_BLOCKS")
static Map<Block, Pair<Predicate<ItemUsageContext>, Consumer<ItemUsageContext>>> getTilledBlocks() {
@Accessor("TILLING_ACTIONS")
static Map<Block, Pair<Predicate<ItemUsageContext>, Consumer<ItemUsageContext>>> getTillingActions() {
throw new AssertionError("Untransformed @Accessor");
}
}

View file

@ -44,6 +44,6 @@ public final class ContentRegistryTest implements ModInitializer {
// expected behavior
}
TillableBlockRegistry.register(Blocks.GREEN_WOOL, context -> true, HoeItem.getTillingConsumer(Blocks.LIME_WOOL.getDefaultState()));
TillableBlockRegistry.register(Blocks.GREEN_WOOL, context -> true, HoeItem.createTillAction(Blocks.LIME_WOOL.getDefaultState()));
}
}

View file

@ -1,8 +1,8 @@
archivesBaseName = "fabric-game-rule-api-v1"
version = getSubprojectVersion(project, "1.0.7")
minecraft {
accessWidener = file("src/main/resources/fabric-game-rule-api-v1.accesswidener")
loom {
accessWidenerPath = file("src/main/resources/fabric-game-rule-api-v1.accesswidener")
}
dependencies {

View file

@ -39,7 +39,7 @@ public class CustomDamageTest implements ModInitializer {
if (entity.isSneaking()) {
return amount;
} else {
NbtCompound tag = stack.getOrCreateTag();
NbtCompound tag = stack.getOrCreateNbt();
tag.putInt("weird", tag.getInt("weird") + 1);
return 0;
}
@ -52,7 +52,7 @@ public class CustomDamageTest implements ModInitializer {
@Override
public Text getName(ItemStack stack) {
int v = stack.getOrCreateTag().getInt("weird");
int v = stack.getOrCreateNbt().getInt("weird");
return super.getName(stack).shallowCopy().append(" (Weird Value: " + v + ")");
}
}

View file

@ -25,7 +25,7 @@ import net.minecraft.client.option.KeyBinding;
@Mixin(KeyBinding.class)
public interface KeyBindingAccessor {
@Accessor("categoryOrderMap")
@Accessor("CATEGORY_ORDER_MAP")
static Map<String, Integer> fabric_getCategoryMap() {
throw new AssertionError();
}

View file

@ -42,7 +42,7 @@ public final class NetworkingChannelClientTest implements ClientModInitializer {
ClientTickEvents.END_CLIENT_TICK.register(client -> {
if (client.player != null) {
if (OPEN.wasPressed()) {
client.openScreen(new ChannelScreen(this));
client.setScreen(new ChannelScreen(this));
}
}
});

View file

@ -12,6 +12,6 @@ moduleDependencies(project, [
'fabric-tool-attribute-api-v1'
])
minecraft {
accessWidener = file("src/main/resources/fabric-object-builder-api-v1.accesswidener")
loom {
accessWidenerPath = file("src/main/resources/fabric-object-builder-api-v1.accesswidener")
}

View file

@ -77,8 +77,8 @@ public abstract class ForwardingBakedModel implements BakedModel, FabricBakedMod
}
@Override
public Sprite getSprite() {
return wrapped.getSprite();
public Sprite getParticleSprite() {
return wrapped.getParticleSprite();
}
@Override

View file

@ -78,7 +78,7 @@ final class FrameBakedModel implements BakedModel, FabricBakedModel {
}
@Override
public Sprite getSprite() {
public Sprite getParticleSprite() {
return this.frameSprite;
}
@ -112,7 +112,7 @@ final class FrameBakedModel implements BakedModel, FabricBakedModel {
return; // No inner block to render
}
Sprite sprite = MinecraftClient.getInstance().getBlockRenderManager().getModels().getModelManager().getBlockModels().getSprite(data.getDefaultState());
Sprite sprite = MinecraftClient.getInstance().getBlockRenderManager().getModels().getModelManager().getBlockModels().getModelParticleSprite(data.getDefaultState());
QuadEmitter emitter = context.getEmitter();
// We can emit our quads outside of the mesh as the block being put in the frame is very much dynamic.

View file

@ -168,7 +168,7 @@ public class ItemRenderContext extends AbstractRenderContext implements RenderCo
private int indexColor() {
final int colorIndex = editorQuad.colorIndex();
return colorIndex == -1 ? -1 : (colorMap.getColorMultiplier(itemStack, colorIndex) | 0xFF000000);
return colorIndex == -1 ? -1 : (colorMap.getColor(itemStack, colorIndex) | 0xFF000000);
}
private void renderQuad() {

View file

@ -43,11 +43,11 @@ public abstract class MixinItemRenderer implements AccessItemRenderer {
protected abstract void renderBakedItemModel(BakedModel model, ItemStack stack, int light, int overlay, MatrixStack matrixStack, VertexConsumer buffer);
@Shadow
protected ItemColors colorMap;
protected ItemColors colors;
private final VanillaQuadHandler vanillaHandler = new IndigoQuadHandler(this);
private final ThreadLocal<ItemRenderContext> CONTEXTS = ThreadLocal.withInitial(() -> new ItemRenderContext(colorMap));
private final ThreadLocal<ItemRenderContext> CONTEXTS = ThreadLocal.withInitial(() -> new ItemRenderContext(colors));
@Inject(at = @At("HEAD"), method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformation$Mode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;)V", cancellable = true)
public void hook_method_23179(ItemStack stack, ModelTransformation.Mode transformMode, boolean invert, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, int overlay, BakedModel model, CallbackInfo ci) {

View file

@ -44,12 +44,12 @@ import net.fabricmc.fabric.impl.client.rendering.RegistrationHelperImpl;
public abstract class MixinEntityRenderers {
@Shadow()
@Final
private static Map<EntityType<?>, EntityRendererFactory<?>> rendererFactories;
private static Map<EntityType<?>, EntityRendererFactory<?>> RENDERER_FACTORIES;
@SuppressWarnings({"unchecked", "rawtypes"})
@Inject(method = "<clinit>*", at = @At(value = "RETURN"))
private static void onRegisterRenderers(CallbackInfo info) {
EntityRendererRegistryImpl.setup(((t, factory) -> rendererFactories.put(t, factory)));
EntityRendererRegistryImpl.setup(((t, factory) -> RENDERER_FACTORIES.put(t, factory)));
}
// synthetic lambda in reloadEntityRenderers

View file

@ -37,7 +37,7 @@ abstract class MinecraftClientMixin {
@Unique
private Screen tickingScreen;
@Inject(method = "openScreen", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/Screen;removed()V", shift = At.Shift.AFTER))
@Inject(method = "setScreen", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/Screen;removed()V", shift = At.Shift.AFTER))
private void onScreenRemove(@Nullable Screen screen, CallbackInfo ci) {
ScreenEvents.remove(this.currentScreen).invoker().onRemove(this.currentScreen);
}

View file

@ -1,8 +1,8 @@
archivesBaseName = "fabric-screen-handler-api-v1"
version = getSubprojectVersion(project, "1.1.8")
minecraft {
accessWidener = file('src/main/resources/fabric-screen-handler-api-v1.accesswidener')
loom {
accessWidenerPath = file('src/main/resources/fabric-screen-handler-api-v1.accesswidener')
}
dependencies {

View file

@ -83,7 +83,7 @@ public final class ClientNetworking implements ClientModInitializer {
);
player.currentScreenHandler = ((ScreenHandlerProvider<?>) screen).getScreenHandler();
client.openScreen(screen);
client.setScreen(screen);
} else {
LOGGER.warn("Screen not registered for screen handler {}!", typeId);
}

View file

@ -27,7 +27,7 @@ final class BagInventory implements ImplementedInventory {
BagInventory(ItemStack stack) {
this.stack = stack;
NbtCompound tag = stack.getSubTag("Items");
NbtCompound tag = stack.getSubNbt("Items");
if (tag != null) {
Inventories.readNbt(tag, items);
@ -41,7 +41,7 @@ final class BagInventory implements ImplementedInventory {
@Override
public void markDirty() {
NbtCompound tag = stack.getOrCreateSubTag("Items");
NbtCompound tag = stack.getOrCreateSubNbt("Items");
Inventories.writeNbt(tag, items);
}
}

View file

@ -154,7 +154,7 @@ public final class FluidStorage {
return new EmptyItemFluidStorage(context, emptyBottle -> {
ItemStack newStack = emptyBottle.toStack();
PotionUtil.setPotion(newStack, Potions.WATER);
return ItemVariant.of(Items.POTION, newStack.getTag());
return ItemVariant.of(Items.POTION, newStack.getNbt());
}, Fluids.WATER, FluidConstants.BOTTLE);
});
// Register water potion storage

View file

@ -52,7 +52,7 @@ public interface ItemVariant extends TransferVariant<Item> {
* Retrieve an ItemVariant with the item and tag of a stack.
*/
static ItemVariant of(ItemStack stack) {
return of(stack.getItem(), stack.getTag());
return of(stack.getItem(), stack.getNbt());
}
/**
@ -73,7 +73,7 @@ public interface ItemVariant extends TransferVariant<Item> {
* Return true if the item and tag of this variant match those of the passed stack, and false otherwise.
*/
default boolean matches(ItemStack stack) {
return isOf(stack.getItem()) && nbtMatches(stack.getTag());
return isOf(stack.getItem()) && nbtMatches(stack.getNbt());
}
/**
@ -98,7 +98,7 @@ public interface ItemVariant extends TransferVariant<Item> {
default ItemStack toStack(int count) {
if (isBlank()) return ItemStack.EMPTY;
ItemStack stack = new ItemStack(getItem(), count);
stack.setTag(copyNbt());
stack.setNbt(copyNbt());
return stack;
}

View file

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

View file

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists