Skip to content

Commit

Permalink
Update Upstream (#15)
Browse files Browse the repository at this point in the history
  • Loading branch information
TrainmasterHD authored Apr 26, 2024
1 parent a4c5e10 commit 87db6b4
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 15 deletions.
4 changes: 2 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ plugins {
java
`maven-publish`
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
id("io.papermc.paperweight.patcher") version "1.5.13"
id("io.papermc.paperweight.patcher") version "1.5.15"
}

val paperMavenPublicUrl = "https://papermc.io/repo/repository/maven-public/"
Expand All @@ -21,7 +21,7 @@ repositories {

dependencies {
remapper("net.fabricmc:tiny-remapper:0.10.1:fat")
decompiler("net.minecraftforge:forgeflower:2.0.627.2")
decompiler("org.vineflower:vineflower:1.10.1")
paperclip("io.papermc:paperclip:3.0.3")
}

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ group=net.gommehd.cheetah
version=1.20.4-R0.1-SNAPSHOT

mcVersion=1.20.4
paperRef=5436d44bf2509ff89129f8790ee4643f09c72871
paperRef=f4c7d373e4a1aff23539fe099745bf29a28559b9

org.gradle.caching=true
org.gradle.parallel=true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] expose constructor for player info update packet


diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java
index 56eddd28429cf42c02d88b8bf79f8b616fa45289..335e1b961e405816ce564ba6e29314a302c60010 100644
index d41fe931daf03c40ca1d7b9159001d0122d72f0c..1a29be626903f4af393157d33b2fe4d81bd3c413 100644
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java
+++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java
@@ -41,6 +41,13 @@ public class ClientboundPlayerInfoUpdatePacket implements Packet<ClientGamePacke
Expand All @@ -20,5 +20,5 @@ index 56eddd28429cf42c02d88b8bf79f8b616fa45289..335e1b961e405816ce564ba6e29314a3
+ // Cheetah end
+
public static ClientboundPlayerInfoUpdatePacket createPlayerInitializing(Collection<ServerPlayer> players) {
EnumSet<ClientboundPlayerInfoUpdatePacket.Action> enumSet = EnumSet.of(ClientboundPlayerInfoUpdatePacket.Action.ADD_PLAYER, ClientboundPlayerInfoUpdatePacket.Action.INITIALIZE_CHAT, ClientboundPlayerInfoUpdatePacket.Action.UPDATE_GAME_MODE, ClientboundPlayerInfoUpdatePacket.Action.UPDATE_LISTED, ClientboundPlayerInfoUpdatePacket.Action.UPDATE_LATENCY, ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME);
return new ClientboundPlayerInfoUpdatePacket(enumSet, players);
EnumSet<ClientboundPlayerInfoUpdatePacket.Action> enumSet = EnumSet.of(
ClientboundPlayerInfoUpdatePacket.Action.ADD_PLAYER,
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] do not break message chain if proxy cancels a chat message


diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 66049d76ee156ffa34649dd50aaae67ecfd7c164..7f9d7d9c94cd4f8bc51780e37890ca3456b1ffce 100644
index 9a116a1c4d38f9d98c1d598a796ff1deec992653..94f49f8ebbfb225b59cf2a7084ada2de33e0b68f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2141,6 +2141,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
Expand Down Expand Up @@ -34,7 +34,7 @@ index 66049d76ee156ffa34649dd50aaae67ecfd7c164..7f9d7d9c94cd4f8bc51780e37890ca34
+ }
+ // Cheetah end
CompletableFuture<FilteredText> completablefuture = this.filterTextPacket(playerchatmessage.signedContent()).thenApplyAsync(Function.identity(), this.server.chatExecutor); // CraftBukkit - async chat
CompletableFuture<ChatDecorator.Result> componentFuture = this.server.getChatDecorator().decorate(this.player, null, playerchatmessage.decoratedContent()); // Paper
CompletableFuture<Component> componentFuture = this.server.getChatDecorator().decorate(this.player, null, playerchatmessage.decoratedContent()); // Paper - Adventure

@@ -2177,9 +2191,24 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) {
Expand All @@ -43,7 +43,7 @@ index 66049d76ee156ffa34649dd50aaae67ecfd7c164..7f9d7d9c94cd4f8bc51780e37890ca34
+ // Cheetah start - Do not break message chain if proxy cancels a chat message
+ boolean cancelled = packet.lastSeenMessages().offset() < 0; // Same behavior as for ServerboundChatPacket
+ ServerboundChatCommandPacket packet1;
+ if(cancelled) {
+ if (cancelled) {
+ packet1 = new ServerboundChatCommandPacket(packet.command(), packet.timeStamp(), packet.salt(), packet.argumentSignatures(), new LastSeenMessages.Update(packet.lastSeenMessages().offset() == Integer.MIN_VALUE ? 0 : -packet.lastSeenMessages().offset(), packet.lastSeenMessages().acknowledged())); // Restore the correct offset (copy packet here, packet itself is immutable record)
+ } else {
+ packet1 = packet;
Expand Down
11 changes: 5 additions & 6 deletions patches/server/0013-Added-VillagerGiveGiftToHeroEvent.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Added VillagerGiveGiftToHeroEvent


diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/GiveGiftToHero.java b/src/main/java/net/minecraft/world/entity/ai/behavior/GiveGiftToHero.java
index 132d8563db66aab61843613b172179b0fed4fb97..c78e2a2c0dc627227179747f033d62d303d1b45b 100644
index c429e077539088e73d44a5e103f0d5ca8b63b60e..f60bcd9a3fbe20472b9b018c65f0903a1fce25ec 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/GiveGiftToHero.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/GiveGiftToHero.java
@@ -24,6 +24,7 @@ import net.minecraft.world.level.storage.loot.LootParams;
Expand All @@ -16,28 +16,27 @@ index 132d8563db66aab61843613b172179b0fed4fb97..c78e2a2c0dc627227179747f033d62d3

public class GiveGiftToHero extends Behavior<Villager> {
private static final int THROW_GIFT_AT_DISTANCE = 5;
@@ -104,10 +105,22 @@ public class GiveGiftToHero extends Behavior<Villager> {
@@ -115,9 +116,22 @@ public class GiveGiftToHero extends Behavior<Villager> {
}

private void throwGift(Villager villager, LivingEntity recipient) {
- for(ItemStack itemStack : this.getItemToThrow(villager)) {
- for (ItemStack itemStack : this.getItemToThrow(villager)) {
- BehaviorUtils.throwItem(villager, itemStack, recipient.position());
- }
+ // Cheetah start - Added VillagerGiveGiftToHeroEvent
+ List<ItemStack> itemStacks = this.getItemToThrow(villager);
+
+ List<org.bukkit.inventory.ItemStack> convertedItemStacks = itemStacks.stream().map(org.bukkit.craftbukkit.inventory.CraftItemStack::asCraftMirror).collect(java.util.stream.Collectors.toList());
+
+ VillagerGiveGiftToHeroEvent event = new VillagerGiveGiftToHeroEvent(villager.getBukkitEntity(), recipient.getBukkitLivingEntity(), convertedItemStacks);
+ event.callEvent();
+
+ if (!event.isCancelled() && !event.getItemStacks().isEmpty()) {
+ itemStacks = event.getItemStacks().stream().map(org.bukkit.craftbukkit.inventory.CraftItemStack::asNMSCopy).toList();
+
+ for (ItemStack itemStack : itemStacks) {
+ BehaviorUtils.throwItem(villager, itemStack, recipient.position());
+ }
+ }
}
+ // Cheetah end
}

Expand Down

0 comments on commit 87db6b4

Please sign in to comment.