From f2171a7eca8aec39c62451a8f1c2d3d8fcbc257e Mon Sep 17 00:00:00 2001 From: cakeGit <65340665+cakeGit@users.noreply.github.com> Date: Fri, 2 Aug 2024 18:04:07 +0100 Subject: [PATCH] Version 1.1.3 1.1.3: - Fixed display bug, thanks to discord user @karolofgutovo for reporting - Created ponder system with 1 ponder about printing (contraption ponder coming soon) - (Technical) Created datagen --- Changelog.txt | 4 + common/build.gradle | 9 + .../a0215e79d0b720ef451ebefde67e867b1dd8939d | 5 + .../create_pattern_schematics/lang/en_ud.json | 19 +++ .../create_pattern_schematics/lang/en_us.json | 19 +++ .../models/item/empty_pattern_schematic.json | 0 .../models/item/pattern_schematic.json | 0 .../pattern_schematics/PatternSchematics.java | 10 +- .../{ => item}/PatternSchematicItem.java | 6 +- .../ponder/PatternSchematicPonderScenes.java | 155 ++++++++++++++++++ .../ponder/PatternSchematicsPonderIndex.java | 18 ++ .../ponder/PatternSchematicsPonderTags.java | 28 ++++ .../foundation/SchematicUploadItemSource.java | 8 +- .../mirror/PatternSchematicHandler.java | 8 +- .../mixin/DeployerMovementBehaviorMixin.java | 9 +- .../mixin/SchematicInstancesMixin.java | 2 +- .../mixin/SchematicItemMixin.java | 2 +- .../mixin/SchematicPrinterMixin.java | 2 +- .../registry/PatternSchematicsLang.java | 9 +- ...ms.java => PatternSchematicsRegistry.java} | 5 +- .../create_pattern_schematics/lang/en_ud.json | 9 - .../create_pattern_schematics/lang/en_us.json | 9 - .../pattern_schematic/schematic_printing.nbt | Bin 0 -> 1260 bytes fabric/build.gradle | 14 ++ .../fabric/PatternSchematicsFabric.java | 5 +- .../fabric/PatternSchematicsFabricData.java | 35 ++++ .../fabric/mixin/SchematicTableMenuMixin.java | 6 +- .../mixin/SchematicannonInventoryMixin.java | 5 +- .../fabric/PatternSchematicSyncPacket.java | 4 +- fabric/src/main/resources/fabric.mod.json | 3 + .../forge/PatternSchematicsForge.java | 6 +- .../forge/mixin/SchematicTableMenuMixin.java | 6 +- .../mixin/SchematicannonInventoryMixin.java | 4 +- .../forge/PatternSchematicSyncPacket.java | 4 +- gradle.properties | 2 +- 35 files changed, 358 insertions(+), 72 deletions(-) create mode 100644 Changelog.txt create mode 100644 common/src/generated/resources/.cache/a0215e79d0b720ef451ebefde67e867b1dd8939d create mode 100644 common/src/generated/resources/assets/create_pattern_schematics/lang/en_ud.json create mode 100644 common/src/generated/resources/assets/create_pattern_schematics/lang/en_us.json rename common/src/{main => generated}/resources/assets/create_pattern_schematics/models/item/empty_pattern_schematic.json (100%) rename common/src/{main => generated}/resources/assets/create_pattern_schematics/models/item/pattern_schematic.json (100%) rename common/src/main/java/com/cak/pattern_schematics/content/{ => item}/PatternSchematicItem.java (84%) create mode 100644 common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicPonderScenes.java create mode 100644 common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicsPonderIndex.java create mode 100644 common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicsPonderTags.java rename common/src/main/java/com/cak/pattern_schematics/registry/{PatternSchematicsItems.java => PatternSchematicsRegistry.java} (85%) delete mode 100644 common/src/main/resources/assets/create_pattern_schematics/lang/en_ud.json delete mode 100644 common/src/main/resources/assets/create_pattern_schematics/lang/en_us.json create mode 100644 common/src/main/resources/assets/create_pattern_schematics/ponder/pattern_schematic/schematic_printing.nbt create mode 100644 fabric/src/main/java/com/cak/pattern_schematics/fabric/PatternSchematicsFabricData.java diff --git a/Changelog.txt b/Changelog.txt new file mode 100644 index 0000000..b9a3905 --- /dev/null +++ b/Changelog.txt @@ -0,0 +1,4 @@ +1.1.3: + - Fixed display bug, thanks to discord user @karolofgutovo for reporting + - Created ponder system with 1 ponder about printing (contraption ponder coming soon) + - (Technical) Created datagen \ No newline at end of file diff --git a/common/build.gradle b/common/build.gradle index aa99b58..7cf0cea 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -42,3 +42,12 @@ publishing { // Add repositories to publish to here. } } + + +sourceSets.main { + resources { // include generated resources in resources + srcDir("src/generated/resources") + exclude(".cache/**") + exclude("assets/create/**") + } +} diff --git a/common/src/generated/resources/.cache/a0215e79d0b720ef451ebefde67e867b1dd8939d b/common/src/generated/resources/.cache/a0215e79d0b720ef451ebefde67e867b1dd8939d new file mode 100644 index 0000000..19c2b15 --- /dev/null +++ b/common/src/generated/resources/.cache/a0215e79d0b720ef451ebefde67e867b1dd8939d @@ -0,0 +1,5 @@ +// 1.20.1 2024-08-02T17:54:09.165329 Create: Pattern Schematics/Registrate Provider for create_pattern_schematics [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +ef2d06ece9923cc75b5e3dc3070df2808f1cdb74 assets\create_pattern_schematics\models\item\pattern_schematic.json +6d3646ec7fe803669476e65e7d373706b2016bee assets\create_pattern_schematics\lang\en_us.json +79f1b8656342eb1076dad4c796a19efab36b5c8d assets\create_pattern_schematics\lang\en_ud.json +19e25b53bb643c63106b1f83e2f1fe5a6ac63f13 assets\create_pattern_schematics\models\item\empty_pattern_schematic.json diff --git a/common/src/generated/resources/assets/create_pattern_schematics/lang/en_ud.json b/common/src/generated/resources/assets/create_pattern_schematics/lang/en_ud.json new file mode 100644 index 0000000..58c96ea --- /dev/null +++ b/common/src/generated/resources/assets/create_pattern_schematics/lang/en_ud.json @@ -0,0 +1,19 @@ +{ + "create_pattern_schematics.ponder.schematic_printing.header": "sɔıʇɐɯǝɥɔs uɹǝʇʇɐd ɥʇıʍ suɹǝʇʇɐd buıʇuıɹԀ", + "create_pattern_schematics.ponder.schematic_printing.text_1": "ǝɔɹnos ɐ sɐ ǝsn oʇ ɔıʇɐɯǝɥɔs ɐ ǝʌɐs ʇsɹıɟ ʇsnɯ noʎ 'sɔıʇɐɯǝɥɔs uɹǝʇʇɐd ǝsn o⟘", + "create_pattern_schematics.ponder.schematic_printing.text_2": "ɔıʇɐɯǝɥɔs ǝɥʇ ʎןddɐ oʇ ǝןqɐʇ ɔıʇɐɯǝɥɔs ɐ ǝsn 'uǝɥ⟘", + "create_pattern_schematics.ponder.schematic_printing.text_3": "ɔıʇɐɯǝɥɔs ǝɥʇ pɐoןdn puɐ ǝןqɐʇ ǝɥʇ ǝs∩", + "create_pattern_schematics.ponder.schematic_printing.text_4": "pǝʇɐǝdǝɹ ǝq uɐɔ ǝɹnʇɔnɹʇs ǝɥʇ 'ʇuǝɯǝɔɐןd uı ןooʇ ǝuoןɔ ǝɥʇ buısn 'uǝɥ⟘", + "create_pattern_schematics.ponder.schematic_printing.text_5": "ʇɐǝdǝɹ oʇ ןooʇ ǝuoןɔ ǝɥʇ ǝsn 'uıbıɹo ǝɥʇ ɯoɹɟ buıʇɹɐʇS", + "create_pattern_schematics.ponder.schematic_printing.text_6": "pǝʇɐʇoɹ ǝq uɐɔ ɔıʇɐɯǝɥɔs ǝɥʇ 'ʎןןɐuoıʇıppⱯ", + "create_pattern_schematics.ponder.schematic_printing.text_7": "sǝuoןɔ ןןɐ oʇ ʎןddɐ uǝɥʇ ןןıʍ sıɥ⟘", + "create_pattern_schematics.ponder.tag.pattern_schematics": "sɔıʇɐɯǝɥɔS uɹǝʇʇɐԀ", + "create_pattern_schematics.ponder.tag.pattern_schematics.description": "sɔıʇɐɯǝɥɔs uɹǝʇʇɐd ɥʇıʍ buıʇuıɹԀ", + "create_pattern_schematics.schematic.tool.clone": "ǝuoןƆ", + "create_pattern_schematics.schematic.tool.clone.description.0": "ɔıʇɐɯǝɥɔs pǝʇɔǝןǝs ǝɥʇ sʇɐǝdǝᴚ", + "create_pattern_schematics.schematic.tool.clone.description.1": "˙ʇı ʇɐǝdǝɹ oʇ ןןoɹɔS-]Ꞁᴚ⟘Ɔ[ puɐ ɔıʇɐɯǝɥɔS ǝɥʇ ʇɐ ʇuıoԀ", + "create_pattern_schematics.schematic.tool.clone.description.2": "", + "create_pattern_schematics.schematic.tool.clone.description.3": "", + "item.create_pattern_schematics.empty_pattern_schematic": "ɔıʇɐɯǝɥɔS uɹǝʇʇɐԀ ʎʇdɯƎ", + "item.create_pattern_schematics.pattern_schematic": "ɔıʇɐɯǝɥɔS uɹǝʇʇɐԀ" +} \ No newline at end of file diff --git a/common/src/generated/resources/assets/create_pattern_schematics/lang/en_us.json b/common/src/generated/resources/assets/create_pattern_schematics/lang/en_us.json new file mode 100644 index 0000000..4f83c3c --- /dev/null +++ b/common/src/generated/resources/assets/create_pattern_schematics/lang/en_us.json @@ -0,0 +1,19 @@ +{ + "create_pattern_schematics.ponder.schematic_printing.header": "Printing patterns with pattern schematics", + "create_pattern_schematics.ponder.schematic_printing.text_1": "To use pattern schematics, you must first save a schematic to use as a source", + "create_pattern_schematics.ponder.schematic_printing.text_2": "Then, use a schematic table to apply the schematic", + "create_pattern_schematics.ponder.schematic_printing.text_3": "Use the table and upload the schematic", + "create_pattern_schematics.ponder.schematic_printing.text_4": "Then, using the clone tool in placement, the structure can be repeated", + "create_pattern_schematics.ponder.schematic_printing.text_5": "Starting from the origin, use the clone tool to repeat", + "create_pattern_schematics.ponder.schematic_printing.text_6": "Additionally, the schematic can be rotated", + "create_pattern_schematics.ponder.schematic_printing.text_7": "This will then apply to all clones", + "create_pattern_schematics.ponder.tag.pattern_schematics": "Pattern Schematics", + "create_pattern_schematics.ponder.tag.pattern_schematics.description": "Printing with pattern schematics", + "create_pattern_schematics.schematic.tool.clone": "Clone", + "create_pattern_schematics.schematic.tool.clone.description.0": "Repeats the selected schematic", + "create_pattern_schematics.schematic.tool.clone.description.1": "Point at the Schematic and [CTRL]-Scroll to repeat it.", + "create_pattern_schematics.schematic.tool.clone.description.2": "", + "create_pattern_schematics.schematic.tool.clone.description.3": "", + "item.create_pattern_schematics.empty_pattern_schematic": "Empty Pattern Schematic", + "item.create_pattern_schematics.pattern_schematic": "Pattern Schematic" +} \ No newline at end of file diff --git a/common/src/main/resources/assets/create_pattern_schematics/models/item/empty_pattern_schematic.json b/common/src/generated/resources/assets/create_pattern_schematics/models/item/empty_pattern_schematic.json similarity index 100% rename from common/src/main/resources/assets/create_pattern_schematics/models/item/empty_pattern_schematic.json rename to common/src/generated/resources/assets/create_pattern_schematics/models/item/empty_pattern_schematic.json diff --git a/common/src/main/resources/assets/create_pattern_schematics/models/item/pattern_schematic.json b/common/src/generated/resources/assets/create_pattern_schematics/models/item/pattern_schematic.json similarity index 100% rename from common/src/main/resources/assets/create_pattern_schematics/models/item/pattern_schematic.json rename to common/src/generated/resources/assets/create_pattern_schematics/models/item/pattern_schematic.json diff --git a/common/src/main/java/com/cak/pattern_schematics/PatternSchematics.java b/common/src/main/java/com/cak/pattern_schematics/PatternSchematics.java index d37a13f..e5d3613 100644 --- a/common/src/main/java/com/cak/pattern_schematics/PatternSchematics.java +++ b/common/src/main/java/com/cak/pattern_schematics/PatternSchematics.java @@ -1,7 +1,8 @@ package com.cak.pattern_schematics; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; -import com.cak.pattern_schematics.registry.PatternSchematicsLang; +import com.cak.pattern_schematics.content.ponder.PatternSchematicsPonderIndex; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; +import com.cak.pattern_schematics.content.ponder.PatternSchematicsPonderTags; import com.cak.pattern_schematics.registry.PlatformPackets; import com.mojang.logging.LogUtils; import net.minecraft.resources.ResourceLocation; @@ -15,10 +16,11 @@ public class PatternSchematics { private static final Logger LOGGER = LogUtils.getLogger(); public static void init() { - PatternSchematicsItems.register(); + PatternSchematicsRegistry.register(); PlatformPackets.registerPackets(); - PatternSchematicsLang.register(); PlatformPackets.getChannel().initServerListener(); + PatternSchematicsPonderTags.register(); + PatternSchematicsPonderIndex.register(); } public static ResourceLocation asResource(String loc) { diff --git a/common/src/main/java/com/cak/pattern_schematics/content/PatternSchematicItem.java b/common/src/main/java/com/cak/pattern_schematics/content/item/PatternSchematicItem.java similarity index 84% rename from common/src/main/java/com/cak/pattern_schematics/content/PatternSchematicItem.java rename to common/src/main/java/com/cak/pattern_schematics/content/item/PatternSchematicItem.java index e3b8cad..1e8462a 100644 --- a/common/src/main/java/com/cak/pattern_schematics/content/PatternSchematicItem.java +++ b/common/src/main/java/com/cak/pattern_schematics/content/item/PatternSchematicItem.java @@ -1,6 +1,6 @@ -package com.cak.pattern_schematics.content; +package com.cak.pattern_schematics.content.item; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.content.schematics.SchematicItem; import net.minecraft.core.BlockPos; import net.minecraft.core.HolderGetter; @@ -18,7 +18,7 @@ public PatternSchematicItem(Properties properties) { } public static ItemStack create(HolderGetter lookup, String schematic, String owner) { - ItemStack blueprint = PatternSchematicsItems.PATTERN_SCHEMATIC.asStack(); + ItemStack blueprint = PatternSchematicsRegistry.PATTERN_SCHEMATIC.asStack(); CompoundTag tag = new CompoundTag(); tag.putBoolean("Deployed", false); diff --git a/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicPonderScenes.java b/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicPonderScenes.java new file mode 100644 index 0000000..7be0866 --- /dev/null +++ b/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicPonderScenes.java @@ -0,0 +1,155 @@ +package com.cak.pattern_schematics.content.ponder; + +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; +import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.ponder.*; +import com.simibubi.create.foundation.ponder.element.EntityElement; +import com.simibubi.create.foundation.ponder.element.InputWindowElement; +import com.simibubi.create.foundation.utility.Pointing; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Vec3i; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + +public class PatternSchematicPonderScenes { + + public static void schematicPrinting(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("schematic_printing", "Printing patterns with pattern schematics"); + scene.scaleSceneView(0.75f); + scene.configureBasePlate(0, 0, 14); + scene.world.showSection(util.select.layer(0), Direction.UP); + scene.idle(20); + + //Obtaining schematic for printing + BlockPos schematicSavingFrom = new BlockPos(5, 1, 4); + BlockPos schematicSavingTo = new BlockPos(7, 3, 5); + + Selection schematicSavingSelection = util.select.fromTo( + schematicSavingFrom, schematicSavingTo); + + scene.world.showSection(schematicSavingSelection, Direction.DOWN); + + scene.overlay.showText(80) + .placeNearTarget() + .pointAt(new Vec3(6, 3, 5)) + .text("To use pattern schematics, you must first save a schematic to use as a source"); + + scene.idle(50); + + ItemStack schematicAndQuillStack = AllItems.SCHEMATIC_AND_QUILL.asStack(); + + scene.overlay.chaseBoundingBoxOutline(PonderPalette.BLUE, "schematic_saving", + new AABB(schematicSavingFrom, schematicSavingTo.offset(1, 1, 1)), 100); + + scene.overlay.showControls( + new InputWindowElement(Vec3.atCenterOf(schematicSavingFrom), Pointing.DOWN) + .rightClick().withItem(schematicAndQuillStack), 50 + ); + scene.idle(30); + scene.overlay.showControls( + new InputWindowElement(Vec3.atCenterOf(schematicSavingTo), Pointing.DOWN) + .rightClick().withItem(schematicAndQuillStack), 30 + ); + scene.idle(50); + + //Creating the pattern schematic item + + scene.addKeyframe(); + + scene.world.showSection(util.select.position(2, 1, 2), Direction.DOWN); + + scene.overlay.showText(70) + .placeNearTarget() + .pointAt(new Vec3(2.5, 1, 2.5)) + .text("Then, use a schematic table with an empty pattern schematic"); + scene.idle(40); + + ItemStack emptyPatternSchematicItem = PatternSchematicsRegistry.EMPTY_PATTERN_SCHEMATIC.asStack(); + ItemStack patternSchematicItem = PatternSchematicsRegistry.PATTERN_SCHEMATIC.asStack(); + ElementLink currentItem; + currentItem = scene.world.createItemEntity( + new Vec3(2.5, 4, 2.5), + new Vec3(0, 0, 0), + emptyPatternSchematicItem + ); + scene.idle(40); + + scene.overlay.showText(60) + .placeNearTarget() + .pointAt(new Vec3(2.5, 1, 2.5)) + .text("Use the table to upload the schematic"); + + scene.idle(40); + scene.world.modifyEntity(currentItem, Entity::kill); + currentItem = scene.world.createItemEntity( + new Vec3(2.5, 2, 2.5), + new Vec3(0, 0.25, 0), + patternSchematicItem + ); + scene.idle(50); + + //Usage + + scene.addKeyframe(); + + scene.overlay.showText(70) + .placeNearTarget() + .pointAt(new Vec3(2.5, 2, 2.5)) + .text("Then, using the clone tool in placement, the structure can be repeated"); + scene.idle(60); + + Vec3i sectionOffset = new Vec3i(3, 0, 0); + BlockPos sectionMin = new BlockPos(1, 1, 11); + BlockPos sectionMax = new BlockPos(3, 3, 12); + + scene.overlay.showText(60) + .placeNearTarget() + .pointAt(new Vec3(2.5, 2, 12)) + .text("Starting from the origin, use the clone tool to repeat"); + + for (int i = 0; i < 4; i++) { + scene.world.showSection(util.select.fromTo( + sectionMin.offset(sectionOffset.multiply(i)), + sectionMax.offset(sectionOffset.multiply(i)) + ), Direction.DOWN); + + scene.idle(2); + } + scene.idle(62); + + //Usage 2 + + scene.addKeyframe(); + + scene.overlay.showText(80) + .placeNearTarget() + .pointAt(new Vec3(2.5, 2, 2.5)) + .text("Additionally, the schematic can be rotated"); + scene.idle(60); + + Vec3i sectionOffset2 = new Vec3i(0, 0, 3); + BlockPos sectionMin2 = new BlockPos(11, 1, 1); + BlockPos sectionMax2 = new BlockPos(12, 3, 3); + + scene.overlay.showText(80) + .placeNearTarget() + .pointAt(new Vec3(12, 2, 2.5)) + .text("This rotation will then apply to all clones"); + + for (int i = 0; i < 3; i++) { + scene.world.showSection(util.select.fromTo( + sectionMin2.offset(sectionOffset2.multiply(i)), + sectionMax2.offset(sectionOffset2.multiply(i)) + ), Direction.DOWN); + + scene.idle(2); + } + scene.idle(50); + + scene.markAsFinished(); + } + +} diff --git a/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicsPonderIndex.java b/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicsPonderIndex.java new file mode 100644 index 0000000..f693867 --- /dev/null +++ b/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicsPonderIndex.java @@ -0,0 +1,18 @@ +package com.cak.pattern_schematics.content.ponder; + +import com.cak.pattern_schematics.PatternSchematics; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; +import com.simibubi.create.foundation.ponder.PonderRegistrationHelper; + +public class PatternSchematicsPonderIndex { + + static final PonderRegistrationHelper HELPER = new PonderRegistrationHelper(PatternSchematics.MODID); + + public static void register() { + + HELPER.forComponents(PatternSchematicsRegistry.EMPTY_PATTERN_SCHEMATIC, PatternSchematicsRegistry.PATTERN_SCHEMATIC) + .addStoryBoard("pattern_schematic/schematic_printing", PatternSchematicPonderScenes::schematicPrinting, PatternSchematicsPonderTags.PATTERN_SCHEMATIC); + + } + +} diff --git a/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicsPonderTags.java b/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicsPonderTags.java new file mode 100644 index 0000000..b1a758b --- /dev/null +++ b/common/src/main/java/com/cak/pattern_schematics/content/ponder/PatternSchematicsPonderTags.java @@ -0,0 +1,28 @@ +package com.cak.pattern_schematics.content.ponder; + +import com.cak.pattern_schematics.PatternSchematics; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; +import com.simibubi.create.foundation.ponder.PonderRegistry; +import com.simibubi.create.foundation.ponder.PonderTag; + +public class PatternSchematicsPonderTags { + + public static final PonderTag + PATTERN_SCHEMATIC = create("pattern_schematics").item(PatternSchematicsRegistry.PATTERN_SCHEMATIC.get()) + .defaultLang("Pattern Schematics", "Printing with pattern schematics") + .addToIndex(); + + private static PonderTag create(String id) { + return new PonderTag(PatternSchematics.asResource(id)); + } + + public static void register() { + // Add items to tags here + + PonderRegistry.TAGS.forTag(PATTERN_SCHEMATIC) + .add(PatternSchematicsRegistry.EMPTY_PATTERN_SCHEMATIC) + .add(PatternSchematicsRegistry.PATTERN_SCHEMATIC); + + } + +} diff --git a/common/src/main/java/com/cak/pattern_schematics/foundation/SchematicUploadItemSource.java b/common/src/main/java/com/cak/pattern_schematics/foundation/SchematicUploadItemSource.java index 3730454..70c4047 100644 --- a/common/src/main/java/com/cak/pattern_schematics/foundation/SchematicUploadItemSource.java +++ b/common/src/main/java/com/cak/pattern_schematics/foundation/SchematicUploadItemSource.java @@ -1,7 +1,7 @@ package com.cak.pattern_schematics.foundation; -import com.cak.pattern_schematics.content.PatternSchematicItem; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.content.item.PatternSchematicItem; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.AllItems; import com.simibubi.create.content.schematics.SchematicItem; import com.tterrag.registrate.util.entry.ItemEntry; @@ -21,8 +21,8 @@ public enum SchematicUploadItemSource { AllItems.SCHEMATIC ) ), PATTERN(PatternSchematicItem::create, 1, List.of( - PatternSchematicsItems.EMPTY_PATTERN_SCHEMATIC, - PatternSchematicsItems.PATTERN_SCHEMATIC + PatternSchematicsRegistry.EMPTY_PATTERN_SCHEMATIC, + PatternSchematicsRegistry.PATTERN_SCHEMATIC )) ; diff --git a/common/src/main/java/com/cak/pattern_schematics/foundation/mirror/PatternSchematicHandler.java b/common/src/main/java/com/cak/pattern_schematics/foundation/mirror/PatternSchematicHandler.java index ee5ad0d..99b6524 100644 --- a/common/src/main/java/com/cak/pattern_schematics/foundation/mirror/PatternSchematicHandler.java +++ b/common/src/main/java/com/cak/pattern_schematics/foundation/mirror/PatternSchematicHandler.java @@ -1,7 +1,7 @@ package com.cak.pattern_schematics.foundation.mirror; import com.cak.pattern_schematics.foundation.util.Vec3iUtils; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.cak.pattern_schematics.registry.PlatformPackets; import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.vertex.PoseStack; @@ -12,7 +12,6 @@ import com.simibubi.create.content.schematics.SchematicItem; import com.simibubi.create.content.schematics.SchematicWorld; import com.simibubi.create.content.schematics.client.SchematicHandler; -import com.simibubi.create.content.schematics.client.SchematicHotbarSlotOverlay; import com.simibubi.create.content.schematics.client.SchematicRenderer; import com.simibubi.create.content.schematics.client.SchematicTransformation; import com.simibubi.create.foundation.outliner.AABBOutline; @@ -319,7 +318,7 @@ public boolean mouseScrolled(double delta) { private ItemStack findBlueprintInHand(Player player) { ItemStack stack = player.getMainHandItem(); - if (!PatternSchematicsItems.PATTERN_SCHEMATIC.isIn(stack)) + if (!PatternSchematicsRegistry.PATTERN_SCHEMATIC.isIn(stack)) return null; if (!stack.hasTag()) return null; @@ -331,8 +330,7 @@ private ItemStack findBlueprintInHand(Player player) { private boolean itemLost(Player player) { for (int i = 0; i < Inventory.getSelectionSize(); i++) { - if (!ItemStack.matches(player.getInventory() - .getItem(i), activeSchematicItem)) + if (!player.getInventory().getItem(i).equals(activeSchematicItem)) continue; return false; } diff --git a/common/src/main/java/com/cak/pattern_schematics/mixin/DeployerMovementBehaviorMixin.java b/common/src/main/java/com/cak/pattern_schematics/mixin/DeployerMovementBehaviorMixin.java index b7cdcad..c4277bb 100644 --- a/common/src/main/java/com/cak/pattern_schematics/mixin/DeployerMovementBehaviorMixin.java +++ b/common/src/main/java/com/cak/pattern_schematics/mixin/DeployerMovementBehaviorMixin.java @@ -1,10 +1,7 @@ package com.cak.pattern_schematics.mixin; import com.cak.pattern_schematics.foundation.mirror.PatternSchematicWorld; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; -import com.simibubi.create.content.contraptions.behaviour.MovementContext; -import com.simibubi.create.content.kinetics.deployer.DeployerBlockEntity; -import com.simibubi.create.content.kinetics.deployer.DeployerFakePlayer; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.content.kinetics.deployer.DeployerMovementBehaviour; import com.simibubi.create.content.schematics.SchematicItem; import com.simibubi.create.content.schematics.SchematicWorld; @@ -30,7 +27,7 @@ public class DeployerMovementBehaviorMixin { @Redirect(method = "activate", at = @At(value = "INVOKE", target = "Lcom/tterrag/registrate/util/entry/ItemEntry;isIn(Lnet/minecraft/world/item/ItemStack;)Z", remap = true)) public boolean isIn(ItemEntry instance, ItemStack stack) { currentBlueprint = stack; - return instance.isIn(stack) || PatternSchematicsItems.PATTERN_SCHEMATIC.isIn(stack); + return instance.isIn(stack) || PatternSchematicsRegistry.PATTERN_SCHEMATIC.isIn(stack); } @Inject(method = "activate", at = @At(value = "INVOKE", target = "Lcom/simibubi/create/content/kinetics/deployer/DeployerMovementBehaviour;activateAsSchematicPrinter(Lcom/simibubi/create/content/contraptions/behaviour/MovementContext;Lnet/minecraft/core/BlockPos;Lcom/simibubi/create/content/kinetics/deployer/DeployerFakePlayer;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;)V", shift = At.Shift.AFTER, remap = true), cancellable = true) @@ -40,7 +37,7 @@ public void after_activateAsSchematicPrinter(CallbackInfo ci) { @Redirect(method = "activateAsSchematicPrinter", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/levelgen/structure/BoundingBox;isInside(Lnet/minecraft/core/Vec3i;)Z", remap = true)) public boolean isInside(BoundingBox instance, Vec3i vec3i) { - if (PatternSchematicsItems.PATTERN_SCHEMATIC.isIn(currentBlueprint)) { + if (PatternSchematicsRegistry.PATTERN_SCHEMATIC.isIn(currentBlueprint)) { return true; } return instance.isInside(vec3i); diff --git a/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicInstancesMixin.java b/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicInstancesMixin.java index 6ebbd65..27688b7 100644 --- a/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicInstancesMixin.java +++ b/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicInstancesMixin.java @@ -1,6 +1,6 @@ package com.cak.pattern_schematics.mixin; -import com.cak.pattern_schematics.content.PatternSchematicItem; +import com.cak.pattern_schematics.content.item.PatternSchematicItem; import com.cak.pattern_schematics.foundation.mirror.PatternSchematicWorld; import com.simibubi.create.content.schematics.SchematicInstances; import com.simibubi.create.content.schematics.SchematicWorld; diff --git a/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicItemMixin.java b/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicItemMixin.java index 38a4eb7..1e30244 100644 --- a/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicItemMixin.java +++ b/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicItemMixin.java @@ -1,6 +1,6 @@ package com.cak.pattern_schematics.mixin; -import com.cak.pattern_schematics.content.PatternSchematicItem; +import com.cak.pattern_schematics.content.item.PatternSchematicItem; import com.simibubi.create.content.schematics.SchematicItem; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.player.Player; diff --git a/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicPrinterMixin.java b/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicPrinterMixin.java index 0ab2b27..ab79e57 100644 --- a/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicPrinterMixin.java +++ b/common/src/main/java/com/cak/pattern_schematics/mixin/SchematicPrinterMixin.java @@ -1,6 +1,6 @@ package com.cak.pattern_schematics.mixin; -import com.cak.pattern_schematics.content.PatternSchematicItem; +import com.cak.pattern_schematics.content.item.PatternSchematicItem; import com.cak.pattern_schematics.foundation.mirror.PatternSchematicWorld; import com.cak.pattern_schematics.foundation.util.Vec3iUtils; import com.simibubi.create.content.schematics.SchematicPrinter; diff --git a/common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsLang.java b/common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsLang.java index f42e1fa..0d5619c 100644 --- a/common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsLang.java +++ b/common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsLang.java @@ -1,23 +1,26 @@ package com.cak.pattern_schematics.registry; -import com.cak.pattern_schematics.PatternSchematics; +import java.util.function.BiConsumer; /**Currently not functional since there's no datagen, but also there isn't much of a need for datagen now the mdo is done so eeh*/ public class PatternSchematicsLang { + public static BiConsumer ENTRY_CONSUMER = PatternSchematicsRegistry.REGISTRATE::addRawLang; + public static void register() { putLang( "create_pattern_schematics.schematic.tool.clone", "Clone", "create_pattern_schematics.schematic.tool.clone.description.0", "Repeats the selected schematic", "create_pattern_schematics.schematic.tool.clone.description.1", "Point at the Schematic and [CTRL]-Scroll to repeat it.", "create_pattern_schematics.schematic.tool.clone.description.2", "", - "create_pattern_schematics.schematic.tool.clone.description.3", "" + "create_pattern_schematics.schematic.tool.clone.description.3", "", + "create_pattern_schematics.ponder.schematic_printing.header", "Printing with pattern schematics" ); } public static void putLang(String... entryKeyPairs) { for (int i = 0; i < entryKeyPairs.length; i+=2) { - PatternSchematicsItems.REGISTRATE + PatternSchematicsRegistry.REGISTRATE .addRawLang(entryKeyPairs[i], entryKeyPairs[i+1]); } } diff --git a/common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsItems.java b/common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsRegistry.java similarity index 85% rename from common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsItems.java rename to common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsRegistry.java index b82b8bd..bbf485b 100644 --- a/common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsItems.java +++ b/common/src/main/java/com/cak/pattern_schematics/registry/PatternSchematicsRegistry.java @@ -1,13 +1,12 @@ package com.cak.pattern_schematics.registry; import com.cak.pattern_schematics.PatternSchematics; -import com.cak.pattern_schematics.content.PatternSchematicItem; -import com.simibubi.create.AllCreativeModeTabs; +import com.cak.pattern_schematics.content.item.PatternSchematicItem; import com.simibubi.create.foundation.data.CreateRegistrate; import com.tterrag.registrate.util.entry.ItemEntry; import net.minecraft.world.item.Item; -public class PatternSchematicsItems { +public class PatternSchematicsRegistry { public static final CreateRegistrate REGISTRATE = CreateRegistrate.create(PatternSchematics.MODID); diff --git a/common/src/main/resources/assets/create_pattern_schematics/lang/en_ud.json b/common/src/main/resources/assets/create_pattern_schematics/lang/en_ud.json deleted file mode 100644 index 44cdd74..0000000 --- a/common/src/main/resources/assets/create_pattern_schematics/lang/en_ud.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "create_pattern_schematics.schematic.tool.clone": "ǝuoןƆ", - "create_pattern_schematics.schematic.tool.clone.description.0": "ɔıʇɐɯǝɥɔs pǝʇɔǝןǝs ǝɥʇ sʇɐǝdǝᴚ", - "create_pattern_schematics.schematic.tool.clone.description.1": "˙ʇı ʇɐǝdǝɹ oʇ ןןoɹɔS-]Ꞁᴚ⟘Ɔ[ puɐ ɔıʇɐɯǝɥɔS ǝɥʇ ʇɐ ʇuıoԀ", - "create_pattern_schematics.schematic.tool.clone.description.2": "", - "create_pattern_schematics.schematic.tool.clone.description.3": "", - "item.create_pattern_schematics.empty_pattern_schematic": "ɔıʇɐɯǝɥɔS uɹǝʇʇɐԀ ʎʇdɯƎ", - "item.create_pattern_schematics.pattern_schematic": "ɔıʇɐɯǝɥɔS uɹǝʇʇɐԀ" -} \ No newline at end of file diff --git a/common/src/main/resources/assets/create_pattern_schematics/lang/en_us.json b/common/src/main/resources/assets/create_pattern_schematics/lang/en_us.json deleted file mode 100644 index e55bc17..0000000 --- a/common/src/main/resources/assets/create_pattern_schematics/lang/en_us.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "create_pattern_schematics.schematic.tool.clone": "Clone", - "create_pattern_schematics.schematic.tool.clone.description.0": "Repeats the selected schematic", - "create_pattern_schematics.schematic.tool.clone.description.1": "Point at the Schematic and [CTRL]-Scroll to repeat it.", - "create_pattern_schematics.schematic.tool.clone.description.2": "", - "create_pattern_schematics.schematic.tool.clone.description.3": "", - "item.create_pattern_schematics.empty_pattern_schematic": "Empty Pattern Schematic", - "item.create_pattern_schematics.pattern_schematic": "Pattern Schematic" -} \ No newline at end of file diff --git a/common/src/main/resources/assets/create_pattern_schematics/ponder/pattern_schematic/schematic_printing.nbt b/common/src/main/resources/assets/create_pattern_schematics/ponder/pattern_schematic/schematic_printing.nbt new file mode 100644 index 0000000000000000000000000000000000000000..fe47f841523a62cb94136860e3716c2f56409fe6 GIT binary patch literal 1260 zcmb2|=3oGW|9fwp&AaU;()MuT5C4;qqOKS3d0xAl5-g%|VXcF9^6U;DE|pl*oz3@3 zHNEFAzAIm7nRVPs~vOadVI~3Io5T1r0pL)-rst<*7%C^+v@T^ z!8^WGUC*=sy0o}^Nx{W^Z%Z#;o_|91ZvgMVnxj)9V`jJ>(BUmsIy~owfx6)tPu^mq z!*lK!EH^l#$y*%OW|@6>j`obr0!A}fZKj{OWT0+zrjxf==1 zQ)fzywZ`8+|2(=G7`^kE&&>RiBV@2M@!Y9|Yw4R!B%=C#_|hu>&A2_^a`L>hcmAC@ z8!34v>b2R7oqr>xzNs6%IX}lUHT_$99!Nvf?t^FE`kQRF@9up6{Kd>pHJ?9cj<7BE z6RubXOi;6DOlILZtI4y>M546n=f25oXP#Dji5YA>xP)!8B#`YWXOMm4d298}YQY`u zvHRku2;WaGE>3E`xL3~*=#F>o8xLNnGCB-IbM9<-cF174iNxK*`tR*mH+b@>nM+i~ z?m8d;Z7bi56A4Mpp1f+tGY%!}v+cg*diLvt-Kl>s{@wBR&ySzq|9(4nKiqlmU7o97 z&-F`xS@`p`x%2JXzL-Dmf1iH57PsTc;Ro;i_dgN&)qmyb!nj_w+u_#sJpX?5e$*@f zn16L|x&58%z4yzmp8c>d|JLDWAFnT+v+vjC>+9v-y*ik`E!SADL?&|Ar|;|T{(kpk zcbM|}f9tBZ|9G?P*}L8CYwy3gbz40A=PLOan~>eH@50&(SKeKb_t$;;osix4ou?#{}6e6^z7&Gf2X^x@@tI$)kg32`JMUTrK&GWUCf2FJ;6l}H&^Z!m)c?6zx~$L^;ZM_zTCYpZ}vyA-~GSEf2!_wnWe?R002~4tj7QV literal 0 HcmV?d00001 diff --git a/fabric/build.gradle b/fabric/build.gradle index ba8b71d..8f6eb09 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -9,6 +9,20 @@ architectury { loom { accessWidenerPath = project(":common").loom.accessWidenerPath + + runs { + create("datagen") { + client() + + name = "Minecraft Data" + vmArg("-Dfabric-api.datagen") + vmArg("-Dfabric-api.datagen.output-dir=${project(":common").file("src/generated/resources")}") + vmArg("-Dfabric-api.datagen.modid=create_pattern_schematics") + vmArg("-Dporting_lib.datagen.existing_resources=${project(":common").file("src/main/resources")}") + + environmentVariable("DATAGEN", "TRUE") + } + } } configurations { diff --git a/fabric/src/main/java/com/cak/pattern_schematics/fabric/PatternSchematicsFabric.java b/fabric/src/main/java/com/cak/pattern_schematics/fabric/PatternSchematicsFabric.java index 221313b..2224fcf 100644 --- a/fabric/src/main/java/com/cak/pattern_schematics/fabric/PatternSchematicsFabric.java +++ b/fabric/src/main/java/com/cak/pattern_schematics/fabric/PatternSchematicsFabric.java @@ -1,8 +1,7 @@ package com.cak.pattern_schematics.fabric; import com.cak.pattern_schematics.PatternSchematics; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; -import io.github.fabricators_of_create.porting_lib.util.EnvExecutor; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import net.fabricmc.api.ModInitializer; public class PatternSchematicsFabric implements ModInitializer { @@ -10,7 +9,7 @@ public class PatternSchematicsFabric implements ModInitializer { @Override public void onInitialize() { PatternSchematics.init(); - PatternSchematicsItems.REGISTRATE.register(); + PatternSchematicsRegistry.REGISTRATE.register(); } } diff --git a/fabric/src/main/java/com/cak/pattern_schematics/fabric/PatternSchematicsFabricData.java b/fabric/src/main/java/com/cak/pattern_schematics/fabric/PatternSchematicsFabricData.java new file mode 100644 index 0000000..e6dbd6e --- /dev/null +++ b/fabric/src/main/java/com/cak/pattern_schematics/fabric/PatternSchematicsFabricData.java @@ -0,0 +1,35 @@ +package com.cak.pattern_schematics.fabric; + +import com.cak.pattern_schematics.PatternSchematics; +import com.cak.pattern_schematics.content.ponder.PatternSchematicsPonderIndex; +import com.cak.pattern_schematics.content.ponder.PatternSchematicsPonderTags; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; +import com.cak.pattern_schematics.registry.PatternSchematicsLang; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.ponder.PonderLocalization; +import com.simibubi.create.infrastructure.ponder.AllPonderTags; +import com.simibubi.create.infrastructure.ponder.GeneralText; +import com.simibubi.create.infrastructure.ponder.PonderIndex; +import com.simibubi.create.infrastructure.ponder.SharedText; +import io.github.fabricators_of_create.porting_lib.data.ExistingFileHelper; +import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; + +public class PatternSchematicsFabricData implements DataGeneratorEntrypoint { + + @Override + public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { + ExistingFileHelper helper = ExistingFileHelper.withResourcesFromArg(); + PatternSchematicsRegistry.REGISTRATE.setupDatagen(fabricDataGenerator.createPack(), helper); + PatternSchematicsLang.register(); + + PatternSchematicsPonderTags.register(); + PatternSchematicsPonderIndex.register(); + + SharedText.gatherText(); + PonderLocalization.generateSceneLang(); + + PonderLocalization.provideLang(PatternSchematics.MODID, PatternSchematicsLang.ENTRY_CONSUMER); + } + +} diff --git a/fabric/src/main/java/com/cak/pattern_schematics/fabric/mixin/SchematicTableMenuMixin.java b/fabric/src/main/java/com/cak/pattern_schematics/fabric/mixin/SchematicTableMenuMixin.java index 61bd01b..891b9eb 100644 --- a/fabric/src/main/java/com/cak/pattern_schematics/fabric/mixin/SchematicTableMenuMixin.java +++ b/fabric/src/main/java/com/cak/pattern_schematics/fabric/mixin/SchematicTableMenuMixin.java @@ -1,7 +1,7 @@ package com.cak.pattern_schematics.fabric.mixin; import com.cak.pattern_schematics.foundation.mixin_accessors.SchematicTableMenuMixinAccessor; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.AllItems; import com.simibubi.create.content.schematics.table.SchematicTableBlockEntity; import com.simibubi.create.content.schematics.table.SchematicTableMenu; @@ -42,8 +42,8 @@ public boolean mayPlace(ItemStack stack) { return AllItems.EMPTY_SCHEMATIC.isIn(stack) || AllItems.SCHEMATIC_AND_QUILL.isIn(stack) || AllItems.SCHEMATIC.isIn(stack) - || PatternSchematicsItems.EMPTY_PATTERN_SCHEMATIC.isIn(stack) - || PatternSchematicsItems.PATTERN_SCHEMATIC.isIn(stack); + || PatternSchematicsRegistry.EMPTY_PATTERN_SCHEMATIC.isIn(stack) + || PatternSchematicsRegistry.PATTERN_SCHEMATIC.isIn(stack); } }); } diff --git a/fabric/src/main/java/com/cak/pattern_schematics/fabric/mixin/SchematicannonInventoryMixin.java b/fabric/src/main/java/com/cak/pattern_schematics/fabric/mixin/SchematicannonInventoryMixin.java index 8776be6..325fa25 100644 --- a/fabric/src/main/java/com/cak/pattern_schematics/fabric/mixin/SchematicannonInventoryMixin.java +++ b/fabric/src/main/java/com/cak/pattern_schematics/fabric/mixin/SchematicannonInventoryMixin.java @@ -1,10 +1,9 @@ package com.cak.pattern_schematics.fabric.mixin; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.AllItems; import com.simibubi.create.content.schematics.cannon.SchematicannonInventory; import net.fabricmc.fabric.api.transfer.v1.item.ItemVariant; -import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -18,7 +17,7 @@ public class SchematicannonInventoryMixin { public void isItemValid(int slot, ItemVariant variant, int count, CallbackInfoReturnable cir) { if (slot == 0) { cir.setReturnValue( - PatternSchematicsItems.PATTERN_SCHEMATIC.get() == variant.getItem() + PatternSchematicsRegistry.PATTERN_SCHEMATIC.get() == variant.getItem() || AllItems.SCHEMATIC.get() == variant.getItem() ); } diff --git a/fabric/src/main/java/com/cak/pattern_schematics/packet/fabric/PatternSchematicSyncPacket.java b/fabric/src/main/java/com/cak/pattern_schematics/packet/fabric/PatternSchematicSyncPacket.java index 8d03b85..5db320f 100644 --- a/fabric/src/main/java/com/cak/pattern_schematics/packet/fabric/PatternSchematicSyncPacket.java +++ b/fabric/src/main/java/com/cak/pattern_schematics/packet/fabric/PatternSchematicSyncPacket.java @@ -1,7 +1,7 @@ package com.cak.pattern_schematics.packet.fabric; import com.cak.pattern_schematics.foundation.util.Vec3iUtils; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.content.schematics.SchematicInstances; import com.simibubi.create.foundation.networking.SimplePacketBase; import net.minecraft.core.BlockPos; @@ -74,7 +74,7 @@ public boolean handle(Context context) { } else { stack = player.getInventory().getItem(slot); } - if (!PatternSchematicsItems.PATTERN_SCHEMATIC.isIn(stack)) { + if (!PatternSchematicsRegistry.PATTERN_SCHEMATIC.isIn(stack)) { return; } CompoundTag tag = stack.getOrCreateTag(); diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 7d1cd9e..045f0aa 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -20,6 +20,9 @@ ], "client": [ "com.cak.pattern_schematics.fabric.PatternSchematicsFabricClient" + ], + "fabric-datagen": [ + "com.cak.pattern_schematics.fabric.PatternSchematicsFabricData" ] }, "mixins": [ diff --git a/forge/src/main/java/com/cak/pattern_schematics/forge/PatternSchematicsForge.java b/forge/src/main/java/com/cak/pattern_schematics/forge/PatternSchematicsForge.java index bde5f6b..315ae96 100644 --- a/forge/src/main/java/com/cak/pattern_schematics/forge/PatternSchematicsForge.java +++ b/forge/src/main/java/com/cak/pattern_schematics/forge/PatternSchematicsForge.java @@ -1,9 +1,7 @@ package com.cak.pattern_schematics.forge; import com.cak.pattern_schematics.PatternSchematics; -import com.cak.pattern_schematics.PatternSchematicsClient; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; -import com.simibubi.create.CreateClient; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.DistExecutor; @@ -16,7 +14,7 @@ public class PatternSchematicsForge { public PatternSchematicsForge() { // registrate must be given the mod event bus on forge before registration IEventBus eventBus = FMLJavaModLoadingContext.get().getModEventBus(); - PatternSchematicsItems.REGISTRATE.registerEventListeners(eventBus); + PatternSchematicsRegistry.REGISTRATE.registerEventListeners(eventBus); PatternSchematics.init(); DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> PatternSchematicsForgeClient::onInitializeClient); diff --git a/forge/src/main/java/com/cak/pattern_schematics/forge/mixin/SchematicTableMenuMixin.java b/forge/src/main/java/com/cak/pattern_schematics/forge/mixin/SchematicTableMenuMixin.java index 34e8102..4db0c8a 100644 --- a/forge/src/main/java/com/cak/pattern_schematics/forge/mixin/SchematicTableMenuMixin.java +++ b/forge/src/main/java/com/cak/pattern_schematics/forge/mixin/SchematicTableMenuMixin.java @@ -1,7 +1,7 @@ package com.cak.pattern_schematics.forge.mixin; import com.cak.pattern_schematics.foundation.mixin_accessors.SchematicTableMenuMixinAccessor; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.AllItems; import com.simibubi.create.content.schematics.table.SchematicTableBlockEntity; import com.simibubi.create.content.schematics.table.SchematicTableMenu; @@ -42,8 +42,8 @@ public boolean mayPlace(ItemStack stack) { return AllItems.EMPTY_SCHEMATIC.isIn(stack) || AllItems.SCHEMATIC_AND_QUILL.isIn(stack) || AllItems.SCHEMATIC.isIn(stack) - || PatternSchematicsItems.EMPTY_PATTERN_SCHEMATIC.isIn(stack) - || PatternSchematicsItems.PATTERN_SCHEMATIC.isIn(stack); + || PatternSchematicsRegistry.EMPTY_PATTERN_SCHEMATIC.isIn(stack) + || PatternSchematicsRegistry.PATTERN_SCHEMATIC.isIn(stack); } }); } diff --git a/forge/src/main/java/com/cak/pattern_schematics/forge/mixin/SchematicannonInventoryMixin.java b/forge/src/main/java/com/cak/pattern_schematics/forge/mixin/SchematicannonInventoryMixin.java index 3ee260e..81a41d1 100644 --- a/forge/src/main/java/com/cak/pattern_schematics/forge/mixin/SchematicannonInventoryMixin.java +++ b/forge/src/main/java/com/cak/pattern_schematics/forge/mixin/SchematicannonInventoryMixin.java @@ -1,6 +1,6 @@ package com.cak.pattern_schematics.forge.mixin; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.AllItems; import com.simibubi.create.content.schematics.cannon.SchematicannonInventory; import net.minecraft.world.item.ItemStack; @@ -17,7 +17,7 @@ public class SchematicannonInventoryMixin { public void isItemValid(int slot, ItemStack stack, CallbackInfoReturnable cir) { if (slot == 0) { cir.setReturnValue( - PatternSchematicsItems.PATTERN_SCHEMATIC.get() == stack.getItem() + PatternSchematicsRegistry.PATTERN_SCHEMATIC.get() == stack.getItem() || AllItems.SCHEMATIC.get() == stack.getItem() ); } diff --git a/forge/src/main/java/com/cak/pattern_schematics/packet/forge/PatternSchematicSyncPacket.java b/forge/src/main/java/com/cak/pattern_schematics/packet/forge/PatternSchematicSyncPacket.java index a035f89..5f50d07 100644 --- a/forge/src/main/java/com/cak/pattern_schematics/packet/forge/PatternSchematicSyncPacket.java +++ b/forge/src/main/java/com/cak/pattern_schematics/packet/forge/PatternSchematicSyncPacket.java @@ -1,7 +1,7 @@ package com.cak.pattern_schematics.packet.forge; import com.cak.pattern_schematics.foundation.util.Vec3iUtils; -import com.cak.pattern_schematics.registry.PatternSchematicsItems; +import com.cak.pattern_schematics.registry.PatternSchematicsRegistry; import com.simibubi.create.content.schematics.SchematicInstances; import com.simibubi.create.foundation.networking.SimplePacketBase; import net.minecraft.core.BlockPos; @@ -75,7 +75,7 @@ public boolean handle(NetworkEvent.Context context) { } else { stack = player.getInventory().getItem(slot); } - if (!PatternSchematicsItems.PATTERN_SCHEMATIC.isIn(stack)) { + if (!PatternSchematicsRegistry.PATTERN_SCHEMATIC.isIn(stack)) { return; } CompoundTag tag = stack.getOrCreateTag(); diff --git a/gradle.properties b/gradle.properties index 2759090..feeaa96 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ org.gradle.jvmargs = -Xmx2G # Mod Info archives_base_name = pattern_schematics -mod_version = 1.1.1 +mod_version = 1.1.3 maven_group = com.cak.pattern_schematics minecraft_version = 1.20.1