Add new versions

This commit is contained in:
MrLetsplay 2025-02-22 19:02:47 +01:00
parent 2235c47a7b
commit 256a7438d4
Signed by: mr
SSH Key Fingerprint: SHA256:92jBH80vpXyaZHjaIl47pjRq+Yt7XGTArqQg1V7hSqg
7 changed files with 173 additions and 0 deletions

View File

@ -17,6 +17,9 @@ versions["1.18.2"]="openjdk17"
versions["1.19.4"]="openjdk17" versions["1.19.4"]="openjdk17"
versions["1.20.1"]="openjdk17" versions["1.20.1"]="openjdk17"
versions["1.20.2"]="openjdk17" versions["1.20.2"]="openjdk17"
versions["1.20.4"]="openjdk17"
versions["1.21.3"]="openjdk21"
versions["1.21.4"]="openjdk21"
for version in "${!versions[@]}"; do for version in "${!versions[@]}"; do
java=${versions[$version]} java=${versions[$version]}

View File

@ -0,0 +1,23 @@
ARG MC_VERSION
FROM mrletsplay/paper:${MC_VERSION}
ENV MC_VERSION=${MC_VERSION}
ENV UID=1000
ENV GID=1000
RUN apk add git
ADD ./bin /usr/local/bin
ADD ./patches /build/patches
VOLUME ["/minecraft"]
WORKDIR /minecraft
EXPOSE 25565
ENTRYPOINT ["build_paper"]
CMD ["java", "-Xmx2G", "-Xms2G", "-jar", "paper.jar"]

24
paper-unpatched/bin/build_paper Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
if test ! -f "paper.jar" -o "$PAPER_REBUILD" == "true"; then
echo "Building Paper"
cd /build
git config --global user.name "nobody"
git config --global user.email "nobody@example.com"
git clone https://github.com/PaperMC/Paper
cd Paper
git checkout ver/$MC_VERSION # Will fail for newest version
cp -rv /build/patches/* patches/server
./gradlew applyPatches
./gradlew createReobfBundlerJar
cp build/libs/paper-bundler-*-reobf.jar /minecraft/paper.jar
cd /minecraft
fi
echo "Run setup"
PAPER_UPDATE_ON_START=false exec setup "$@"

View File

@ -0,0 +1,23 @@
#!/bin/bash
#!/bin/sh
declare -A versions
versions["1.8.8"]=openjdk8
versions["1.9.4"]=openjdk8
versions["1.10.2"]=openjdk8
versions["1.11.2"]=openjdk8
versions["1.12.2"]=openjdk8
versions["1.13.2"]=openjdk8
versions["1.14.4"]=openjdk8
versions["1.15.2"]=openjdk8
versions["1.16.5"]=openjdk8
versions["1.17.1"]=openjdk8
versions["1.18.2"]=openjdk17
versions["1.19.4"]=openjdk17
for version in "${!versions[@]}"; do
java_version="${versions[$version]}"
echo $version $java_version
docker build --build-arg MC_VERSION=$version -t mrletsplay/paper:$version-unpatched .
done

View File

@ -0,0 +1,34 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrLetsplay2003 <mr.letsplay2003@gmail.com>
Date: Sat, 27 Aug 2022 14:25:07 +0200
Subject: [PATCH] Remove sand duping fix
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index b2d1a17867cdbaad0c6e5c2376c716f9461af124..a17bd98e3cf6ef9365dbffcf410a980f1c72484b 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -128,9 +128,9 @@ public class FallingBlockEntity extends Entity {
@Override
public void tick() {
// Paper start - fix sand duping
- if (this.isRemoved()) {
+ /*if (this.isRemoved()) {
return;
- }
+ }*/
// Paper end - fix sand duping
if (this.blockState.isAir()) {
this.discard();
@@ -145,9 +145,9 @@ public class FallingBlockEntity extends Entity {
this.move(MoverType.SELF, this.getDeltaMovement());
// Paper start - fix sand duping
- if (this.isRemoved()) {
+ /*if (this.isRemoved()) {
return;
- }
+ }*/
// Paper end - fix sand duping
// Paper start - Configurable EntityFallingBlock height nerf

View File

@ -0,0 +1,63 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrLetsplay2003 <mr.letsplay2003@gmail.com>
Date: Thu, 8 Dec 2022 19:11:41 +0100
Subject: [PATCH] Remove end portal patch
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 22cd5f0e40d7e3cd04793a9dda29d113428fa093..fd241cf9cd9086407fdca71a3336949c8b009e0c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -511,7 +511,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
// Paper end - optimise entity tracking
// Paper start - make end portalling safe
- public BlockPos portalBlock;
+ /*public BlockPos portalBlock;
public ServerLevel portalWorld;
public void tickEndPortal() {
BlockPos pos = this.portalBlock;
@@ -538,7 +538,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return;
}
this.teleportTo(worldserver, null);
- }
+ }*/
// Paper end - make end portalling safe
public Entity(EntityType<?> type, Level world) {
@@ -2898,7 +2898,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
this.processPortalCooldown();
- this.tickEndPortal(); // Paper - make end portalling safe
+ //this.tickEndPortal(); // Paper - make end portalling safe
}
}
diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
index 15c5cccfe02c924c02f605eb47dd0b420b189891..1529fd5ecc196404d566520893630b160d82ee38 100644
--- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
@@ -53,9 +53,19 @@ public class EndPortalBlock extends BaseEntityBlock {
// return; // CraftBukkit - always fire event in case plugins wish to change it
}
+ // CraftBukkit start - Entity in portal
+ EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()));
+ world.getCraftServer().getPluginManager().callEvent(event);
+
+ if (entity instanceof ServerPlayer) {
+ ((ServerPlayer) entity).changeDimension(worldserver, PlayerTeleportEvent.TeleportCause.END_PORTAL);
+ return;
+ }
+ // CraftBukkit end
+ entity.changeDimension(worldserver);
// Paper start - move all of this logic into portal tick
- entity.portalWorld = ((ServerLevel)world);
- entity.portalBlock = pos.immutable();
+ //entity.portalWorld = ((ServerLevel)world);
+ //entity.portalBlock = pos.immutable();
// Paper end - move all of this logic into portal tick
}

View File

@ -17,6 +17,9 @@ versions["1.18.2"]="openjdk17 false"
versions["1.19.4"]="openjdk17 true" versions["1.19.4"]="openjdk17 true"
versions["1.20.1"]="openjdk17 true" versions["1.20.1"]="openjdk17 true"
versions["1.20.2"]="openjdk17 true" versions["1.20.2"]="openjdk17 true"
versions["1.20.4"]="openjdk17 true"
versions["1.21.3"]="openjdk21 true"
versions["1.21.4"]="openjdk21 true"
for version in "${!versions[@]}"; do for version in "${!versions[@]}"; do
params=(${versions[$version]}) params=(${versions[$version]})