From f7391850408e3056a3250e66aac0384cba35b1ac Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Sat, 8 Feb 2020 20:02:14 +0100 Subject: [PATCH] More Item Descriptions - Motor -> Creative Motor - Removed schematicannon creative crate from creative tab - Engines now show stats in their tooltip - Added some missing tooltips - Furnace Engine now has a configurable capacity --- .../java/com/simibubi/create/AllBlocks.java | 2 +- .../com/simibubi/create/AllTileEntities.java | 2 +- .../com/simibubi/create/ScreenResources.java | 3 +- .../com/simibubi/create/config/CStress.java | 9 +- .../create/config/StressConfigDefaults.java | 4 +- .../foundation/item/ItemDescription.java | 15 ++- .../create/foundation/item/TooltipHelper.java | 5 +- .../contraptions/base/KineticTileEntity.java | 4 +- .../components/clock/CuckooClockBlock.java | 8 ++ .../engine/FurnaceEngineTileEntity.java | 11 +- .../schematics/block/CreativeCrateBlock.java | 7 ++ .../block/SchematicannonScreen.java | 4 +- .../{motor.json => creative_motor.json} | 0 .../resources/assets/create/lang/en_us.json | 108 ++++++++++++++++-- .../item/{motor.json => creative_motor.json} | 0 .../assets/create/models/item/goggles.json | 4 +- .../create/textures/block/bearing_side.png | Bin 558 -> 423 bytes .../create/textures/gui/schematicannon.png | Bin 4376 -> 12936 bytes .../{motor.json => creative_motor.json} | 2 +- 19 files changed, 152 insertions(+), 36 deletions(-) rename src/main/resources/assets/create/blockstates/{motor.json => creative_motor.json} (100%) rename src/main/resources/assets/create/models/item/{motor.json => creative_motor.json} (100%) rename src/main/resources/data/create/loot_tables/blocks/{motor.json => creative_motor.json} (86%) diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index e13a79fdf..f498b4ba5 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -115,7 +115,7 @@ public enum AllBlocks { ENCASED_BELT(new EncasedBeltBlock()), ADJUSTABLE_PULLEY(new AdjustablePulleyBlock()), BELT(new BeltBlock()), - MOTOR(new MotorBlock()), + CREATIVE_MOTOR(new MotorBlock()), WATER_WHEEL(new WaterWheelBlock()), ENCASED_FAN(new EncasedFanBlock()), NOZZLE(new NozzleBlock()), diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index f0bb39a1a..63ba780a5 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -98,7 +98,7 @@ public enum AllTileEntities { // Kinetics SHAFT(ShaftTileEntity::new, AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL, AllBlocks.ENCASED_SHAFT), - MOTOR(MotorTileEntity::new, AllBlocks.MOTOR), + MOTOR(MotorTileEntity::new, AllBlocks.CREATIVE_MOTOR), GEARBOX(GearboxTileEntity::new, AllBlocks.GEARBOX), TURNTABLE(TurntableTileEntity::new, AllBlocks.TURNTABLE), ENCASED_SHAFT(EncasedShaftTileEntity::new, AllBlocks.ENCASED_SHAFT, AllBlocks.ENCASED_BELT), diff --git a/src/main/java/com/simibubi/create/ScreenResources.java b/src/main/java/com/simibubi/create/ScreenResources.java index d62357424..62735a0d0 100644 --- a/src/main/java/com/simibubi/create/ScreenResources.java +++ b/src/main/java/com/simibubi/create/ScreenResources.java @@ -16,7 +16,8 @@ public enum ScreenResources { SCHEMATIC_TABLE_PROGRESS("schematic_table.png", 209, 0, 24, 17), SCHEMATIC("schematic.png", 207, 95), - SCHEMATICANNON("schematicannon.png", 247, 161), + SCHEMATICANNON_BG("schematicannon.png", 247, 161), + SCHEMATICANNON_BG_FUEL("schematicannon.png", 247, 161), SCHEMATICANNON_PROGRESS("schematicannon.png", 0, 161, 121, 16), SCHEMATICANNON_PROGRESS_2("schematicannon.png", 122, 161, 16, 15), SCHEMATICANNON_HIGHLIGHT("schematicannon.png", 0, 182, 28, 28), diff --git a/src/main/java/com/simibubi/create/config/CStress.java b/src/main/java/com/simibubi/create/config/CStress.java index 4fa303a02..d42a7cc10 100644 --- a/src/main/java/com/simibubi/create/config/CStress.java +++ b/src/main/java/com/simibubi/create/config/CStress.java @@ -6,6 +6,7 @@ import java.util.Map; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.base.KineticBlock; +import com.simibubi.create.modules.contraptions.components.flywheel.engine.EngineBlock; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.ForgeConfigSpec; @@ -14,8 +15,8 @@ import net.minecraftforge.common.ForgeConfigSpec.ConfigValue; public class CStress extends ConfigBase { - public Map> impacts = new HashMap<>(); public Map> capacities = new HashMap<>(); + public Map> impacts = new HashMap<>(); @Override protected void registerAll(Builder builder) { @@ -27,7 +28,7 @@ public class CStress extends ConfigBase { builder.comment("", Comments.su, Comments.capacity).push("capacity"); for (AllBlocks block : AllBlocks.values()) - if (block.get() instanceof KineticBlock) + if (block.get() instanceof KineticBlock || block.get() instanceof EngineBlock) initStressCapacityEntry(block, builder); builder.pop(); } @@ -35,7 +36,7 @@ public class CStress extends ConfigBase { private void initStressEntry(AllBlocks block, final ForgeConfigSpec.Builder builder) { String name = Lang.asId(block.name()); double defaultStressImpact = StressConfigDefaults.getDefaultStressImpact(block); - capacities.put(block.get().getRegistryName(), builder.define(name, defaultStressImpact)); + impacts.put(block.get().getRegistryName(), builder.define(name, defaultStressImpact)); } private void initStressCapacityEntry(AllBlocks block, final ForgeConfigSpec.Builder builder) { @@ -43,7 +44,7 @@ public class CStress extends ConfigBase { if (defaultStressCapacity == -1) return; String name = Lang.asId(block.name()); - impacts.put(block.get().getRegistryName(), builder.define(name, defaultStressCapacity)); + capacities.put(block.get().getRegistryName(), builder.define(name, defaultStressCapacity)); } @Override diff --git a/src/main/java/com/simibubi/create/config/StressConfigDefaults.java b/src/main/java/com/simibubi/create/config/StressConfigDefaults.java index f47eac99d..141b3694b 100644 --- a/src/main/java/com/simibubi/create/config/StressConfigDefaults.java +++ b/src/main/java/com/simibubi/create/config/StressConfigDefaults.java @@ -7,8 +7,10 @@ public class StressConfigDefaults { public static double getDefaultStressCapacity(AllBlocks block) { switch (block) { - case MOTOR: + case CREATIVE_MOTOR: return 1024; + case FURNACE_ENGINE: + return 512; case MECHANICAL_BEARING: return 128; case ENCASED_FAN: diff --git a/src/main/java/com/simibubi/create/foundation/item/ItemDescription.java b/src/main/java/com/simibubi/create/foundation/item/ItemDescription.java index b321b5f36..5a1615c9a 100644 --- a/src/main/java/com/simibubi/create/foundation/item/ItemDescription.java +++ b/src/main/java/com/simibubi/create/foundation/item/ItemDescription.java @@ -28,6 +28,7 @@ import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.contraptions.base.IRotate; import com.simibubi.create.modules.contraptions.base.IRotate.SpeedLevel; import com.simibubi.create.modules.contraptions.base.IRotate.StressImpact; +import com.simibubi.create.modules.contraptions.components.flywheel.engine.EngineBlock; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; @@ -82,13 +83,15 @@ public class ItemDescription { return this; } - public ItemDescription withKineticStats(IRotate block) { + public ItemDescription withKineticStats(Block block) { + + boolean isEngine = block instanceof EngineBlock; CKinetics config = AllConfigs.SERVER.kinetics; - SpeedLevel minimumRequiredSpeedLevel = block.getMinimumRequiredSpeedLevel(); + SpeedLevel minimumRequiredSpeedLevel = isEngine ? SpeedLevel.NONE : ((IRotate) block).getMinimumRequiredSpeedLevel(); boolean hasSpeedRequirement = minimumRequiredSpeedLevel != SpeedLevel.NONE; ResourceLocation id = ((Block) block).getRegistryName(); - Map> impacts = config.stressValues.capacities; - Map> capacities = config.stressValues.impacts; + Map> impacts = config.stressValues.impacts; + Map> capacities = config.stressValues.capacities; boolean hasStressImpact = impacts.containsKey(id) && impacts.get(id).get() > 0; boolean hasStressCapacity = capacities.containsKey(id); boolean hasGlasses = @@ -108,7 +111,7 @@ public class ItemDescription { add(linesOnShift, level); } String stressUnit = Lang.translate("generic.unit.stress"); - if (hasStressImpact && !block.hideStressImpact()) { + if (hasStressImpact && !(!isEngine && ((IRotate) block).hideStressImpact())) { List stressLevels = Lang.translatedOptions("tooltip.stressImpact", "low", "medium", "high"); double impact = impacts.get(id).get(); StressImpact impactId = impact >= config.highStressImpact.get() ? StressImpact.HIGH @@ -134,7 +137,7 @@ public class ItemDescription { if (hasGlasses) level += " (" + capacity + stressUnit + ")"; - if (block.showCapacityWithAnnotation()) + if (!isEngine && ((IRotate) block).showCapacityWithAnnotation()) level += " " + DARK_GRAY + TextFormatting.ITALIC + Lang.translate("tooltip.capacityProvided.asGenerator"); diff --git a/src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java b/src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java index dbdcc065e..14882f5ba 100644 --- a/src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java +++ b/src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java @@ -13,6 +13,7 @@ import com.simibubi.create.foundation.item.ItemDescription.Palette; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.modules.IModule; import com.simibubi.create.modules.contraptions.base.IRotate; +import com.simibubi.create.modules.contraptions.components.flywheel.engine.EngineBlock; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; @@ -133,8 +134,8 @@ public class TooltipHelper { // Requirements if (stack.getItem() instanceof BlockItem) { BlockItem item = (BlockItem) stack.getItem(); - if (item.getBlock() instanceof IRotate) { - tooltip = tooltip.withKineticStats((IRotate) item.getBlock()); + if (item.getBlock() instanceof IRotate || item.getBlock() instanceof EngineBlock) { + tooltip = tooltip.withKineticStats(item.getBlock()); } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/base/KineticTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/base/KineticTileEntity.java index 2767db839..a683f470b 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/base/KineticTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/base/KineticTileEntity.java @@ -81,7 +81,7 @@ public abstract class KineticTileEntity extends SmartTileEntity implements ITick } public float getAddedStressCapacity() { - Map> capacityMap = AllConfigs.SERVER.kinetics.stressValues.impacts; + Map> capacityMap = AllConfigs.SERVER.kinetics.stressValues.capacities; ResourceLocation path = getBlockState().getBlock().getRegistryName(); if (!capacityMap.containsKey(path)) return 0; @@ -89,7 +89,7 @@ public abstract class KineticTileEntity extends SmartTileEntity implements ITick } public float getStressApplied() { - Map> stressEntries = AllConfigs.SERVER.kinetics.stressValues.capacities; + Map> stressEntries = AllConfigs.SERVER.kinetics.stressValues.impacts; ResourceLocation path = getBlockState().getBlock().getRegistryName(); if (!stressEntries.containsKey(path)) return 1; diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockBlock.java index 49e8f7d0f..02cc18810 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockBlock.java @@ -1,5 +1,6 @@ package com.simibubi.create.modules.contraptions.components.clock; +import com.simibubi.create.AllBlocks; import com.simibubi.create.modules.contraptions.base.HorizontalKineticBlock; import net.minecraft.block.Block; @@ -41,6 +42,13 @@ public class CuckooClockBlock extends HorizontalKineticBlock { if (!mysterious) super.fillItemGroup(group, items); } + + @Override + public String getTranslationKey() { + if (this == AllBlocks.MYSTERIOUS_CUCKOO_CLOCK.get()) + return AllBlocks.CUCKOO_CLOCK.get().getTranslationKey(); + return super.getTranslationKey(); + } @Override public BlockState getStateForPlacement(BlockItemUseContext context) { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/flywheel/engine/FurnaceEngineTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/flywheel/engine/FurnaceEngineTileEntity.java index 185361304..87f487dd0 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/flywheel/engine/FurnaceEngineTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/flywheel/engine/FurnaceEngineTileEntity.java @@ -1,10 +1,13 @@ package com.simibubi.create.modules.contraptions.components.flywheel.engine; +import com.simibubi.create.AllBlocks; import com.simibubi.create.AllTileEntities; +import com.simibubi.create.config.AllConfigs; import net.minecraft.block.AbstractFurnaceBlock; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; +import net.minecraft.util.ResourceLocation; public class FurnaceEngineTileEntity extends EngineTileEntity { @@ -22,12 +25,14 @@ public class FurnaceEngineTileEntity extends EngineTileEntity { BlockState state = world.getBlockState(EngineBlock.getBaseBlockPos(getBlockState(), pos)); if (!(state.getBlock() instanceof AbstractFurnaceBlock)) return; - + float modifier = state.getBlock() == Blocks.BLAST_FURNACE ? 2 : 1; boolean active = state.has(AbstractFurnaceBlock.LIT) && state.get(AbstractFurnaceBlock.LIT); float speed = active ? 16 * modifier : 0; - float capacity = active ? 512 : 0; - + ResourceLocation registryName = AllBlocks.FURNACE_ENGINE.get().getRegistryName(); + float capacity = + active ? AllConfigs.SERVER.kinetics.stressValues.capacities.get(registryName).get().floatValue() : 0; + appliedCapacity = capacity; appliedSpeed = speed; refreshWheelSpeed(); diff --git a/src/main/java/com/simibubi/create/modules/schematics/block/CreativeCrateBlock.java b/src/main/java/com/simibubi/create/modules/schematics/block/CreativeCrateBlock.java index b80c3307a..b8a328bfe 100644 --- a/src/main/java/com/simibubi/create/modules/schematics/block/CreativeCrateBlock.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/CreativeCrateBlock.java @@ -5,6 +5,9 @@ import com.simibubi.create.foundation.utility.AllShapes; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.material.Material; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; +import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; @@ -21,6 +24,10 @@ public class CreativeCrateBlock extends Block { return false; } + @Override + public void fillItemGroup(ItemGroup group, NonNullList items) { + } + @Override public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { return AllShapes.CRATE_BLOCK_SHAPE; diff --git a/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonScreen.java b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonScreen.java index 82904fb68..00f38641d 100644 --- a/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonScreen.java +++ b/src/main/java/com/simibubi/create/modules/schematics/block/SchematicannonScreen.java @@ -67,7 +67,7 @@ public class SchematicannonScreen extends AbstractSimiContainerScreenFHmfnUEw&z(eHMxA(I|e>Fy_80D_(t!*wZQXE43GjYAHlk;iBeH=wdc~Q-$ zn%0BgN{SdDsYL!*+ef_MaexWBc|Cvvr5#$XyO6vC1c5Zo~AhXzX(;Yfy~1EV6pJl$fl(fI@_cD6mdDE|jQ4h~&0 ztHgkzc(^!UyP6@kTYt@fl;9EWpN2dH+&p4P0Z~FqMBkbww_SiWC2;@%002ovPDHLk FV1l{dp$Py0 delta 495 zcmVkZo8z@zU1eK!pgQsu^@i@ja=1i_@QI4*!&fK~0F&_*D zjIp99%Cb~SK?7QA7;W3;oP!X^f%p6UPN!4Z7;_wl$aFd-0)GoQbdn@eN*>2C0?6;3 z6A`iiRY0%Ts|^3})(NPy5cuKIVMYH3k`WO?fY;gttamq3IkjyI*GlO;mtoMv60F(8 z$tV$itHHI^Xq^B2VVr>9r^o1Ix%uJx=>^T8~HVa|5cHUR{csqw^wfrAWh#((dgAs3f7$nl11~ycL&B zkA~-r^M_O?lf0I>QWr{-@qUyptZv`l-SUI)2isda7>JTJqc(JrRnH926?O`ZhpT=K l`Vp{Z==undr9LvoUIAQK>}C*;mmL5A002ovPDHLkV1kWC>|g)@ diff --git a/src/main/resources/assets/create/textures/gui/schematicannon.png b/src/main/resources/assets/create/textures/gui/schematicannon.png index 2417f1f2a7f0632cb76d8045d5322b858653fb85..8a54fcfdf6fd2c565542be7e170e5f16d6a5913a 100644 GIT binary patch literal 12936 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 diff --git a/src/main/resources/data/create/loot_tables/blocks/motor.json b/src/main/resources/data/create/loot_tables/blocks/creative_motor.json similarity index 86% rename from src/main/resources/data/create/loot_tables/blocks/motor.json rename to src/main/resources/data/create/loot_tables/blocks/creative_motor.json index b5f519106..dcc540368 100644 --- a/src/main/resources/data/create/loot_tables/blocks/motor.json +++ b/src/main/resources/data/create/loot_tables/blocks/creative_motor.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "create:motor" + "name": "create:creative_motor" } ], "conditions": [