mirror of
https://github.com/SparklyPower/SparklyPaper.git
synced 2025-12-20 15:39:32 +00:00
Remap SparklyPower hacky legacy NBT tags + Branding changes
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] new fork who dis - Rebrand to SparklyPaper and Build Changes
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 4998aff0b7cb084dcda15c6a18bbe45e99b6000a..260a00dc826dcb5132d620ac324c44079436cdff 100644
|
index 4998aff0b7cb084dcda15c6a18bbe45e99b6000a..b2003e125fb923f531bf3777ebe39be0889601e4 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -3,6 +3,8 @@ import java.time.Instant
|
@@ -3,6 +3,8 @@ import java.time.Instant
|
||||||
@@ -45,6 +45,17 @@ index 4998aff0b7cb084dcda15c6a18bbe45e99b6000a..260a00dc826dcb5132d620ac324c4407
|
|||||||
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
|
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
|
||||||
val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper
|
val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper
|
||||||
attributes(
|
attributes(
|
||||||
|
@@ -86,8 +98,8 @@ tasks.jar {
|
||||||
|
"Specification-Title" to "Paper",
|
||||||
|
"Specification-Version" to project.version,
|
||||||
|
"Specification-Vendor" to "Paper Team",
|
||||||
|
- "Brand-Id" to "papermc:paper",
|
||||||
|
- "Brand-Name" to "Paper",
|
||||||
|
+ "Brand-Id" to "sparklypower:sparklypaper", // SparklyPaper
|
||||||
|
+ "Brand-Name" to "SparklyPaper", // SparklyPaper
|
||||||
|
"Build-Number" to (build ?: ""),
|
||||||
|
"Build-Time" to Instant.now().toString(),
|
||||||
|
"Git-Branch" to gitBranch, // Paper
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
index 774556a62eb240da42e84db4502e2ed43495be17..9bc7b99b5b39a8ffe4118b8d86f5b8065c4fe460 100644
|
index 774556a62eb240da42e84db4502e2ed43495be17..9bc7b99b5b39a8ffe4118b8d86f5b8065c4fe460 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
|
|||||||
@@ -0,0 +1,129 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: MrPowerGamerBR <git@mrpowergamerbr.com>
|
||||||
|
Date: Sat, 1 Jun 2024 01:22:41 -0300
|
||||||
|
Subject: [PATCH] Remap SparklyPower hacky legacy NBT tags
|
||||||
|
|
||||||
|
This is only useful for us in SparklyPower, but yeah...
|
||||||
|
|
||||||
|
diff --git a/src/main/java/ca/spottedleaf/dataconverter/minecraft/converters/itemstack/ConverterItemStackToDataComponents.java b/src/main/java/ca/spottedleaf/dataconverter/minecraft/converters/itemstack/ConverterItemStackToDataComponents.java
|
||||||
|
index a5a21d1c7579e45b78eae4b42a9f023db74acc0a..921947048648ff4555b80be4ef669a6dd53b12af 100644
|
||||||
|
--- a/src/main/java/ca/spottedleaf/dataconverter/minecraft/converters/itemstack/ConverterItemStackToDataComponents.java
|
||||||
|
+++ b/src/main/java/ca/spottedleaf/dataconverter/minecraft/converters/itemstack/ConverterItemStackToDataComponents.java
|
||||||
|
@@ -9,6 +9,7 @@ import ca.spottedleaf.dataconverter.types.ObjectType;
|
||||||
|
import ca.spottedleaf.dataconverter.types.TypeUtil;
|
||||||
|
import ca.spottedleaf.dataconverter.util.NamespaceUtil;
|
||||||
|
import net.minecraft.util.Mth;
|
||||||
|
+
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
@@ -1220,6 +1221,7 @@ public final class ConverterItemStackToDataComponents {
|
||||||
|
ret.setString("id", this.id);
|
||||||
|
ret.setInt("count", this.count);
|
||||||
|
if (!this.tag.isEmpty()) {
|
||||||
|
+ net.sparklypower.sparklypaper.LegacyNBTRemapper.INSTANCE.remap(this.tag); // SparklyPaper - Remap SparklyPower hacky legacy NBT tags
|
||||||
|
this.components.setMap("minecraft:custom_data", this.tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/main/kotlin/net/sparklypower/sparklypaper/LegacyNBTRemapper.kt b/src/main/kotlin/net/sparklypower/sparklypaper/LegacyNBTRemapper.kt
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000000000000000000000000000000000..194d1ed887c389dc50648d0c05c2d71de2691c09
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/main/kotlin/net/sparklypower/sparklypaper/LegacyNBTRemapper.kt
|
||||||
|
@@ -0,0 +1,95 @@
|
||||||
|
+package net.sparklypower.sparklypaper
|
||||||
|
+
|
||||||
|
+import ca.spottedleaf.dataconverter.types.MapType
|
||||||
|
+
|
||||||
|
+object LegacyNBTRemapper {
|
||||||
|
+ /**
|
||||||
|
+ * Remaps hacky direct NBT storage used in SparklyPower to proper PersistentDataContainer data
|
||||||
|
+ */
|
||||||
|
+ fun remap(tag: MapType<String>) {
|
||||||
|
+ val perfectDreamsMap = tag.getMap<String>("PerfectDreams")
|
||||||
|
+
|
||||||
|
+ if (perfectDreamsMap != null) {
|
||||||
|
+ val publicBukkitValuesMap = tag.getOrCreateMap<String>("PublicBukkitValues")
|
||||||
|
+
|
||||||
|
+ // The "setBoolean" functions do set bytes behind the scenes, just like how we do the things in SparklyPower
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("isJetpack")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("sparklypower:is_jetpack", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("disallowCrafting")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("sparklypower:disallow_crafting", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("poop")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("sparklypower:is_poop", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("renamedBySeuZe")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("sparklypower:is_renamed_by_seu_ze", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("isMonsterPickaxe")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("sparklypower:is_monster_tool", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("itemOwner")?.let {
|
||||||
|
+ publicBukkitValuesMap.setString("sparklypower:item_owner", it)
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("DreamFusca")?.let {
|
||||||
|
+ publicBukkitValuesMap.setString("sparklypower:fusca_info", it)
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("isFusca")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("sparklypower:is_fusca", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("fancyLeatherArmor")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("sparklypower:is_fancy_leather_armor", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("caixaSecretaLevel")?.let {
|
||||||
|
+ publicBukkitValuesMap.setInt("sparklypower:caixa_secreta_level", it.toInt())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("caixaSecretaWorld")?.let {
|
||||||
|
+ publicBukkitValuesMap.setString("sparklypower:caixa_secreta_world", it)
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("isMoveSpawners")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("sparklypower:is_move_spawners_tool", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("spawnerType")?.let {
|
||||||
|
+ publicBukkitValuesMap.setString("sparklypower:spawner_type", it)
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("isMochila")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("is_mochila", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("mochilaId")?.let {
|
||||||
|
+ publicBukkitValuesMap.setLong("mochila_id", it.toLong())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("customMapOwner")?.let {
|
||||||
|
+ publicBukkitValuesMap.setString("map_custom_owner", it)
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ perfectDreamsMap.getStringAndRemove("quickTeleport")?.let {
|
||||||
|
+ publicBukkitValuesMap.setBoolean("is_quick_resources_teleport", it.toBoolean())
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // If it is empty, then it means that we have migrated everything and we can remove the old PerfectDreams tag, yay!
|
||||||
|
+ if (perfectDreamsMap.isEmpty)
|
||||||
|
+ tag.remove("PerfectDreams")
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private fun MapType<String>.getStringAndRemove(key: String): String? {
|
||||||
|
+ val v = getString(key)
|
||||||
|
+ remove(key)
|
||||||
|
+ return v
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
\ No newline at end of file
|
||||||
Reference in New Issue
Block a user