From 2b213100bbaadea9f7624ae88067b8e8b2909913 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Wed, 3 Jul 2024 23:34:04 +0200 Subject: [PATCH] feat: quartz enriched copper and block variant A new usage for copper in cables. --- CHANGELOG.md | 2 ++ .../common/AbstractModInitializer.java | 8 ++++++++ .../platform/common/content/Blocks.java | 10 +++++++++ .../platform/common/content/ContentIds.java | 4 ++++ .../common/content/CreativeModeTabItems.java | 2 ++ .../platform/common/content/Items.java | 10 +++++++++ ...va => ControllerItemPropertyFunction.java} | 16 +++++++-------- .../quartz_enriched_copper_block.json | 7 +++++++ .../assets/refinedstorage2/lang/en_us.json | 2 ++ .../block/quartz_enriched_copper_block.json | 6 ++++++ .../models/item/quartz_enriched_copper.json | 6 ++++++ .../item/quartz_enriched_copper_block.json | 3 +++ .../block/quartz_enriched_copper_block.png | Bin 0 -> 685 bytes .../textures/item/quartz_enriched_copper.png | Bin 0 -> 508 bytes .../data/refinedstorage2/recipe/cable.json | 2 +- .../recipe/quartz_enriched_copper.json | 19 ++++++++++++++++++ .../recipe/quartz_enriched_copper_block.json | 16 +++++++++++++++ .../quartz_enriched_copper_from_block.json | 12 +++++++++++ ...n.json => quartz_enriched_iron_block.json} | 0 .../fabric/ClientModInitializerImpl.java | 4 ++-- .../platform/forge/ClientModInitializer.java | 4 ++-- 21 files changed, 119 insertions(+), 14 deletions(-) rename refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/{ControllerModelPredicateProvider.java => ControllerItemPropertyFunction.java} (60%) create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/blockstates/quartz_enriched_copper_block.json create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/block/quartz_enriched_copper_block.json create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/quartz_enriched_copper.json create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/quartz_enriched_copper_block.json create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/quartz_enriched_copper_block.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/item/quartz_enriched_copper.png create mode 100644 refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_copper.json create mode 100644 refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_copper_block.json create mode 100644 refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_copper_from_block.json rename refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/{block_of_quartz_enriched_iron.json => quartz_enriched_iron_block.json} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index e68e12290..9f665072b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Ported to Minecraft 1.21. - More help information for items. +- Quartz Enriched Copper, used to craft cables. +- Block of Quartz Enriched Copper ### Fixed diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java index 9b8a74e48..0eff45581 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java @@ -185,6 +185,8 @@ import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.NETWORK_TRANSMITTER; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.PORTABLE_GRID; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.PROCESSOR_BINDING; +import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.QUARTZ_ENRICHED_COPPER; +import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.QUARTZ_ENRICHED_COPPER_BLOCK; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.QUARTZ_ENRICHED_IRON; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.QUARTZ_ENRICHED_IRON_BLOCK; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.REGULATOR_UPGRADE; @@ -323,6 +325,7 @@ protected final void registerBlocks( final BiFunction diskInterfaceBlockEntityFactory ) { Blocks.INSTANCE.setQuartzEnrichedIronBlock(callback.register(QUARTZ_ENRICHED_IRON_BLOCK, SimpleBlock::new)); + Blocks.INSTANCE.setQuartzEnrichedCopperBlock(callback.register(QUARTZ_ENRICHED_COPPER_BLOCK, SimpleBlock::new)); Blocks.INSTANCE.setDiskDrive( callback.register(DISK_DRIVE, () -> new DiskDriveBlock(diskDriveBlockEntityFactory)) ); @@ -393,10 +396,15 @@ protected final void registerItems(final RegistryCallback callback) { private void registerSimpleItems(final RegistryCallback callback) { Items.INSTANCE.setQuartzEnrichedIron(callback.register(QUARTZ_ENRICHED_IRON, SimpleItem::new)); + Items.INSTANCE.setQuartzEnrichedCopper(callback.register(QUARTZ_ENRICHED_COPPER, SimpleItem::new)); callback.register( QUARTZ_ENRICHED_IRON_BLOCK, () -> new BaseBlockItem(Blocks.INSTANCE.getQuartzEnrichedIronBlock()) ); + callback.register( + QUARTZ_ENRICHED_COPPER_BLOCK, + () -> new BaseBlockItem(Blocks.INSTANCE.getQuartzEnrichedCopperBlock()) + ); Items.INSTANCE.setSilicon(callback.register(SILICON, SimpleItem::new)); Items.INSTANCE.setProcessorBinding(callback.register(PROCESSOR_BINDING, SimpleItem::new)); callback.register(DISK_DRIVE, () -> Blocks.INSTANCE.getDiskDrive().createBlockItem()); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Blocks.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Blocks.java index 2a70dbc4d..893e9cf95 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Blocks.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Blocks.java @@ -162,6 +162,8 @@ public final class Blocks { @Nullable private Supplier quartzEnrichedIronBlock; @Nullable + private Supplier quartzEnrichedCopperBlock; + @Nullable private Supplier diskDrive; @Nullable private Supplier machineCasing; @@ -189,6 +191,10 @@ public SimpleBlock getQuartzEnrichedIronBlock() { return requireNonNull(quartzEnrichedIronBlock).get(); } + public SimpleBlock getQuartzEnrichedCopperBlock() { + return requireNonNull(quartzEnrichedCopperBlock).get(); + } + public DiskDriveBlock getDiskDrive() { return requireNonNull(diskDrive).get(); } @@ -219,6 +225,10 @@ public void setQuartzEnrichedIronBlock(final Supplier quartzEnriche this.quartzEnrichedIronBlock = quartzEnrichedIronBlockSupplier; } + public void setQuartzEnrichedCopperBlock(final Supplier quartzEnrichedCopperBlockSupplier) { + this.quartzEnrichedCopperBlock = quartzEnrichedCopperBlockSupplier; + } + public void setDiskDrive(final Supplier diskDriveSupplier) { this.diskDrive = diskDriveSupplier; } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentIds.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentIds.java index e8b55f15f..9e344f9bd 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentIds.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentIds.java @@ -13,7 +13,11 @@ public final class ContentIds { public static final ResourceLocation MACHINE_CASING = createIdentifier("machine_casing"); public static final ResourceLocation CABLE = createIdentifier("cable"); public static final ResourceLocation QUARTZ_ENRICHED_IRON_BLOCK = createIdentifier("quartz_enriched_iron_block"); + public static final ResourceLocation QUARTZ_ENRICHED_COPPER_BLOCK = createIdentifier( + "quartz_enriched_copper_block" + ); public static final ResourceLocation QUARTZ_ENRICHED_IRON = createIdentifier("quartz_enriched_iron"); + public static final ResourceLocation QUARTZ_ENRICHED_COPPER = createIdentifier("quartz_enriched_copper"); public static final ResourceLocation SILICON = createIdentifier("silicon"); public static final ResourceLocation PROCESSOR_BINDING = createIdentifier("processor_binding"); public static final ResourceLocation WRENCH = createIdentifier("wrench"); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/CreativeModeTabItems.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/CreativeModeTabItems.java index 97c2159a3..5594bd87c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/CreativeModeTabItems.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/CreativeModeTabItems.java @@ -50,6 +50,7 @@ private static void appendBlocks(final Consumer consumer) { )); itemConsumer.accept(Blocks.INSTANCE.getMachineCasing()); itemConsumer.accept(Blocks.INSTANCE.getQuartzEnrichedIronBlock()); + itemConsumer.accept(Blocks.INSTANCE.getQuartzEnrichedCopperBlock()); itemConsumer.accept(Blocks.INSTANCE.getStorageMonitor()); Items.INSTANCE.getNetworkTransmitters().stream().map(Supplier::get).forEach(itemConsumer); Items.INSTANCE.getNetworkReceivers().stream().map(Supplier::get).forEach(itemConsumer); @@ -65,6 +66,7 @@ private static void appendBlockColors(final Consumer consumer, final private static void appendItems(final Consumer consumer) { final Consumer itemConsumer = item -> consumer.accept(new ItemStack(item)); itemConsumer.accept(Items.INSTANCE.getQuartzEnrichedIron()); + itemConsumer.accept(Items.INSTANCE.getQuartzEnrichedCopper()); itemConsumer.accept(Items.INSTANCE.getSilicon()); itemConsumer.accept(Items.INSTANCE.getProcessorBinding()); itemConsumer.accept(Items.INSTANCE.getWrench()); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Items.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Items.java index ace5950df..98cfbeeff 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Items.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Items.java @@ -53,6 +53,8 @@ public final class Items { @Nullable private Supplier quartzEnrichedIron; @Nullable + private Supplier quartzEnrichedCopper; + @Nullable private Supplier silicon; @Nullable private Supplier processorBinding; @@ -145,6 +147,14 @@ public Item getQuartzEnrichedIron() { return requireNonNull(quartzEnrichedIron).get(); } + public void setQuartzEnrichedCopper(final Supplier supplier) { + this.quartzEnrichedCopper = supplier; + } + + public Item getQuartzEnrichedCopper() { + return requireNonNull(quartzEnrichedCopper).get(); + } + public void setSilicon(final Supplier supplier) { this.silicon = supplier; } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerModelPredicateProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerItemPropertyFunction.java similarity index 60% rename from refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerModelPredicateProvider.java rename to refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerItemPropertyFunction.java index 81ba9cffa..98b9f66e4 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerModelPredicateProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerItemPropertyFunction.java @@ -9,19 +9,17 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; -public class ControllerModelPredicateProvider implements ClampedItemPropertyFunction { +public class ControllerItemPropertyFunction implements ClampedItemPropertyFunction { @Override public float unclampedCall(final ItemStack stack, @Nullable final ClientLevel level, @Nullable final LivingEntity entity, final int seed) { - return PlatformApi.INSTANCE.getEnergyStorage(stack) - .map(energyStorage -> { - if (energyStorage.getStored() == 0) { - return 1F; - } - return (float) energyStorage.getStored() / (float) energyStorage.getCapacity(); - }) - .orElse(1F); + return PlatformApi.INSTANCE.getEnergyStorage(stack).map(energyStorage -> { + if (energyStorage.getStored() == 0) { + return 1F; + } + return (float) energyStorage.getStored() / (float) energyStorage.getCapacity(); + }).orElse(1F); } } diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/blockstates/quartz_enriched_copper_block.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/blockstates/quartz_enriched_copper_block.json new file mode 100644 index 000000000..a659cb284 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/blockstates/quartz_enriched_copper_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "refinedstorage2:block/quartz_enriched_copper_block" + } + } +} diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/lang/en_us.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/lang/en_us.json index 61725cbc3..33e2cc97c 100644 --- a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/lang/en_us.json +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/lang/en_us.json @@ -2,6 +2,7 @@ "mod.refinedstorage2": "Refined Storage 2", "block.refinedstorage2.cable": "Cable", "block.refinedstorage2.quartz_enriched_iron_block": "Block of Quartz Enriched Iron", + "block.refinedstorage2.quartz_enriched_copper_block": "Block of Quartz Enriched Copper", "block.refinedstorage2.disk_drive": "Disk Drive", "block.refinedstorage2.machine_casing": "Machine Casing", "block.refinedstorage2.grid": "Grid", @@ -178,6 +179,7 @@ "item.refinedstorage2.destructor.help": "Destroys blocks from the world and puts them in the storage network.", "item.refinedstorage2.relay.help": "Turn entire sections of a storage network on or off and create new branches of your network.", "item.refinedstorage2.quartz_enriched_iron": "Quartz Enriched Iron", + "item.refinedstorage2.quartz_enriched_copper": "Quartz Enriched Copper", "item.refinedstorage2.processor_binding": "Processor Binding", "item.refinedstorage2.silicon": "Silicon", "item.refinedstorage2.raw_basic_processor": "Raw Basic Processor", diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/block/quartz_enriched_copper_block.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/block/quartz_enriched_copper_block.json new file mode 100644 index 000000000..e5b9fcbf9 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/block/quartz_enriched_copper_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "refinedstorage2:block/quartz_enriched_copper_block" + } +} diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/quartz_enriched_copper.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/quartz_enriched_copper.json new file mode 100644 index 000000000..12e96de59 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/quartz_enriched_copper.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "refinedstorage2:item/quartz_enriched_copper" + } +} diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/quartz_enriched_copper_block.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/quartz_enriched_copper_block.json new file mode 100644 index 000000000..ecbc9afa2 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/quartz_enriched_copper_block.json @@ -0,0 +1,3 @@ +{ + "parent": "refinedstorage2:block/quartz_enriched_copper_block" +} diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/quartz_enriched_copper_block.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/quartz_enriched_copper_block.png new file mode 100644 index 0000000000000000000000000000000000000000..fb59478b5152335567163dbc44816dc724b13aa4 GIT binary patch literal 685 zcmV;e0#f~nP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0zyedK~y+T9a6h) z6fqPXzs8=~Wj7EKL6A@=kSHi9_y{QZ4SK$WhJub7J^>^?fr^MCh@eE9ea?($#&2^5 z7nW?_dtTS%{i}zZvy@U%6ha8fsH#;8$y!VPFV4Al9{0hA>4>`5Z{LY};Z4tFE#^nq zUAL!PCU5-E`av@;ST*;<;rpi#l#l||7hk`O`&G_4TI1TCT%7uTM|erNkjrCd^{;QA z$K5K%NR?80{rBwIi|X!!B841Wkz;UOefk*Wxro8^Le^)`Uq)vbr4*=8Cg#g>c0{N^ zP4Lbh*0$L~UXf`EHb*a)C$y|lOr??peT@6Dr5zmQgAUP zidRCg2T+@KLkR~3RN)4WZM#Je5Y1tWhKWJzo|Os=IE1lv`XCp_h$xsbrxc9tZZ4sg zS9OsyJW=n%uwN0%;h0y839Q*rQL<7@GGZW%>D3?jLGKL7hgiD2PKQszaa85V_wbeWD6m-fpMIXH}x&Z`@F@>QI9@%Bn ztf^372T5`+*bxwFeoV^}xsC098XUAi*2G{nCN}P_gB>7}t15ZludkSt?vk&Xbi?Qn_1}xVdjvk!@(l)y=_E2aJx2A2z zb{o9|cDK1cIe$98cOU5FNS%LgT0X`wF)1CRJJM+$P;+yL!d}TrL9Cv{yr?U5c~obHQzd}{N{dzVjihHlL=y1#ecrFr?A zl65wv>Tb(6et2m4_2sp9woX1bIeB}I$<92pgVoMw`s2?{Nx8Fa%Hc-uBaObDrYr|* z-FM`f9;|jfKQ*<-g00_@eMg>Imnn0%ImnrXDic+JlvzoTU+{l&0K>w5KSQ7ioCO|{ z#S9F5he4R}c>anMpx{DJ7sn8d;M()Ig_;xu*b=toT)(u$$Z9_G+9R7fzSnPcNS}4A z`yY4P|JjK*QnyX5Kd`{=_3o_~Ua~b#mtv^$NR;1ea6Q36 ItemPropertiesAccessor.register( controllerBlockItem.get(), createIdentifier("stored_in_controller"), - new ControllerModelPredicateProvider() + new ControllerItemPropertyFunction() )); } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ClientModInitializer.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ClientModInitializer.java index 4c2983c95..c19b1bc47 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ClientModInitializer.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ClientModInitializer.java @@ -10,7 +10,7 @@ import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.content.KeyMappings; -import com.refinedmods.refinedstorage2.platform.common.controller.ControllerModelPredicateProvider; +import com.refinedmods.refinedstorage2.platform.common.controller.ControllerItemPropertyFunction; import com.refinedmods.refinedstorage2.platform.common.networking.NetworkCardItemPropertyFunction; import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardItemPropertyFunction; import com.refinedmods.refinedstorage2.platform.common.storagemonitor.StorageMonitorBlockEntityRenderer; @@ -79,7 +79,7 @@ private static void registerModelPredicates() { Items.INSTANCE.getControllers().forEach(controllerBlockItem -> ItemProperties.register( controllerBlockItem.get(), createIdentifier("stored_in_controller"), - new ControllerModelPredicateProvider() + new ControllerItemPropertyFunction() )); }