Skip to content

Commit

Permalink
Merge branch '1.21.x' into fix_modded_item_transforms
Browse files Browse the repository at this point in the history
  • Loading branch information
Matyrobbrt authored Jun 24, 2024
2 parents 233b17e + 238c02a commit 3df1b61
Show file tree
Hide file tree
Showing 61 changed files with 1,496 additions and 734 deletions.
22 changes: 15 additions & 7 deletions .github/workflows/build-prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,31 @@ jobs:
run:
git switch -C pr-${{ github.event.pull_request.number }}-${{ github.event.pull_request.head.ref }}

- name: Validate wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Setup JDK 21
uses: actions/setup-java@v2
with:
java-version: '21'
distribution: 'temurin'

- name: Setup with Gradle
uses: gradle/gradle-build-action@v2
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
arguments: setup
cache-read-only: false

- name: Setup with Gradle
run: ./gradlew setup

- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: assemble checkFormatting
cache-read-only: false
run: ./gradlew assemble checkFormatting

- name: Run JCC
run: ./gradlew checkJarCompatibility

- name: Upload JCC
uses: neoforged/action-jar-compatibility/upload@v1

- name: Publish artifacts
uses: neoforged/action-pr-publishing/upload@v1
48 changes: 48 additions & 0 deletions .github/workflows/check-local-changes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Check PR local changes

on:
pull_request:
types:
- synchronize
- opened
- ready_for_review
- reopened

jobs:
check-local-changes:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1000
fetch-tags: true

# GradleUtils will append the branch name to the version,
# but for that we need a properly checked out branch
- name: Create branch for commit
run:
git switch -C pr-${{ github.event.pull_request.number }}-${{ github.event.pull_request.head.ref }}

- name: Setup JDK 21
uses: actions/setup-java@v2
with:
java-version: '21'
distribution: 'temurin'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: false

- name: Setup with Gradle
run: ./gradlew setup

- name: Run datagen with Gradle
run: ./gradlew :neoforge:runData :tests:runData

- name: Check no local changes are present
run: |
# Print status for easier debugging
git status
if [ -n "$(git status --porcelain)" ]; then exit 1; fi
20 changes: 20 additions & 0 deletions .github/workflows/publish-jcc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# File generated by the GradleUtils `setupGitHubActionsWorkflows` task, avoid modifying it directly
# The template can be found at https://github.com/neoforged/GradleUtils/blob/a65628b0c89dec60b357ce3f8f6bfa62934b8357/src/actionsTemplate/resources/.github/workflows/publish-jcc.yml

name: Publish PR JCC output

on:
workflow_run:
workflows: [Build PRs]
types:
- completed

jobs:
publish-jcc:
if: true
uses: neoforged/actions/.github/workflows/publish-jcc.yml@main
with:
beta_version_pattern: .*-beta.*
secrets:
JCC_GH_APP_ID: ${{ secrets.JCC_GH_APP_ID }}
JCC_GH_APP_KEY: ${{ secrets.JCC_GH_APP_KEY }}
18 changes: 7 additions & 11 deletions .github/workflows/test-prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,23 +34,19 @@ jobs:
java-version: '21'
distribution: 'temurin'

- name: Setup with Gradle
uses: gradle/gradle-build-action@v2
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
arguments: setup
cache-read-only: false

- name: Setup with Gradle
run: ./gradlew setup

- name: Run game tests with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: :tests:runGameTestServer
cache-read-only: false
run: ./gradlew :tests:runGameTestServer

- name: Run JUnit tests with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: :tests:runUnitTests
cache-read-only: false
run: ./gradlew :tests:runUnitTests

- name: Store reports
if: failure()
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import java.util.regex.Matcher
import java.util.regex.Pattern

plugins {
id 'net.neoforged.gradleutils' version '3.0.0-alpha.10' apply false
id 'net.neoforged.gradleutils' version '3.0.0-alpha.13' apply false
id 'com.diffplug.spotless' version '6.22.0' apply false
id 'net.neoforged.licenser' version '0.7.2'
id 'neoforge.formatting-conventions'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
--- a/net/minecraft/advancements/critereon/ItemAttributeModifiersPredicate.java
+++ b/net/minecraft/advancements/critereon/ItemAttributeModifiersPredicate.java
@@ -40,6 +_,14 @@
return !this.modifiers.isPresent() || this.modifiers.get().test(p_341374_.modifiers());
}

+ /**
+ * Neo: Override this method to reflect gameplay attribute modifiers instead of only NBT modifiers.
+ */
+ @Override
+ public boolean matches(ItemStack p_333958_) {
+ return matches(p_333958_, p_333958_.getAttributeModifiers());
+ }
+
public static record EntryPredicate(
Optional<HolderSet<Attribute>> attribute,
Optional<ResourceLocation> id,
10 changes: 5 additions & 5 deletions patches/net/minecraft/client/gui/Gui.java.patch
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@
+
@OnlyIn(Dist.CLIENT)
public class Gui {
protected static final ResourceLocation CROSSHAIR_SPRITE = ResourceLocation.withDefaultNamespace("hud/crosshair");
private static final ResourceLocation CROSSHAIR_SPRITE = ResourceLocation.withDefaultNamespace("hud/crosshair");
@@ -158,9 +_,21 @@
protected long healthBlinkTime;
protected float autosaveIndicatorValue;
protected float lastAutosaveIndicatorValue;
private long healthBlinkTime;
private float autosaveIndicatorValue;
private float lastAutosaveIndicatorValue;
+ /** Neo: This is empty and unused, rendering goes through {@link #layerManager} instead. */
+ @Deprecated
private final LayeredDraw layers = new LayeredDraw();
+ private final net.neoforged.neoforge.client.gui.GuiLayerManager layerManager = new net.neoforged.neoforge.client.gui.GuiLayerManager();
protected float scopeScale;
private float scopeScale;

+ /**
+ * Neo: This variable controls the height of overlays on the left of the hotbar (e.g. health, armor).
Expand Down
8 changes: 0 additions & 8 deletions patches/net/minecraft/client/player/LocalPlayer.java.patch
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
--- a/net/minecraft/client/player/LocalPlayer.java
+++ b/net/minecraft/client/player/LocalPlayer.java
@@ -161,6 +_,7 @@

@Override
public boolean hurt(DamageSource p_108662_, float p_108663_) {
+ net.neoforged.neoforge.common.CommonHooks.onPlayerAttack(this, p_108662_, p_108663_);
return false;
}

@@ -297,6 +_,7 @@
ServerboundPlayerActionPacket.Action serverboundplayeractionpacket$action = p_108701_
? ServerboundPlayerActionPacket.Action.DROP_ALL_ITEMS
Expand Down
10 changes: 0 additions & 10 deletions patches/net/minecraft/client/player/RemotePlayer.java.patch

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
BlockPos p_112459_, BlockState p_112460_, PoseStack p_112461_, MultiBufferSource p_112462_, Level p_112463_, boolean p_112464_, int p_112465_
) {
+ if (true) {
+ net.neoforged.neoforge.client.ClientHooks.renderPistonMovedBlocks(p_112459_, p_112460_, p_112461_, p_112462_, p_112463_, p_112464_, p_112465_, blockRenderer == null ? blockRenderer = net.minecraft.client.Minecraft.getInstance().getBlockRenderer() : blockRenderer);
+ net.neoforged.neoforge.client.ClientHooks.renderPistonMovedBlocks(p_112459_, p_112460_, p_112461_, p_112462_, p_112463_, p_112464_, p_112465_, blockRenderer);
+ return;
+ }
RenderType rendertype = ItemBlockRenderTypes.getMovingBlockRenderType(p_112460_);
Expand Down
4 changes: 2 additions & 2 deletions patches/net/minecraft/core/Holder.java.patch
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
+ return null;
+ }
+
public void bindTags(Collection<TagKey<T>> p_205770_) {
void bindTags(Collection<TagKey<T>> p_205770_) {
this.tags = Set.copyOf(p_205770_);
}
@@ -233,6 +_,28 @@
Expand Down Expand Up @@ -51,5 +51,5 @@
+
+ // Neo End

public static enum Type {
protected static enum Type {
STAND_ALONE,
2 changes: 1 addition & 1 deletion patches/net/minecraft/core/HolderSet.java.patch
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
int size();
@@ -174,6 +_,9 @@

public void bind(List<Holder<T>> p_205836_) {
void bind(List<Holder<T>> p_205836_) {
this.contents = List.copyOf(p_205836_);
+ for (Runnable runnable : this.invalidationCallbacks) {
+ runnable.run(); // FORGE: invalidate listeners when tags rebind
Expand Down
10 changes: 8 additions & 2 deletions patches/net/minecraft/core/MappedRegistry.java.patch
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,13 @@
}

@Nullable
@@ -189,7 +_,7 @@
@@ -184,12 +_,12 @@

@Override
public Optional<Holder.Reference<T>> getHolder(ResourceLocation p_316743_) {
- return Optional.ofNullable(this.byLocation.get(p_316743_));
+ return Optional.ofNullable(this.byLocation.get(resolve(p_316743_)));
}

@Override
public Optional<Holder.Reference<T>> getHolder(ResourceKey<T> p_205905_) {
Expand All @@ -92,7 +98,7 @@
@Override
public T get(@Nullable ResourceLocation p_122739_) {
- Holder.Reference<T> reference = this.byLocation.get(p_122739_);
+ Holder.Reference<T> reference = this.byLocation.get(resolve(p_122739_));
+ Holder.Reference<T> reference = this.byLocation.get(p_122739_ != null ? resolve(p_122739_) : null);
return getValueFromNullable(reference);
}

Expand Down
13 changes: 13 additions & 0 deletions patches/net/minecraft/world/entity/Entity.java.patch
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,19 @@
}

public boolean is(Entity p_20356_) {
@@ -2516,10 +_,11 @@
}

public boolean isInvulnerableTo(DamageSource p_20122_) {
- return this.isRemoved()
+ boolean isVanillaInvulnerable = this.isRemoved()
|| this.invulnerable && !p_20122_.is(DamageTypeTags.BYPASSES_INVULNERABILITY) && !p_20122_.isCreativePlayer()
|| p_20122_.is(DamageTypeTags.IS_FIRE) && this.fireImmune()
|| p_20122_.is(DamageTypeTags.IS_FALL) && this.getType().is(EntityTypeTags.FALL_DAMAGE_IMMUNE);
+ return net.neoforged.neoforge.common.CommonHooks.isEntityInvulnerableTo(this, p_20122_, isVanillaInvulnerable);
}

public boolean isInvulnerable() {
@@ -2544,6 +_,7 @@

@Nullable
Expand Down
Loading

0 comments on commit 3df1b61

Please sign in to comment.