Compare commits

..

3 Commits

Author SHA1 Message Date
Helvetica Volubi
94663e55d1 fix: rebuild Entity portal-teleport speed fix 2025-05-03 00:24:41 +08:00
Helvetica Volubi
da0622aaf8 ci: always use ncipollo/release-action@v1-latest to release 2025-05-02 21:10:11 +08:00
MrHua269
0bb93aba3e Run generateDevelopmentBundle 2025-05-02 17:36:19 +08:00
2 changed files with 12 additions and 49 deletions

View File

@@ -40,9 +40,9 @@ jobs:
if: github.event_name != 'pull_request'
continue-on-error: true
run: |
./gradlew publish -PpublishDevBundle=true
./gradlew generateDevelopmentBundle publish -PpublishDevBundle=true
- name: Upload Artifact
uses: "actions/upload-artifact@v4"
uses: actions/upload-artifact@v4
with:
name: "${{ env.project_id_b }} CI Artifacts"
path: "luminol-server/build/libs/*-paperclip-*-mojmap.jar"
@@ -51,7 +51,7 @@ jobs:
run: sh scripts/SetENV.sh
- name: Create Release
if: github.event_name != 'pull_request'
uses: ncipollo/release-action@v1.16.0
uses: ncipollo/release-action@v1
with:
tag: ${{ env.tag }}
name: ${{ env.project_id_b }} ${{ env.mcversion }} - ${{ env.commit_id }}

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Portal Behavior Modifiers
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 2ea6160492cb23e96271dfbfd3bd35fe03109d6a..2871980e53a66bdacf7c00e7045ad01d68a972d3 100644
index 2ea6160492cb23e96271dfbfd3bd35fe03109d6a..36bddc5f5a05044b995e0b87f2c9105a6acfe8fd 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -3304,7 +3304,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.setPortalCooldown();
@@ -1149,7 +1149,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
//Luminol end
try {
// Paper end - detailed watchdog information
- if (this.noPhysics) {
+ if (this.noPhysics || this.portalProcess != null) { // Luminol - Entity portal-teleport speed fix
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
if (this.portalProcess == null || !this.portalProcess.isSamePortal(portal)) {
- this.portalProcess = new PortalProcessor(portal, pos.immutable());
+ this.portalProcess = new PortalProcessor(portal, pos.immutable(), this.getDeltaMovement()); // Luminol - Entity portal-teleport speed fix
} else if (!this.portalProcess.isInsidePortalThisTick()) {
this.portalProcess.updateEntryPosition(pos.immutable());
this.portalProcess.setAsInsidePortalThisTick(true);
this.wasOnFire = this.isOnFire();
@@ -3829,20 +3829,27 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
EntityTreeNode curr;
@@ -73,43 +73,6 @@ index 2ea6160492cb23e96271dfbfd3bd35fe03109d6a..2871980e53a66bdacf7c00e7045ad01d
// Kaiiju start - vanilla end teleportation
/*if (teleportComplete != null) {
teleportComplete.accept(teleported);
diff --git a/net/minecraft/world/entity/PortalProcessor.java b/net/minecraft/world/entity/PortalProcessor.java
index 46d989aef0eceebd98bfd93999153319de77a8a0..6e9171fa0c636439bd96401ea9e5fe80ffdc8bdd 100644
--- a/net/minecraft/world/entity/PortalProcessor.java
+++ b/net/minecraft/world/entity/PortalProcessor.java
@@ -9,12 +9,14 @@ import net.minecraft.world.level.portal.TeleportTransition;
public class PortalProcessor {
private final Portal portal;
private BlockPos entryPosition;
+ private net.minecraft.world.phys.Vec3 speedVec3; // Luminol - Entity portal-teleport speed fix
private int portalTime;
private boolean insidePortalThisTick;
- public PortalProcessor(Portal portal, BlockPos entryPosition) {
+ public PortalProcessor(Portal portal, BlockPos entryPosition, net.minecraft.world.phys.Vec3 speedVec3) { // Luminol - Entity portal-teleport speed fix
this.portal = portal;
this.entryPosition = entryPosition;
+ this.speedVec3 = speedVec3; // Luminol - Entity portal-teleport speed fix
this.insidePortalThisTick = true;
}
@@ -35,7 +37,15 @@ public class PortalProcessor {
// Folia start - region threading
public boolean portalAsync(ServerLevel sourceWorld, Entity portalTarget) {
- return this.portal.portalAsync(sourceWorld, portalTarget, this.entryPosition);
+ // Luminol start - Entity portal-teleport speed fix
+ net.minecraft.world.phys.Vec3 oldSpeed = portalTarget.getDeltaMovement();
+ portalTarget.setDeltaMovement(this.speedVec3);
+ boolean flag = this.portal.portalAsync(sourceWorld, portalTarget, this.entryPosition);
+ if (!flag) {
+ portalTarget.setDeltaMovement(oldSpeed);
+ }
+ return flag;
+ // Luminol end - Entity portal-teleport speed fix
}
// Folia end - region threading
diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java
index 88570bb4aa02896545805d7721c45cf9599befea..bbf9748a36404139356db606dbb3b0cc13c66b50 100644
--- a/net/minecraft/world/entity/item/PrimedTnt.java