diff --git a/README.md b/README.md index 0f01fe5..99cfb32 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ Extractor is a Fabric mod that extracts Minecraft data (blocks, items, entities, - [x] DialogActionType - [x] DialogBodyType - [x] Custom Stats +- [x] Slot Ranges ### Running diff --git a/src/main/kotlin/de/snowii/extractor/Extractor.kt b/src/main/kotlin/de/snowii/extractor/Extractor.kt index 74a5ce5..197fd0e 100644 --- a/src/main/kotlin/de/snowii/extractor/Extractor.kt +++ b/src/main/kotlin/de/snowii/extractor/Extractor.kt @@ -88,6 +88,7 @@ class Extractor : ModInitializer { RecipeRemainder(), VillagerData(), CustomStats(), + SlotRanges(), /* ChunkDumpTests.NoiseDump( "no_blend_no_beard_0_0.chunk", 0, diff --git a/src/main/kotlin/de/snowii/extractor/extractors/non_registry/SlotRanges.kt b/src/main/kotlin/de/snowii/extractor/extractors/non_registry/SlotRanges.kt new file mode 100644 index 0000000..72d4002 --- /dev/null +++ b/src/main/kotlin/de/snowii/extractor/extractors/non_registry/SlotRanges.kt @@ -0,0 +1,28 @@ +package de.snowii.extractor.extractors.non_registry + +import com.google.gson.JsonArray +import com.google.gson.JsonElement +import com.google.gson.JsonObject +import de.snowii.extractor.Extractor +import net.minecraft.server.MinecraftServer +import net.minecraft.world.inventory.SlotRanges + +class SlotRanges : Extractor.Extractor { + override fun fileName(): String { + return "slot_ranges.json" + } + + override fun extract(server: MinecraftServer): JsonElement { + val slotRanges = JsonObject() + for (slotRangeName in SlotRanges.allNames()) { + val slotRange = SlotRanges.nameToIds(slotRangeName)!! + val intList = slotRange.slots() + + val intArray = JsonArray() + intList.forEach { i -> intArray.add(i) } + + slotRanges.add(slotRangeName, intArray) + } + return slotRanges + } +} \ No newline at end of file