Re-update based on missing commit

This commit is contained in:
Stijn Bannink 2024-06-30 20:33:07 +02:00
parent bc055e0041
commit 5f9cbe7425
Signed by: SBDeveloper
GPG key ID: B730712F2C3A9D7A
4 changed files with 10 additions and 10 deletions

View file

@ -30,8 +30,6 @@ import tech.sbdevelopment.mapreflectionapi.api.ArrayImage;
import java.util.ArrayList;
import java.util.List;
import static tech.sbdevelopment.mapreflectionapi.utils.ReflectionUtil.supports;
/**
* The {@link MapSender_v1_20_R4} sends the Map packets to players.
*/

View file

@ -108,7 +108,7 @@ public class MapSender_v1_21_R1 {
return;
}
final MapId id = new MapId(-id0);
final int id = -id0;
Bukkit.getScheduler().runTaskAsynchronously(MapReflectionAPI.getInstance(), () -> {
try {
WorldMap.b updateData = new WorldMap.b(
@ -119,8 +119,10 @@ public class MapSender_v1_21_R1 {
content.array //Data
);
MapId mapId = new MapId(id);
PacketPlayOutMap packet = new PacketPlayOutMap(
id, //ID
mapId, //ID
(byte) 0, //Scale
false, //Show icons
new ArrayList<>(), //Icons

View file

@ -19,14 +19,13 @@
package tech.sbdevelopment.mapreflectionapi.nms;
import net.minecraft.core.component.DataComponentType;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.component.DataComponents;
import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata;
import net.minecraft.network.protocol.game.PacketPlayOutSetSlot;
import net.minecraft.network.syncher.DataWatcher;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.decoration.EntityItemFrame;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.saveddata.maps.MapId;
import org.bukkit.*;
import org.bukkit.craftbukkit.v1_21_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_21_R1.entity.CraftPlayer;
@ -221,7 +220,8 @@ public class MapWrapper_v1_21_R1 extends MapWrapper {
private void sendItemFramePacket(Player player, int entityId, ItemStack stack, int mapId) {
net.minecraft.world.item.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack);
nmsStack.a().a(BuiltInRegistries.aq.a(MinecraftKey.a("minecraft:map_id")), mapId); //getOrCreateTag putInt
MapId mapId1 = new MapId(mapId);
nmsStack.b(DataComponents.B, mapId1); //set
List<DataWatcher.c<?>> list = new ArrayList<>();
DataWatcher.c<?> dataWatcherItem = DataWatcher.c.a(EntityItemFrame.f, nmsStack);

View file

@ -89,8 +89,8 @@ public class PacketListener_v1_21_R1 extends PacketListener {
return false;
}).get(1, TimeUnit.SECONDS)) return;
} else if (packet instanceof PacketPlayInSetCreativeSlot packetPlayInSetCreativeSlot) {
int slot = packetPlayInSetCreativeSlot.b();
ItemStack item = packetPlayInSetCreativeSlot.e();
int slot = (int) getDeclaredField(packetPlayInSetCreativeSlot, supports(20, 4) ? "b" : "a"); //slot, 1.20.5 = b, lower is a
ItemStack item = (ItemStack) getDeclaredField(packetPlayInSetCreativeSlot, supports(20, 4) ? "e" : "d"); //item, 1.20.5 = e, lower is d
boolean async = !plugin.getServer().isPrimaryThread();
CreateInventoryMapUpdateEvent event = new CreateInventoryMapUpdateEvent(p, slot, CraftItemStack.asBukkitCopy(item), async);