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
This commit is contained in:
simibubi 2020-02-08 20:02:14 +01:00
parent 6930c89d61
commit f739185040
19 changed files with 152 additions and 36 deletions

View file

@ -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()),

View file

@ -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),

View file

@ -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),

View file

@ -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<ResourceLocation, ConfigValue<Double>> impacts = new HashMap<>();
public Map<ResourceLocation, ConfigValue<Double>> capacities = new HashMap<>();
public Map<ResourceLocation, ConfigValue<Double>> 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

View file

@ -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:

View file

@ -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<ResourceLocation, ConfigValue<Double>> impacts = config.stressValues.capacities;
Map<ResourceLocation, ConfigValue<Double>> capacities = config.stressValues.impacts;
Map<ResourceLocation, ConfigValue<Double>> impacts = config.stressValues.impacts;
Map<ResourceLocation, ConfigValue<Double>> 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<String> 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");

View file

@ -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());
}
}

View file

@ -81,7 +81,7 @@ public abstract class KineticTileEntity extends SmartTileEntity implements ITick
}
public float getAddedStressCapacity() {
Map<ResourceLocation, ConfigValue<Double>> capacityMap = AllConfigs.SERVER.kinetics.stressValues.impacts;
Map<ResourceLocation, ConfigValue<Double>> 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<ResourceLocation, ConfigValue<Double>> stressEntries = AllConfigs.SERVER.kinetics.stressValues.capacities;
Map<ResourceLocation, ConfigValue<Double>> stressEntries = AllConfigs.SERVER.kinetics.stressValues.impacts;
ResourceLocation path = getBlockState().getBlock().getRegistryName();
if (!stressEntries.containsKey(path))
return 1;

View file

@ -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) {

View file

@ -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();

View file

@ -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<ItemStack> items) {
}
@Override
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
return AllShapes.CRATE_BLOCK_SHAPE;

View file

@ -67,7 +67,7 @@ public class SchematicannonScreen extends AbstractSimiContainerScreen<Schematica
@Override
protected void init() {
setWindowSize(ScreenResources.SCHEMATICANNON.width + 50, ScreenResources.SCHEMATICANNON.height + 80);
setWindowSize(ScreenResources.SCHEMATICANNON_BG.width + 50, ScreenResources.SCHEMATICANNON_BG.height + 80);
super.init();
int x = guiLeft + 20;
@ -198,7 +198,7 @@ public class SchematicannonScreen extends AbstractSimiContainerScreen<Schematica
@Override
protected void renderWindow(int mouseX, int mouseY, float partialTicks) {
ScreenResources.PLAYER_INVENTORY.draw(this, guiLeft - 10, guiTop + 145);
ScreenResources.SCHEMATICANNON.draw(this, guiLeft + 20, guiTop);
ScreenResources.SCHEMATICANNON_BG.draw(this, guiLeft + 20, guiTop);
SchematicannonTileEntity te = container.getTileEntity();
renderPrintingProgress(te.schematicProgress);

View file

@ -92,8 +92,7 @@
"block.create.nozzle": "Nozzle",
"block.create.hand_crank": "Hand Crank",
"block.create.cuckoo_clock": "Cuckoo Clock",
"block.create.mysterious_cuckoo_clock": "Cuckoo Clock",
"block.create.motor": "Motor",
"block.create.creative_motor": "Motor",
"block.create.belt": "Mechanical Belt",
"block.create.crushing_wheel": "Crushing Wheel",
"block.create.drill": "Mechanical Drill",
@ -606,9 +605,9 @@
"item.create.placement_handgun.tooltip.action3": "Opens the _Configuration_ _Interface_",
"item.create.tree_fertilizer.tooltip": "TREE FERTILIZER",
"item.create.tree_fertilizer.tooltip.summary": "A powerful combination of minerals suitable for common tree types",
"item.create.tree_fertilizer.tooltip.summary": "A powerful combination of minerals suitable for growing common tree types more quickly",
"item.create.tree_fertilizer.tooltip.condition1": "When used on Sapling",
"item.create.tree_fertilizer.tooltip.behaviour1": "Grows Trees regardless of their spacing Conditions",
"item.create.tree_fertilizer.tooltip.behaviour1": "Grows Trees _regardless_ of their _spacing_ _conditions_",
"item.create.filter.tooltip": "FILTER",
"item.create.filter.tooltip.summary": "_Controls_ _outputs_ and inputs of logistical devices with more _precision,_ matching them against a _set_ _of_ _items_ or several _nested_ _filters._",
@ -694,9 +693,14 @@
"block.create.encased_belt.tooltip.summary": "_Relays_ _Rotation_ through its block and to attached _Encased_ _Belts._",
"block.create.encased_belt.tooltip.condition1": "When Connected",
"block.create.encased_belt.tooltip.behaviour1": "Attached Blocks will have the exact _same_ _rotation_ _speed_ and direction. They do not have to face the same way.",
"block.create.adjustable_pulley.tooltip": "ANALOG BELT PULLEY",
"block.create.adjustable_pulley.tooltip.summary": "_Relays_ _Rotation_ through its block and to attached _Encased_ _Belts._ Attached encased belts will _rotate_ _faster_ based on the _analog_ _redstone_ _signal_ this block receives.",
"block.create.adjustable_pulley.tooltip.condition1": "Redstone control",
"block.create.adjustable_pulley.tooltip.behaviour1": "Without a signal it will _not_ _speed_ _up_ connected belts, full signal strength will _double_ _its_ _speed._",
"item.create.belt_connector.tooltip": "BELT CONNECTOR",
"item.create.belt_connector.tooltip.summary": "Connects two _Shafts_ with a _Mechanical_ _Belt._ Connected shafts will have the exact same rotation speed and direction. The Belt can act as a _Conveyor_ for _Entities._",
"item.create.belt_connector.tooltip.summary": "Connects two or more _Shafts_ with a _Mechanical_ _Belt._ Connected shafts will have the exact same rotation speed and direction. The Belt can act as a _Conveyor_ for _Items_ and _Entities._",
"item.create.belt_connector.tooltip.control1": "R-Clicked on Shaft",
"item.create.belt_connector.tooltip.action1": "Selects the shaft as one pulley of the Belt. Both selected Shafts have to _line_ _up_ either _Vertically,_ _Horizontally_ or _Diagonally_ towards the Belt's Direction.",
"item.create.belt_connector.tooltip.control2": "R-Click while Sneaking",
@ -705,10 +709,19 @@
"item.create.goggles.tooltip": "GOGGLES",
"item.create.goggles.tooltip.summary": "A pair of glasses to augment your vision with useful _kinetic_ _information._",
"item.create.goggles.tooltip.condition1": "When worn",
"item.create.goggles.tooltip.behaviour1": "Shows _colored_ _indicators_ corresponding to the _Speed_ _Level_ of a placed kinetic component.",
"item.create.goggles.tooltip.behaviour1": "Shows _colored_ _indicators_ corresponding to the _Speed_ _Level_ of a placed kinetic component as well as _Stress_ _Impact_ and _Capacity_ of individual components.",
"item.create.goggles.tooltip.condition2": "When looking at gauge",
"item.create.goggles.tooltip.behaviour2": "Shows detailed information about _Speed_ or _Stress_ of the network the gauge is connected to.",
"item.create.wrench.tooltip": "WRENCH",
"item.create.wrench.tooltip.summary": "A useful tool for working on kinetic contraptions. Can be used to _Rotate,_ _Dismantle_ and to _Configure_ components.",
"item.create.wrench.tooltip.control1": "Right-Click a kinetic block",
"item.create.wrench.tooltip.action1": "_Rotates_ _components_ toward or away from the face you interacted with.",
"item.create.wrench.tooltip.control2": "R-Click while Sneaking",
"item.create.wrench.tooltip.action2": "_Disassembles_ _Kinetic_ _components_ and places them back in _your_ _inventory._",
"block.create.motor.tooltip": "MOTOR",
"block.create.motor.tooltip.summary": "A configurable source of _Rotational_ _Force_",
"block.create.creative_motor.tooltip": "MOTOR",
"block.create.creative_motor.tooltip.summary": "A configurable source of _Rotational_ _Force_",
"block.create.water_wheel.tooltip": "WATER WHEEL",
"block.create.water_wheel.tooltip.summary": "Provides _Rotational_ _Force_ taken from adjacent _Water_ _Currents._",
@ -722,6 +735,19 @@
"block.create.encased_fan.tooltip.condition3": "When blowing through special blocks",
"block.create.encased_fan.tooltip.behaviour3": "_Liquids_ and _Fire_ emit particles into the air flow. This can be used to _process_ _items._",
"block.create.nozzle.tooltip": "NOZZLE",
"block.create.nozzle.tooltip.summary": "Attach to the front of an _Encased_ _Fan_ to distribute its effect on Entities in _all_ _directions._",
"block.create.hand_crank.tooltip": "HAND CRANK",
"block.create.hand_crank.tooltip.summary": "A simple _source_ of _rotational_ _force_ that requires the interaction of players.",
"block.create.hand_crank.tooltip.condition1": "When Used",
"block.create.hand_crank.tooltip.behaviour1": "Provides _rotational_ _force_ to its attached contraption. _Sneak_ _to_ _reverse_ its rotation.",
"block.create.cuckoo_clock.tooltip": "CUCKOO CLOCK",
"block.create.cuckoo_clock.tooltip.summary": "Fine craftsmanship for _decorating_ your space and helping you in _keeping_ _track_ _of_ the _time._",
"block.create.cuckoo_clock.tooltip.condition1": "When Rotated",
"block.create.cuckoo_clock.tooltip.behaviour1": "Shows the _current_ _time_ and plays a tune twice a day. _Activates_ once at _noon_ and as soon as _players_ _can_ _sleep_ through the night.",
"block.create.turntable.tooltip": "TURNTABLE",
"block.create.turntable.tooltip.summary": "Turns _Rotational_ _Force_ into refined Motion Sickness.",
@ -736,6 +762,11 @@
"block.create.mechanical_press.tooltip.behaviour1": "_Starts_ to compress items dropped below it.",
"block.create.mechanical_press.tooltip.condition2": "When Above a Mechanical Belt",
"block.create.mechanical_press.tooltip.behaviour2": "_Automatically_ compresses bypassing items on the Belt.",
"block.create.mechanical_mixer.tooltip.condition3": "When above Basin",
"block.create.mechanical_mixer.tooltip.behaviour3": "Starts to _compact_ _items_ in the basin whenever all necessary ingredients are present.",
"block.create.basin.tooltip": "BASIN",
"block.create.basin.tooltip.summary": "A handy _item_ _container_ used for processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press._",
"block.create.mechanical_mixer.tooltip": "MECHANICAL MIXER",
"block.create.mechanical_mixer.tooltip.summary": "A kinetic whisk for applying any shapeless crafting recipes to items beneath it. Requires constant _Rotational_ _Force_ and a _Basin_ placed below (with a gap inbetween).",
@ -744,6 +775,25 @@
"block.create.mechanical_mixer.tooltip.condition2": "When used with Wrench",
"block.create.mechanical_mixer.tooltip.behaviour2": "_Configures_ the minimum amount of _total_ _ingredients_ for applied recipes. Use this option to _rule_ _out_ _unwanted_ _recipes_ with similar but less ingredients.",
"block.create.mechanical_crafter.tooltip": "MECHANICAL CRAFTER",
"block.create.mechanical_crafter.tooltip.summary": "A kinetic assembler for _automating_ any _shaped_ _crafing_ recipe. Place _multiple_ _in_ _a_ _grid_ corresponding to your recipe, and _arrange_ _their_ _belts_ to create a _flow_ that exits the grid on one of the crafters.",
"block.create.mechanical_crafter.tooltip.condition1": "When Rotated",
"block.create.mechanical_crafter.tooltip.behaviour1": "_Starts_ _the_ _crafting_ _process_ as soon as _all_ _crafters_ in the grid have been _given_ _an_ _item._",
"block.create.mechanical_crafter.tooltip.control1": "When Wrenched at Front",
"block.create.mechanical_crafter.tooltip.action1": "_Cycles_ _the_ _direction_ an individual crafter _moves_ _its_ _items_ towards. To form a working grid, _arrange_ _the_ _belts_ _in_ _a_ _flow_ which moves all items towards a final crafter, which _points_ _away_ from the grid.",
"block.create.mechanical_crafter.tooltip.control2": "When Wrenched at back",
"block.create.mechanical_crafter.tooltip.action2": "_Connects_ the _input_ _inventory_ of adjacent crafters. Use this to _combine_ _slots_ in the crafting grid and _save_ _on_ _input_ _work._",
"block.create.furnace_engine.tooltip": "FURNACE ENGINE",
"block.create.furnace_engine.tooltip.summary": "A powerful source of rotational power that requires a _running_ _furnace_ to work.",
"block.create.furnace_engine.tooltip.condition1": "When Attached to Lit Furnace",
"block.create.furnace_engine.tooltip.behaviour1": "_Starts_ _powering_ a _Flywheel_ placed in front of it (1m apart). Use a Blast Furnace for higher speeds.",
"block.create.flywheel.tooltip": "FLYWHEEL",
"block.create.flywheel.tooltip.summary": "A large metal wheel to _harness_ _and_ _stabilize_ generated force by an _attached_ _Engine._ Flywheels connect to engines if they are _1m_ _apart_ and at a _90°_ _Angle_ from each other.",
"block.create.flywheel.tooltip.condition1": "When Attached to Running Engine",
"block.create.flywheel.tooltip.behaviour1": "Provides _Rotational_ _Force_ to a connected contraption based on the generators strength and speed.",
"block.create.mechanical_piston.tooltip": "MECHANICAL PISTON",
"block.create.mechanical_piston.tooltip.summary": "A more advanced version of the _Piston,_ using _Rotational_ _Force_ to precisely move attached structures. _Piston_ _Extension_ _Poles_ at the rear define the _Range_ of this Device. Without extensions, the piston will not move. Use _Translation_ _Chassis_ to move more than a single line of blocks.",
"block.create.mechanical_piston.tooltip.condition1": "When Rotated",
@ -792,6 +842,13 @@
"block.create.harvester.tooltip.condition1": "When Pushed by Mechanical Piston",
"block.create.harvester.tooltip.behaviour1": "_Harvests_ all _mature_ _crops_ the blade is running into, and resets them to their initial growth state.",
"block.create.saw.tooltip": "MECHANICAL SAW",
"block.create.saw.tooltip.summary": "Suitable for _cutting_ _trees_ effectively and for _cutting_ _blocks_ into their carpentered counterparts.",
"block.create.saw.tooltip.condition1": "When facing up",
"block.create.saw.tooltip.behaviour1": "Applies _Sawing_ and _Stonecutting_ _Recipes_ to items dropped onto or inserted into it. When multiple outputs are possible, it cycles through them unless a _filter_ is assigned.",
"block.create.saw.tooltip.condition2": "When facing horizonally",
"block.create.saw.tooltip.behaviour2": "_Breaks_ _logs_ in front of it. If the log supported a tree on its own, the _tree_ _will_ _collapse_ away from the saw.",
"block.create.stockswitch.tooltip": "STOCKSWITCH",
"block.create.stockswitch.tooltip.summary": "Toggles a Redstone signal based on the _Storage_ _Space_ in the attached Container.",
"block.create.stockswitch.tooltip.condition1": "When below Lower Limit",
@ -829,6 +886,13 @@
"block.create.extractor.tooltip.control1": "R-Click on Filter Space",
"block.create.extractor.tooltip.action1": "Assigns currently _held_ _stack_ as the _Filter._ Extractor will pull the item _type_ and _count_ of the filter stack exclusively.",
"block.create.deployer.tooltip": "DEPLOYER",
"block.create.deployer.tooltip.summary": "_Punches,_ _Uses_ and _Activates._ This machine will try to _imitate_ a _player_ as good as it's able to. Can _Take_ and _Deposit_ _items_ at an adjacent _Inventory._ Can be assigned an item-stack as a _filter._",
"block.create.deployer.tooltip.condition1": "When Rotated",
"block.create.deployer.tooltip.behaviour1": "Extends its arm and _activates_ in the block space _2m_ _ahead_ of itself.",
"block.create.deployer.tooltip.condition2": "R-Clicked with Wrench",
"block.create.deployer.tooltip.behaviour2": "Toggles punch mode. In _punch_ _mode,_ the deployer will attempt to use its item to _break_ _blocks_ or _hurt_ _entities._",
"block.create.linked_extractor.tooltip": "LINKED EXTRACTOR",
"block.create.linked_extractor.tooltip.summary": "_Takes_ _items_ from an attached _Inventory_ and drops them onto the ground. Will not drop Items until the space cleared. Can be assigned an item-stack as a _filter._ Can be controlled remotely via a _Redstone_ _Link._",
"block.create.linked_extractor.tooltip.condition1": "When Redstone Link Active",
@ -838,8 +902,20 @@
"block.create.linked_extractor.tooltip.control2": "R-Click on Frequency Space",
"block.create.linked_extractor.tooltip.action2": "Assigns currently _held_ _item_ as part of the Frequency listened on. Whenever a transmitting _Redstone_ _Link_ of the same frequency is powered, this Extractor will pause.",
"block.create.belt_funnel.tooltip": "BELT FUNNEL",
"block.create.belt_funnel.tooltip.summary": "Collects incoming items on a _Mechanical_ _Belt_ and inserts them into the attached _Inventory_ if possible. Has to be directly _on_ _top_ of a Belt, with the opening facing against the Belts' movement direction. The inventory has to be on the same height as the funnel.",
"block.create.belt_funnel.tooltip": "FUNNEL",
"block.create.belt_funnel.tooltip.summary": "_Collects_ _incoming_ _items_ and inserts them into the attached _Inventory_ if possible. Can collect items in the _world_ and items on a _belt._",
"block.create.belt_tunnel.tooltip": "BELT TUNNEL",
"block.create.belt_tunnel.tooltip.summary": "An aesthetic option for running your _Mechanical_ _Belts_ through walls. Belts have to be reinforced with _Brass_ _Casing._ Tunnels can _synchronize_ with _their_ _neighbours,_ only letting items pass if all tunnels in the group have one waiting. [Ctrl]",
"block.create.belt_tunnel.tooltip.control1": "R-Click with Wrench on Front",
"block.create.belt_tunnel.tooltip.action1": "Toggles _synchronized_ _behaviour._ Synchronized tunnels hold items until their neighbours have an item aswell.",
"block.create.belt_tunnel.tooltip.control2": "R-Click with Wrench on Side",
"block.create.belt_tunnel.tooltip.action2": "_Adjusts_ _window_ _shutters_ if the tunnel has a window on that face.",
"block.create.brass_casing.tooltip": "BRASS CASING",
"block.create.brass_casing.tooltip.summary": "Sturdy machine casing with a variety of uses. Safe for decoration.",
"block.create.brass_casing.tooltip.condition1": "When used on Mechanical Belt",
"block.create.brass_casing.tooltip.behaviour1": "_Reinforces_ _belts_ with a brass foundation. Reinforced Belts can support _Belt_ _Tunnels_ aswell as _Extractors,_ _Funnels_ and _Transposers_ interacting with the belt from the sides and below.",
"block.create.entity_detector.tooltip": "BELT OBSERVER",
"block.create.entity_detector.tooltip.summary": "Detects items passing by on a _Mechanical_ _Belt_ in front of it. Works well with a _Piston_ on top, pushing certain items off.",
@ -854,6 +930,12 @@
"block.create.flexpeater.tooltip": "FLEX REPEATER",
"block.create.flexpeater.tooltip.summary": "An advanced _Redstone_ _Repeater_ with a _configurable_ _Delay_ up to 30 Minutes.",
"block.create.flexpulsepeater.tooltip": "FLEX PULSE REPEATER",
"block.create.flexpulsepeater.tooltip.summary": "A _Pulse_ _Repeater_ with a _configurable_ _Delay_ up to 30 Minutes.",
"block.create.analog_lever.tooltip": "ANALOG LEVER",
"block.create.analog_lever.tooltip.summary": "A lever with more _precise_ _control_ over its emitted _signal_ _strength._",
"block.create.speed_gauge.tooltip": "SPEEDOMETER",
"block.create.speed_gauge.tooltip.summary": "Measures and displays the _rotational_ _speed_ of attached kinetic components.",
"block.create.speed_gauge.tooltip.condition1": "When Rotated",
@ -864,6 +946,12 @@
"block.create.stress_gauge.tooltip.condition1": "When Rotated",
"block.create.stress_gauge.tooltip.behaviour1": "Indicates a color corresponding to the level of stress. _Over-stressed_ _networks_ will cease to move. Stress can be relieved by adding more _rotational_ _sources_ to the network.",
"item.create.refined_radiance.tooltip": "REFINED RADIANCE",
"item.create.refined_radiance.tooltip.summary": "A Chromatic material forged from _absorbed_ _light._",
"item.create.shadow_steel.tooltip": "SHADOW STEEL",
"item.create.shadow_steel.tooltip.summary": "A Chromatic material forged _in_ _the_ _void._",
"item.create.logistical_controller_calculation.tooltip": "WIP",
"item.create.logistical_controller_request.tooltip": "WIP",
"item.create.logistical_controller_storage.tooltip": "WIP",

View file

@ -3,7 +3,7 @@
"parent": "block/block",
"textures": {
"0": "create:block/brass_casing",
"1": "block/black_stained_glass",
"1": "create:block/black_stained_glass",
"2": "create:item/goggles",
"particle": "create:block/brass_casing"
},
@ -108,7 +108,7 @@
"faces": {
"north": {"uv": [1, 0, 7, 1], "texture": "#1"},
"east": {"uv": [11, 0, 11.2, 1], "texture": "#1"},
"south": {"uv": [11, 0, 17, 1], "texture": "#1"},
"south": {"uv": [1, 0, 7, 1], "texture": "#1"},
"west": {"uv": [11, 0, 11.2, 1], "texture": "#1"},
"up": {"uv": [11, 0, 17, 0.2], "texture": "#1"},
"down": {"uv": [11, 0, 17, 0.2], "texture": "#1"}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 558 B

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -6,7 +6,7 @@
"entries": [
{
"type": "minecraft:item",
"name": "create:motor"
"name": "create:creative_motor"
}
],
"conditions": [