Skip to content

Commit

Permalink
v1_17 part 6: begin changing to mojang mappings
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Jun 11, 2021
1 parent a4d5e90 commit b43d9be
Show file tree
Hide file tree
Showing 26 changed files with 474 additions and 482 deletions.
1 change: 1 addition & 0 deletions v1_17/pom.xml
Expand Up @@ -35,6 +35,7 @@
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.17-R0.1-SNAPSHOT</version>
<classifier>remapped-mojang</classifier>
<scope>provided</scope>
<exclusions>
<exclusion>
Expand Down
Expand Up @@ -28,14 +28,13 @@
import net.md_5.bungee.api.chat.hover.content.Item;
import net.md_5.bungee.api.chat.hover.content.Text;
import net.md_5.bungee.chat.ComponentSerializer;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagByteArray;
import net.minecraft.nbt.NBTTagString;
import net.minecraft.network.chat.IChatBaseComponent;
import net.minecraft.network.chat.IChatMutableComponent;
import net.minecraft.nbt.ByteArrayTag;
import net.minecraft.nbt.StringTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.IInventory;
import net.minecraft.world.INamableTileEntity;
import net.minecraft.world.Container;
import net.minecraft.world.Nameable;
import net.minecraft.world.entity.Entity;
import org.bukkit.Bukkit;
import org.bukkit.Location;
Expand Down Expand Up @@ -94,7 +93,7 @@ public void undisableAsyncCatcher() {

@Override
public boolean isCorrectMappingsCode() {
return ((CraftMagicNumbers) CraftMagicNumbers.INSTANCE).getMappingsVersion().equals("d4b392244df170796f8779ef0fc1f2e9");
return ((CraftMagicNumbers) CraftMagicNumbers.INSTANCE).getMappingsVersion().equals("acd6e6c27e5a0a9440afba70a96c27c9");
}

@Override
Expand Down Expand Up @@ -137,10 +136,10 @@ public PlayerProfile fillPlayerProfile(PlayerProfile playerProfile) {
MinecraftServer minecraftServer = ((CraftServer) Bukkit.getServer()).getServer();
GameProfile gameProfile1 = null;
if (gameProfile.getId() != null) {
gameProfile1 = minecraftServer.getUserCache().getProfile(gameProfile.getId());
gameProfile1 = minecraftServer.getProfileCache().get(gameProfile.getId());
}
if (gameProfile1 == null && gameProfile.getName() != null) {
gameProfile1 = minecraftServer.getUserCache().getProfile(gameProfile.getName());
gameProfile1 = minecraftServer.getProfileCache().get(gameProfile.getName());
}
if (gameProfile1 == null) {
gameProfile1 = gameProfile;
Expand All @@ -155,7 +154,7 @@ public PlayerProfile fillPlayerProfile(PlayerProfile playerProfile) {
}
}
if (Iterables.getFirst(gameProfile1.getProperties().get("textures"), null) == null) {
gameProfile1 = minecraftServer.getMinecraftSessionService().fillProfileProperties(gameProfile1, true);
gameProfile1 = minecraftServer.getSessionService().fillProfileProperties(gameProfile1, true);
}
Property property = Iterables.getFirst(gameProfile1.getProperties().get("textures"), null);
return new PlayerProfile(gameProfile1.getName(), gameProfile1.getId(),
Expand All @@ -178,9 +177,9 @@ public int getPort() {

@Override
public String getTitle(Inventory inventory) {
IInventory nms = ((CraftInventory) inventory).getInventory();
if (nms instanceof INamableTileEntity) {
return CraftChatMessage.fromComponent(((INamableTileEntity) nms).getDisplayName());
Container nms = ((CraftInventory) inventory).getInventory();
if (nms instanceof Nameable) {
return CraftChatMessage.fromComponent(((Nameable) nms).getDisplayName());
}
else if (MINECRAFT_INVENTORY.isInstance(nms)) {
try {
Expand Down Expand Up @@ -286,23 +285,23 @@ public boolean containerHas(PersistentDataContainer container, NamespacedKey key

@Override
public String containerGetString(PersistentDataContainer container, NamespacedKey key) {
NBTBase base = ((CraftPersistentDataContainer) container).getRaw().get(key.toString());
if (base instanceof NBTTagString) {
return base.asString();
net.minecraft.nbt.Tag base = ((CraftPersistentDataContainer) container).getRaw().get(key.toString());
if (base instanceof StringTag) {
return base.getAsString();
}
else if (base instanceof NBTTagByteArray) {
return new String(((NBTTagByteArray) base).getBytes(), StandardCharsets.UTF_8);
else if (base instanceof ByteArrayTag) {
return new String(((ByteArrayTag) base).getAsByteArray(), StandardCharsets.UTF_8);
}
return null;
}

public static BaseComponent[] componentToSpigot(IChatBaseComponent nms) {
String json = IChatBaseComponent.ChatSerializer.a(nms);
public static BaseComponent[] componentToSpigot(Component nms) {
String json = Component.Serializer.toJson(nms);
return ComponentSerializer.parse(json);
}

public static IChatMutableComponent componentToNMS(BaseComponent[] spigot) {
public static MutableComponent componentToNMS(BaseComponent[] spigot) {
String json = ComponentSerializer.toString(spigot);
return IChatBaseComponent.ChatSerializer.b(json);
return Component.Serializer.fromJson(json);
}
}
Expand Up @@ -6,13 +6,13 @@
import com.denizenscript.denizen.utilities.FormattedTextHelper;
import net.md_5.bungee.api.ChatColor;
import net.minecraft.advancements.*;
import net.minecraft.advancements.critereon.CriterionTriggerImpossible;
import net.minecraft.advancements.critereon.ImpossibleTrigger;
import net.minecraft.network.protocol.game.PacketPlayOutAdvancements;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.AdvancementDataPlayer;
import net.minecraft.server.AdvancementDataWorld;
import net.minecraft.server.dedicated.DedicatedServer;
import net.minecraft.server.level.EntityPlayer;
import net.minecraft.server.level.ServerPlayer;
import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey;
import org.bukkit.craftbukkit.v1_17_R1.CraftServer;
Expand All @@ -28,7 +28,7 @@
public class AdvancementHelperImpl extends AdvancementHelper {

private static final String IMPOSSIBLE_KEY = "impossible";
private static final Map<String, Criterion> IMPOSSIBLE_CRITERIA = Collections.singletonMap(IMPOSSIBLE_KEY, new Criterion(new CriterionTriggerImpossible.a()));
private static final Map<String, Criterion> IMPOSSIBLE_CRITERIA = Collections.singletonMap(IMPOSSIBLE_KEY, new Criterion(new ImpossibleTrigger.a()));
private static final String[][] IMPOSSIBLE_REQUIREMENTS = new String[][]{{IMPOSSIBLE_KEY}};

public static AdvancementDataWorld getAdvancementDataWorld() {
Expand Down Expand Up @@ -70,8 +70,8 @@ public void unregister(com.denizenscript.denizen.nms.util.Advancement advancemen
if (advancement.temporary || !advancement.registered) {
return;
}
Map<MinecraftKey, Advancement> advancements = getAdvancementDataWorld().REGISTRY.advancements;
MinecraftKey key = asMinecraftKey(advancement.key);
Map<ResourceKey, Advancement> advancements = getAdvancementDataWorld().REGISTRY.advancements;
ResourceKey key = asResourceKey(advancement.key);
Advancement nms = advancements.get(key);
if (advancement.parent == null) {
Set<Advancement> roots = ReflectionHelper.getFieldValue(Advancements.class, "c", getAdvancementDataWorld().REGISTRY);
Expand Down Expand Up @@ -99,20 +99,20 @@ public void grantPartial(com.denizenscript.denizen.nms.util.Advancement advancem
Map<String, Criterion> criteria = new HashMap<>();
String[][] requirements = new String[advancement.length][];
for (int i = 0; i < advancement.length; i++) {
criteria.put(IMPOSSIBLE_KEY + i, new Criterion(new CriterionTriggerImpossible.a()));
criteria.put(IMPOSSIBLE_KEY + i, new Criterion(new ImpossibleTrigger.a()));
requirements[i] = new String[] { IMPOSSIBLE_KEY + i };
}
progress.a(IMPOSSIBLE_CRITERIA, IMPOSSIBLE_REQUIREMENTS);
for (int i = 0; i < len; i++) {
progress.a(IMPOSSIBLE_KEY + i); // complete impossible criteria
}
PacketHelperImpl.sendPacket(player, new PacketPlayOutAdvancements(false,
PacketHelperImpl.send(player, new PacketPlayOutAdvancements(false,
Collections.singleton(nmsAdvancement),
Collections.emptySet(),
Collections.singletonMap(nmsAdvancement.getName(), progress)));
}
else {
Advancement nmsAdvancement = getAdvancementDataWorld().REGISTRY.advancements.get(asMinecraftKey(advancement.key));
Advancement nmsAdvancement = getAdvancementDataWorld().REGISTRY.advancements.get(asResourceKey(advancement.key));
for (int i = 0; i < len; i++) {
((CraftPlayer) player).getHandle().getAdvancementData().grantCriteria(nmsAdvancement, IMPOSSIBLE_KEY + i);
}
Expand All @@ -130,35 +130,35 @@ public void grant(com.denizenscript.denizen.nms.util.Advancement advancement, Pl
AdvancementProgress progress = new AdvancementProgress();
progress.a(IMPOSSIBLE_CRITERIA, IMPOSSIBLE_REQUIREMENTS);
progress.a(IMPOSSIBLE_KEY); // complete impossible criteria
PacketHelperImpl.sendPacket(player, new PacketPlayOutAdvancements(false,
PacketHelperImpl.send(player, new PacketPlayOutAdvancements(false,
Collections.singleton(nmsAdvancement),
Collections.emptySet(),
Collections.singletonMap(nmsAdvancement.getName(), progress)));
}
else {
Advancement nmsAdvancement = getAdvancementDataWorld().REGISTRY.advancements.get(asMinecraftKey(advancement.key));
Advancement nmsAdvancement = getAdvancementDataWorld().REGISTRY.advancements.get(asResourceKey(advancement.key));
((CraftPlayer) player).getHandle().getAdvancementData().grantCriteria(nmsAdvancement, IMPOSSIBLE_KEY);
}
}

@Override
public void revoke(com.denizenscript.denizen.nms.util.Advancement advancement, Player player) {
if (advancement.temporary) {
PacketHelperImpl.sendPacket(player, new PacketPlayOutAdvancements(false,
PacketHelperImpl.send(player, new PacketPlayOutAdvancements(false,
Collections.emptySet(),
Collections.singleton(asMinecraftKey(advancement.key)),
Collections.singleton(asResourceKey(advancement.key)),
Collections.emptyMap()));
}
else {
Advancement nmsAdvancement = getAdvancementDataWorld().REGISTRY.advancements.get(asMinecraftKey(advancement.key));
Advancement nmsAdvancement = getAdvancementDataWorld().REGISTRY.advancements.get(asResourceKey(advancement.key));
((CraftPlayer) player).getHandle().getAdvancementData().revokeCritera(nmsAdvancement, IMPOSSIBLE_KEY);
}
}

@Override
public void update(Player player) {
EntityPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
nmsPlayer.playerConnection.sendPacket(new PacketPlayOutAdvancements(true,
ServerPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
nmsPlayer.connection.send(new PacketPlayOutAdvancements(true,
Collections.emptySet(),
Collections.emptySet(),
Collections.emptyMap()));
Expand All @@ -169,13 +169,13 @@ public void update(Player player) {
}

private static Advancement asNMSCopy(com.denizenscript.denizen.nms.util.Advancement advancement) {
MinecraftKey key = asMinecraftKey(advancement.key);
ResourceKey key = asResourceKey(advancement.key);
Advancement parent = advancement.parent != null
? getAdvancementDataWorld().REGISTRY.advancements.get(asMinecraftKey(advancement.parent))
? getAdvancementDataWorld().REGISTRY.advancements.get(asResourceKey(advancement.parent))
: null;
AdvancementDisplay display = new AdvancementDisplay(CraftItemStack.asNMSCopy(advancement.icon),
Handler.componentToNMS(FormattedTextHelper.parse(advancement.title, ChatColor.WHITE)), Handler.componentToNMS(FormattedTextHelper.parse(advancement.description, ChatColor.WHITE)),
asMinecraftKey(advancement.background), AdvancementFrameType.valueOf(advancement.frame.name()),
asResourceKey(advancement.background), AdvancementFrameType.valueOf(advancement.frame.name()),
advancement.toast, advancement.announceToChat, advancement.hidden);
display.a(advancement.xOffset, advancement.yOffset);
Map<String, Criterion> criteria = IMPOSSIBLE_CRITERIA;
Expand All @@ -184,14 +184,14 @@ private static Advancement asNMSCopy(com.denizenscript.denizen.nms.util.Advancem
criteria = new HashMap<>();
requirements = new String[advancement.length][];
for (int i = 0; i < advancement.length; i++) {
criteria.put(IMPOSSIBLE_KEY + i, new Criterion(new CriterionTriggerImpossible.a()));
criteria.put(IMPOSSIBLE_KEY + i, new Criterion(new ImpossibleTrigger.a()));
requirements[i] = new String[] { IMPOSSIBLE_KEY + i };
}
}
return new Advancement(key, parent, display, AdvancementRewards.a, criteria, requirements);
}

private static MinecraftKey asMinecraftKey(NamespacedKey key) {
return key != null ? new MinecraftKey(key.getNamespace(), key.getKey()) : null;
private static ResourceKey asResourceKey(NamespacedKey key) {
return key != null ? new ResourceKey(key.getNamespace(), key.getKey()) : null;
}
}
Expand Up @@ -25,23 +25,23 @@ public AnimationHelperImpl() {
});
register("POLAR_BEAR_START_STANDING", entity -> {
if (entity.getType() == EntityType.POLAR_BEAR) {
((CraftPolarBear) entity).getHandle().t(true);
((CraftPolarBear) entity).getHandle().setStanding(true);
}
});
register("POLAR_BEAR_STOP_STANDING", entity -> {
if (entity.getType() == EntityType.POLAR_BEAR) {
((CraftPolarBear) entity).getHandle().t(false);
((CraftPolarBear) entity).getHandle().setStanding(false);
}
});
register("HORSE_BUCK", entity -> {
if (entity instanceof Horse) {
((CraftHorse) entity).getHandle().fm();
((CraftHorse) entity).getHandle().makeMad();
}
});
register("IRON_GOLEM_ATTACK", entity -> {
if (entity instanceof IronGolem) {
Entity nmsEntity = ((CraftEntity) entity).getHandle();
nmsEntity.world.broadcastEntityEffect(nmsEntity, (byte) 4);
nmsEntity.level.broadcastEntityEvent(nmsEntity, (byte) 4);
}
});
}
Expand Down

0 comments on commit b43d9be

Please sign in to comment.