diff --git a/projects/1.20-fabric/assets/neepmeat/meatweapons/lang/en_us.json b/projects/1.20-fabric/assets/neepmeat/meatweapons/lang/en_us.json index d5ffee672b3b..ac79c0575e6c 100644 --- a/projects/1.20-fabric/assets/neepmeat/meatweapons/lang/en_us.json +++ b/projects/1.20-fabric/assets/neepmeat/meatweapons/lang/en_us.json @@ -36,6 +36,7 @@ "item.meatweapons.airtruck": "Airtruck", "item.meatweapons.airtruck.lore_0": "A flying vehicle that carries a pilot and a passenger.", "item.meatweapons.airtruck.lore_1": "Shift-click to disassemble.", + "entity.meatweapons.airtruck": "Airtruck", "block.meatweapons.tinker_table": "Tinker Table", diff --git a/projects/1.20-fabric/assets/neepmeat/meatweapons/lang/zh_cn.json b/projects/1.20-fabric/assets/neepmeat/meatweapons/lang/zh_cn.json index 76b6f5737d8e..8e7c735ce990 100644 --- a/projects/1.20-fabric/assets/neepmeat/meatweapons/lang/zh_cn.json +++ b/projects/1.20-fabric/assets/neepmeat/meatweapons/lang/zh_cn.json @@ -36,6 +36,7 @@ "item.meatweapons.airtruck": "空中货车", "item.meatweapons.airtruck.lore_0": "能搭乘一名飞行员和一名乘客的空中载具。", "item.meatweapons.airtruck.lore_1": "Shift点击以拆卸。", + "entity.meatweapons.airtruck": "空中货车", "block.meatweapons.tinker_table": "改装台", diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/docs/thord/en_us/thord_words.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/docs/thord/en_us/thord_words.md index 30ec3b552343..961f93e8f75b 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/docs/thord/en_us/thord_words.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/docs/thord/en_us/thord_words.md @@ -9,6 +9,43 @@ Prints the top stack entry. Places the current value of the program counter (the address of the currently executed instruction) on the top of the stack. +\cat{words} +# Words + +## : + +Starts definition of a new word. The word's name is given by the character sequence following :. + +``` +: aword 123 . ; +``` + +## :I + +Starts definition of a new immediate word. The word's name is given by the character sequence following :I. + +``` +:I aword 123 . ; +``` + +## ; + +Terminates various constructs: + +- Word definitions +- Immediate word definitions +- Inline NEEPASM instructions + +## :NONAME + +Starts definition of a new anonymous word. When the definition ends, the address of the word is placed on the stack. + +``` +:noname 123 . ; + +execute +``` + \cat{stack} # Stack @@ -80,6 +117,8 @@ Copies the top return stack entry to the data stack. \cat{flow_control} # Flow Control +## END ( -- ) + Emits the END instruction, which stops execution. Useful as a placeholder for backpatching. Equivalent to NEEPASM `END`. ## IF ( n1 -- ) (immediate) @@ -198,6 +237,68 @@ Tests if n1 is less than or equal to n2. Equivalent to NEEPASM `LTEQ`. Tests if n1 is greater than or equal to n2. Equivalent to NEEPASM `GTEQ`. +\cat{memory} +# Memory + +## VARIABLE ( "name" -- ) + +Allocates a new variable with the name that follows. + +Invoking the variable's name pushes its address to the stack. + +``` +variable v + +# Store 123 +123 v ! + +v ? # result: 123 +``` + +## ARRAY ( "name" size -- ) + +Allocates an array of the following name and size. + +Note that size of the array follows the word, rather than preceding it. All elements are initialised to zero. + +``` +# Create an array of 6 elements +array a 6 + +# Set the third element to 123 +123 a 2 + ! + +# Print the third element +a 2 + ? +``` + +## ! ( n1 addr -- ) + +Stores n1 at the given address. + +## @ ( addr -- n1 ) + +Retrieves the data at the given address. + +## ? ( addr -- ) + +Prints the data stored at the given address. Equivalent to @ . + +## ' ( "word" -- addr ) + +Pushes the address of the following word to the stack. + +``` +: aword 1 + . ; + +# Print the word's address +' aword . +``` + +## EXECUTE ( addr -- ) + +Branches to the instruction at the given address. Equivalent to NEEPASM `CALL`. + \cat{compiler_words} # Compiler Words diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/docs/thord/zh_cn/thord_words.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/docs/thord/zh_cn/thord_words.md index ac66832a714c..cfc61e92ee5a 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/docs/thord/zh_cn/thord_words.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/docs/thord/zh_cn/thord_words.md @@ -9,6 +9,43 @@ 将程序计数器(当前所执行指令的地址)的当前值压入栈顶。 +\cat{words} +# 词 + +## : + +用于新起一项词的定义。`:`后方的字符串即是词名。 + +``` +: aword 123 . ; +``` + +## :I + +用于新起一项立即词的定义。`:I`后方的字符串即是词名。 + +``` +:I aword 123 . ; +``` + +## ; + +用于结束多种结构体: + +- 词的定义 +- 立即词的定义 +- 内联NEEPASM指令 + +## :NONAME + +用于新起一项匿名词的定义。定义结束时向栈压入该词的地址。 + +``` +:noname 123 . ; + +execute +``` + \cat{stack} # 栈 @@ -80,6 +117,8 @@ \cat{flow_control} # 流程控制 +## END ( -- ) + 发出用于终止执行的END指令。适合用作占位和回填。与NEEPASM的`END`等价。 ## IF ( n1 -- )(立即词) @@ -199,6 +238,74 @@ begin 检查n1是否大于等于n2。与NEEPASM的`GTEQ`等价。 +\cat{memory} +# 内存 + +## VARIABLE ( "名称" -- ) + +分配一个新变量,并取该词后方的名称为变量名。 + +以变量名进行调用时会将其地址压栈。 + +``` +variable v + +# Store 123 [1] +123 v ! + +v ? # result: 123 [2] +``` + [1] 存储123 + [2] 结果:123 + +## ARRAY ( "名称" 大小 -- ) + +分配一个新数组,取后方的名称为数组名,大小为数组大小。 + +需注意,大小参数需在词后方,而不是前方。数组内所有元素初始化为0。 + +``` +# Create an array of 6 elements [1] +array a 6 + +# Set the third element to 123 [2] +123 a 2 + ! + +# Print the third element [3] +a 2 + ? +``` + [1] 创建包含6个元素的数组 + [2] 将第三个元素设为123 + [3] 打印第三个元素 + +## ! ( n1 地址 -- ) + +将n1存入所给地址。 + +## @ ( 地址 -- n1 ) + +读取所给地址处的数据。 + +## ? ( 地址 -- ) + +打印给定地址处的数据。与`@ .`等价。 + +## ' ( "词" -- 地址 ) + +将本词后方的词的地址压栈。 + +``` +: aword 1 + . ; + +# Print the word's address [1] +' aword . +``` + [1] 打印词的地址 + +## EXECUTE ( 地址 -- ) + +跳转到给定地址处的指令。与NEEPASM的`CALL`等价。 + \cat{compiler_words} # 编译器词 diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/cloning/cloning.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/cloning/cloning.md new file mode 100644 index 000000000000..64c5a879f111 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/cloning/cloning.md @@ -0,0 +1,12 @@ +--- +id: cloning +--- + +# Cloning + +*The essential Saltes of Animals may be so prepared and preserved, that an ingenious Man may have the whole Ark of Noah in his own Studie, and raise the fine Shape of an Animal out of its Ashes at his Pleasure.* + - Borellus + +To obtain the *Essential Saltes* of an organism, it must be exposed to an Ash Preparation potion and then incinerated. This procedure will succeed even if the organism has an innate resistance to fire, but the disassembly will have to be manual. + +*Essential Saltes* can be used in an Oviparous Synthesiser to produce eggs. diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/cloning/synthesiser.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/cloning/synthesiser.md new file mode 100644 index 000000000000..c51f2ece442f --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/cloning/synthesiser.md @@ -0,0 +1,22 @@ +--- +id: synthesiser +--- + +# Oviparous Synthesiser + +To cast off the vestige of nature is to inch towards revelation; to replicate the natural forms of flesh - finding wisdom in their madness - is to step towards Enlightenment. + +## Usage + +The Oviparous Synthesiser creates eggs of a template organism through its *Essential Saltes* Right-clicking the machine with the corresponding *Essential Saltes* will install or remove the template. + +In order to operate, the machine must be fed Meat. The amount of meat to produce an egg varies depending on the size of the organism. + +Production of eggs can be temporarily disabled with a redstone signal. + +## Eggs + +Eggs can be moved in standard ways, such as with water streams and pistons. They can also be picked up as items by hitting them. + +- Immersion in blood will allow eggs to hatch. +- Injecting blood directly using a PLC will trigger immediate hatching. \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/fluid_pipe.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/fluid_pipe.md index 26c44314767b..1bed8eeeebff 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/fluid_pipe.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/fluid_pipe.md @@ -12,16 +12,21 @@ Pipes connect to any block that can accept fluids, although some blocks only all For fluids to move through pipes, there must be a height difference or an active pump. Fluids obey gravity, so they will naturally flow from containers at higher elevations to lower ones. Flow can also be induced by placing Redstone Pumps along the desired path of flow. -Pipes on the underside of containers will passively extract fluid. Pumps are required to extract fluid from the container's other sides. - Pumps are enabled with redstone by default, but this behaviour can be inverted by sneak-clicking with an empty hand. +## Gravity + +Pipes on the underside of containers will passively extract fluid. Pumps are required to extract fluid from the container's other sides. + # Placement -To prevent unwanted connections, fluid pipes follow certain rules when they are placed, +To prevent unwanted connections, fluid pipes follow certain rules when they are placed. -- -- If placed beween two pipes of matching colour, the pipe will connect to both of them. +- Place on the side of a fluid container to connect to it. +- When placed next to another pipe, the new pipe will only connect if the other one has less than two connections. +- Pipes of differing colours will not connect. +- Sneaking places a pipe with no connections. +- Click the side of a pipe with another pipe to form a new connection. ## Behaviour diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/getting_started/integrator.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/getting_started/integrator.md new file mode 100644 index 000000000000..f8abc58736a9 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/getting_started/integrator.md @@ -0,0 +1,21 @@ +--- +id: integrator +--- + +# Integrator Organism + +An Integrator is a biomechanical information processing system intended to ease the production of machines. Designed to withstand high quantities of inhuman knowledge, Integrators can confer this information to certain substances, ascending them to Enlightened forms. + +## Acquisition + +The technology to produce Integrators is long-lost, but their eggs can still be found in dungeons and other hidden places. + +Alternatively, offering a Reanimated Heart to the receiver configuration below might cause one to appear. + +\image[width=328,height=245,scale=0.6]{neepmeat:guide/images/egg_receiver.png} + +To hatch an Integrator Egg, put it in a comfy place and pump in a bucketful of blood using fluid pipes. After a short time, the Integrator will hatch. + +## Usage + +Each Integrator has an internal information storage that is gradually filled as it listens to the cosmos. Feeding the organism with Whisper Flour accelerate learning. \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/large_crusher.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/large_crusher.md new file mode 100644 index 000000000000..ad7cce19fa8c --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/large_crusher.md @@ -0,0 +1,24 @@ +--- +id: large_crusher +--- + +# Large Crusher + +The Large Crusher provides superior efficiency and yield than its smaller counterpart. + +## Usage + +Up to four Crusher Segments can be part of a machine. Each segment runs at the same speed, so adding more segments increases efficiency. + +Minimum power: 100eJ/t + +## Required Components + +- Crusher Segment (up to four) +- Item Input (Large Hopper) +- Item Output +- Motor Port + +## Optional Components + +- Lucky One (increases yield of extra outputs) diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/large_trommel.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/large_trommel.md new file mode 100644 index 000000000000..22b89ec84410 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/large_trommel.md @@ -0,0 +1,22 @@ +--- +id: large_trommel +--- + +# Large Trommel + +The Large Trommel processes fluids more efficiently. + +## Usage + +Only one Large Trommel mesh is allowed per machine. Multiple fluid inputs and outputs are permitted. + +Minimum power: 100eJ/t + +## Required Components + +- Large Trommel +- Fluid Input +- Fluid Output +- Item Output +- Motor Port + diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/living_machines.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/living_machines.md new file mode 100644 index 000000000000..5b33690f5dad --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/living_machines.md @@ -0,0 +1,19 @@ +--- +id: living_machines +--- + +# Living Machines + +## Usage + +A living machine consists of a controller and set of functional components that are connected together with machine blocks. The process that a machine performs is determined by its functional components. For example, a crusher needs an item input, an item output, one or more crusher segments and a motor port. Some processes can use extra components to achieve different effects. + +The operating parameters of a machine are determined by the machine blocks it is composed of. + +## Ageing + +Machines have a maximum rated power and operating a machine above 75% of this value will cause gradual degradation over time, which will eventually result in **CRITICAL FAILURE**. + +To mitigate the effects of ageing, machine blocks with self-repair capabilities can be used. + +A machine must have one or more machine blocks. A machine without any will have zero rated power, which will cause it to die instantly when powered. diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/metaboliser.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/metaboliser.md new file mode 100644 index 000000000000..256d70732538 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/metaboliser.md @@ -0,0 +1,24 @@ +--- +id: metaboliser +lookup: neepmeat:metaboliser_segment, +--- + +# Metaboliser + +The Metaboliser consumes liquid foods to provide a power source. + +It consists of a Stomach and multiple Metaboliser Segments. Each extra segment increases the rate at which food is consumed and energy is released. Power is injected directly into a vascular network via the segments. + +Each segment consumes 4 droplets of fluid per tick and must be individually connected to the vascular network. + +Output power depends on the number of segments and the energy density of the input food. + +## Energy Densities + +- Meat: 40eJ / d +- Animal Feed: 60eJ / d +- Food: (1 + 9 * hunger) / d + +## Example + +\image[width=332,height=321,scale=0.5]{neepmeat:guide/images/metaboliser.png} \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/mixer.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/mixer.md new file mode 100644 index 000000000000..fd1c35ba7010 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/mixer.md @@ -0,0 +1,15 @@ +--- +id: mixer +--- + +# Mixer + +The Mixer is a two block tall machine that combines fluids and items. It requires a source of rotation to function. + +## Usage + +Fluid inputs are taken from any tanks that are adjacent to the mixer's lower block. Item inputs must be inserted directly into the machine through hoppers or pipes. + +Once a valid combination of items and fluids is present, the mixing will begin. The rate of this process is determined by the speed of the connected motor. + +\image[width=128,height=128,scale=0.5]{neepmeat:guide/images/mixer.png} diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/trommel.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/trommel.md new file mode 100644 index 000000000000..04d0a0cff8c4 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/machines/trommel.md @@ -0,0 +1,21 @@ +--- +id: trommel +--- + +# Trommel + +This trommel lifts impurities from fats and meats as others might remove rocks from water. Mundane contaminants remain within the rotating mesh while the desired products drain away. + +Dirty Ore Fat can be processed in the Trommel for an approximate 150% yield compared to directly pressing dirty fat. + +Tissue fluid produced via the disassembly of substrate organisms with a Large Mincer or Death Blades can be separated into Refined Meat with an extra chance of Assorted Biological Solids. + +# Usage + +Fluid is taken from any container placed top of the nearest block and outputs leave through the bottom of the far end. + +\image[width=299,height=178]{neepmeat:guide/images/trommel.png} + +A running motor must be connected for this machine to function. + +\image[width=322,height=237]{neepmeat:guide/images/trommel_image.png} \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/actuators.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/actuators.md new file mode 100644 index 000000000000..52340e16e251 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/actuators.md @@ -0,0 +1,12 @@ +--- +id: actuators +--- + +# Actuators + +- Implanter: The only actuator capable of performing surgery on entities. +- Robotic Arm: Can perform most manufacture instructions quickly but with a limited range. Requires a motor. +- Pipe Driver: Allows a PLC to make requests in an item pipe network + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/plc_actuators.png} +\centering{Left to right: Implanter, Robotic Arm and a Pipe Driver.} \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/implanter.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/implanter.md new file mode 100644 index 000000000000..f317b2cf1433 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/implanter.md @@ -0,0 +1,43 @@ +--- +id: implanter +--- + +# Implanter + +The Implanter is used for implanting implants into implantees. + +It can be controlled manually or automatically by a PLC. + +Under manual control, no extra infrastructure is required. With a PLC, the target entity must be standing on a Surgery Platform. + +## Manual Control + +Using the main block gives direct control over the Implanter. The head can be repositioned with the normal movement keys. + +To apply an implant, the head must be positioned correctly. + +When the head facing an entity, it will be highlighted and a cross marking the implant site will become visible. When the cross is in the centre of the head's camera, the operation can be performed using the APPLY button. + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/implanter_manual.png} +\centering{View through an Implanter's camera in manual mode.} + +## PLC Automation + +The `IMPLANT` instruction is responsible for controlling an Implanter automatically. `IMPLANT` takes two arguments: + +1. The item inventory to take the implant from +2. The Surgery Platform that the target entity is standing on. + +Example: + +``` +# Using aliases for readability +%a input = @(2 3 4) # Input inventory +%a platform = @(3 3 4) # Platform + +robot @(1 2 3) # Implanter's position +implant $input $platform +``` + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/implanter.png} +\centering{A PLC controlling an Implanter. An Implant Manager is attached to the Surgery Platform on which a player stands.} diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/implants.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/implants.md new file mode 100644 index 000000000000..e8f8ff7d9ce9 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/implants.md @@ -0,0 +1,27 @@ +--- +id: implants +--- + +# Implants + +Implants provide new abilities to organisms, elevating them beyond the fickle whims of nature. + +## Examples: + +- Extra Knees +- Extra Mouth +~~- Divine Chrysalis~~ +- Hand Glaives +- Lung Extensions +- Pineal Eye +- TNT (CNS-Wired Explosives) +- Cat Ears + +## Usage + +Implants are applied using the Implanter. It can be operated manually or automatically with a PLC with the IMPLANT instruction. + +Implants can be configured removed from entities using the Implant Manager. The entity must be standing on a Surgery Platform which the Implant Manage faces. + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/implanter.png} +\centering{A PLC controlling an Implanter. An Implant Manager is attached to the Surgery Platform.} diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/plc.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/plc.md new file mode 100644 index 000000000000..a7ee4f66fff6 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/plc.md @@ -0,0 +1,49 @@ +--- +id: plc +--- + +# Programmable Logic Controller + +The PLC is a computer specialised for industrial automation. It can run user-defined programs or run instructions one by one in an interactive mode. Its clock speed is a lightning fast 20Hz. + +A PLC interacts with the world via 'actuators'. Each PLC has a robot which functions as its default actuator. + +Right-clicking the PLC gives control over its robot. + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/plc_interactive.png} +\centering{A PLC in interactive mode with two display plates that can be used for recipes.} + +## Interactive Mode + +When controlling the robot, movement is accomplished using the normal keys. Middle click-dragging rotates the camera. + +The PLC has two modes: interactive mode and edit mode. The current mode can be switched using the button on the top right of the screen. + +To execute an instruction in Interactive Mode, select the desired operation from the bottom right panel. Then, click blocks in the world to add them as arguments. When sufficient arguments are provided, an instruction emitted and executed. + +## Edit Mode + +In Edit Mode, the program is written in the left panel. More instructions are available in this mode. These are outlined in the bottom right panel. + +The buttons at the top right of the screen allow programs to be compiled, started and stopped. + +### Programming Languages + +The PLC can be programmed in two languages: + +NEEPASM: A simple assembly language. +THORD: A higher level language than NEEPASM that has convenient flow control constructs. + +The language can be switched with a button on the top right. + +CTRL-clicking the button opens the documentation for the selected language. + +THORD is recommended due to its convenience over NEEPASM. + +### Edit Mode Key Shortcuts + +CTRL+R: Run or pause the program +CTRL+S: Compile the current code +CTRL+E: Compile the current code and run immediately +CTRL+T: Stop the program +CTRL+F: Execute the current instruction but pause before the next \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/plc_workbenches.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/plc_workbenches.md new file mode 100644 index 000000000000..328ce65a4551 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/plc/plc_workbenches.md @@ -0,0 +1,18 @@ +--- +id: plc_workbenches +--- + +# PLC Workbenches + +Workbenches allow items and entities to be modified by a PLC via an actuator. + +## Examples: + +- Display Plate (item) +- Pedestal (item) +- Surgery Platform (entity) +- +Not all instructions require workbenches. Some operate on normal item or fluid inventories. + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/plc_workbenches.png} +\centering{Left to right: A Display Plate, a Pedestal and a Surgery Platform.} \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord.md index 748e106d9c11..90dc45e1cd57 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord.md @@ -2,11 +2,13 @@ id: thord --- -# Thord +# THORD + +THORD is a progamming language for the PLC at a slightly higher level than NEEPASM. It has a more concise syntax as well as constructs for loops and conditional statements. # Stack -Unlike NEEPASM, the syntax for stack manipulation is much more concise. +Unlike NEEPASM, the syntax for stack manipulation is much simpler. To push a number to the stack, it is simply stated. As Thord does not care about newlines or expression separators, multiple numbers can be pushed on the same line. diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_constructs.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_constructs.md index 8ce460ef49e6..2b1702a48dde 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_constructs.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_constructs.md @@ -54,7 +54,7 @@ The word `I` copies the loop index to the top of the stack. ``` 10 0 do i . loop -# prints 1 2 3 4 5 6 7 8 9 +# prints 0 1 2 3 4 5 6 7 8 9 ``` `+LOOP` can be used instead of `LOOP`. It adds the last value on the stack to the loop index. @@ -62,4 +62,4 @@ The word `I` copies the loop index to the top of the stack. ``` 10 0 do i . 2 +loop # prints 0 2 4 6 8 -``` \ No newline at end of file +``` diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_examples.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_examples.md new file mode 100644 index 000000000000..4c8310107b98 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_examples.md @@ -0,0 +1,114 @@ +--- +id: thord_examples +--- + +# General + +## Variables + +``` +variable v + +# Assign +123 v ! + +# Get and print +v @ . +``` + +## Fibonacci Sequence + +``` +: fibonacci + 0 + 0 1 + 2swp + + do + dup + rot + add + dup . + loop + + 2drop +; + +100 fibonacci +``` + +# Logistics + +## Waiting for 10 bones in a container + +``` +begin + delay 10 + count @(1 2 3 U) "minecraft:bone" + 10 <= invert +until + say "done" +``` + +## A macro that waits for a number of items in a container + +``` +%: wait_item container item amount +begin + count %container %item + %amount <= invert +until +%; + +wait_item @(1 2 3 U), "minecraft:bone", 10 +; +``` + +# Compile Time Words + +## Defining if-else + +THORD's compile time evaluation allows the creation of custom flow control constructs. + +This program demonstrates how THORD's if-else-then construct is implemented. + +``` +:i pcphead + postpone cphead ; +; + +:i if1 + postpone cphead blank ; # bif placeholder +; + +:i endif1 + dup -1 = .bif ifend ; # -1 indicates else + label ifelse + drop # get rid of -1 + postpone cphead ; + - dup neg + postpone cpjmp ; + .jmp end f ; + label ifend + postpone cphead ; + - dup neg + postpone cpbif ; + label end +; + +:i else1 + postpone cphead ; + - dup neg .inc ; + postpone cpbif ; # backpatch bif + postpone cphead blank ; # jmp placeholder + -1 # tell then to backpatch jmp +; + +# Test the words +1 +if1 + .say "yes" ; +else1 + .say "no" ; +endif1g +``` \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_variables.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_variables.md new file mode 100644 index 000000000000..cc5679480091 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/thord_variables.md @@ -0,0 +1,95 @@ +--- +id: thord_variables +--- + +# Variables + +Variables can be created with the `VARIABLE` word. + +Stating a variable's name puts its address on the stack. This can be taken as an argument by any word. + +- ! is used to assign the second stack entry to a variable on top of the stack. +- @ gets the value of the variable. +- ? prints the value of the variable. +- +! adds the second stack entry to the variable. + +Examples + +``` +# Create the variable +variable count + +# Print the variable's address +count . + +# Assign 123 to the variable +123 count ! + +# Add 1 to the variable +1 count +! + +# Print the variable's value +count @ . + +# Shorthand for @ . +count ? +``` + +# Arrays + +Arrays are created with the `ARRAY` word. + +Stating the array's name puts the first element's address on the stack. Successive elements are accessed by incrementing the address and using `@`. + +``` +# Create an array with 5 elements +array a 5 + +# Value to put in the array +123 + +# Get the address of the second element +a 1 + + +# Store it +! +``` + +Arrays and noname words can do many interesting things. The following program stores the addresses three noname words in an array. It then loops through the array and executes the words. + +``` +# Create an array of three elements +array a 3 + +# Count represents the current element of the array to fill +variable count + +# Create a noname word +:noname + .say "Look at me" ; +; + +# Stored it using a word we defined +sto + +# More compact syntax for the same thing +:noname .say "I'm a word" ; ; sto +:noname .say "Boiled in oil" ; ; sto + +# Values of i: 0 1 2 +3 0 for + # Get the value at i + i at execute +loop + +# Stores top stack entry in the array and increments count. +: sto ( addr -- ) + count @ a + ! + 1 count +! +; + +# Retrieves the element at idx +: at ( idx -- addr ) + a + @ +; +``` \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/word_definition.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/word_definition.md index 35eac36fdf92..a52f9ca54c17 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/word_definition.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles/thord/word_definition.md @@ -71,7 +71,7 @@ word1 # POSTPONE -The POSTPONE directive is used within immediate words. It indicates that the following sequence of words will be compiled and executed at runtime, rather than immediately during compilation. +The `POSTPONE` directive is used within immediate words. It indicates that the following sequence of words will be compiled and executed at runtime, rather than immediately during compilation. POSTPONE will apply to everything between it and the next ';'. @@ -85,4 +85,14 @@ This allows the creation of macros without the (minor) runtime overhead of a nor # Pushes 123 and prints it at runtime word2 +``` + +# :NONAME + +`:NONAME` allows the creation of a word that is not referenced with by a name. Instead, its address is put on the stack. The word can be executed using `EXECUTE`. + +``` +:noname 123 . ; + +execute ``` \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles_en_us.json b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles_en_us.json index d940ac70c490..be1cd3e77167 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles_en_us.json +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/articles_en_us.json @@ -20,16 +20,16 @@ {"type": "text", "text": "Power Transfer\n", "bold": true}, {"type": "text", "text": "Unlike other products which use such inferior elements as electricity, NEEP machines are powered by the Divine itself."}, {"type": "text", "text": "\nPower and energy are measured in NEEP customary units. The unit of energy is the esoteric joule (eJ). Power is measured in esoteric joules per tick (eJ/t)."}, - {"type": "text", "text": "\nEthereal Fuel\n", "bold": true}, + {"type": "text", "text": "\nTransient Ichor\n", "bold": true}, {"type": "text", "text": "Energy density: 81keJ/b"}, - {"type": "text", "text": "Ethereal Fuel is a transient manifestation of Divine efficacy that is produced in a Fuel Transducer. It is used to power basic motors and is transferred through fluid pipes."}, + {"type": "text", "text": "Transient Ichor is a transient manifestation of Divine efficacy that is produced in a Transductive Cannula. It is used to power basic motors and is transferred through fluid pipes."}, {"type": "text", "text": "\nVascular Conduits\n", "bold": true}, {"type": "text", "text": "Vascular Conduits simply encapsulate the complex logistics of power flow. Integration Fluid (blood fortified with Enlightened animalcules) is transmitted in a three-phase peristaltic cycle, delivering consistent power to advanced machines."} ]}, {"id": "fuel_transducer", "contents": [ - {"type": "text", "text": "Fuel Transducer\n", "bold": true}, - {"type": "text", "text": "The Fuel Transducer imbues a working substrate with received heat, producing Ethereal Fuel."}, + {"type": "text", "text": "Transductive Cannula\n", "bold": true}, + {"type": "text", "text": "The Transductive Cannula imbues a working substrate with received heat, producing Transient Ichor."}, {"type": "text", "text": "\nUsage\n", "bold": true}, {"type": "text", "text": "The Transducer must be incorporated into the structure shown below. It must be placed above a tank of water with a heat source below. Heat sources include lit furnaces, lava, lava cauldrons and magma blocks, although lit furnaces provide the most energy. \nEthereal fuel is ejected at pressure from the top of the dome.\nFor a steady source of water, try a Drain below a regenerating water source."}, {"type": "image", "width": 32, "height": 98, "scale": 0.2, "path": "neepmeat:guide/images/transducer_usage.png"}, @@ -41,7 +41,7 @@ ]}, {"id": "power_flower", "contents": [ {"type": "text", "text": "Power Flower\n", "bold": true}, - {"type": "text", "text": "The Power Flower is an organism that can synthesise Ethereal Fuel from sunlight and by liquid food."}, + {"type": "text", "text": "The Power Flower is an organism that can synthesise Transient Ichor from sunlight and by liquid food."}, {"type": "text", "text": "\nUsage\n", "bold": true}, {"type": "text", "text": "Power Flower Seeds can be placed on any dirt-like block and will eventually mature into a larger growth. \nWhen a growth block has air above it and one or more growth blocks below it, it will specialise into a photosynthetic organ and produce 20eJ/t constantly. Otherwise, it will increase the rate at which foods are digested and metabolised."}, {"type": "text", "text": "Water inserted through a Power Flower Fluid Port is necessary for fuel production"}, @@ -52,26 +52,20 @@ ]}, {"id": "heart_machine", "contents": [ {"type": "text", "text": "Heart Machine\n", "bold": true}, - {"type": "text", "text": "This machine forms the heart and lungs of a vascular network. It imbibes Ethereal Fuel to energise the network and regulates its operating frequency."}, + {"type": "text", "text": "This machine forms the heart and lungs of a vascular network. It imbibes Transient Ichor to energise the network and regulates its operating frequency."}, {"type": "text", "text": "\nUsage\n", "bold": true}, - {"type": "text", "text": "The Heart Machine consumes Ethereal Fuel through its lower block and injects energy into a vascular network through its upper block. Its greater efficiency allows it to liberate 50% more energy from the Ethereal Fuel than a basic motor would."} + {"type": "text", "text": "The Heart Machine consumes Transient Ichor through its lower block and injects energy into a vascular network through its upper block. Its greater efficiency allows it to liberate 50% more energy from the Transient Ichor than a basic motor would."} ]}, - {"id": "mixer", "contents": [ - {"type": "text", "text": "Mixer\n", "bold": true}, - {"type": "text", "text": "The Mixer is a two block tall machine that combines fluids and items. It requires a source of rotation to function."}, - {"type": "text", "text": "\nUsage\n", "bold": true}, - {"type": "text", "text": "Fluid inputs are taken from any tank that is adjacent to the mixer's lower block. Item inputs must be inserted directly into the machine through hoppers or pipes. Once a valid combination of items and fluids is present, the mixing will begin. The rate of this process is determined by the speed of the connected motor."} - ]}, {"id": "motor", "contents": [ {"type": "text", "text": "Motor\n", "bold": true}, - {"type": "text", "text": "Arcane artifice, a blessing of the Integrator, allows a motor to convert the subtle efficacies of Ethereal Fuel into mechanical work."}, + {"type": "text", "text": "Arcane artifice, a blessing of the Integrator, allows a motor to convert the subtle efficacies of Transient Ichor into mechanical work."}, {"type": "text", "text": "\nUsage\n", "bold": true}, - {"type": "text", "text": "Many rotary machines require an external motor in order to function. This motor accepts Ethereal Fuel, produced with a Fuel Transducer, through fluid pipes. \nThe motor's speed is determined by the rate at which fluid is inserted. This often affects the speed of the connected machine."} + {"type": "text", "text": "Many rotary machines require an external motor in order to function. This motor accepts Transient Ichor, produced with a Transductive Cannula, through fluid pipes. \nThe motor's speed is determined by the rate at which fluid is inserted. This often affects the speed of the connected machine."} ]}, {"id": "advanced_motor", "contents": [ {"type": "text", "text": "Advanced Motor\n", "bold": true}, - {"type": "text", "text": "Unlike its more primitive alternative which accepts Ethereal Fuel directly, this motor is powered by fortified blood delivered through vascular conduits."}, + {"type": "text", "text": "Unlike its more primitive alternative which accepts Transient Ichor directly, this motor is powered by fortified blood delivered through vascular conduits."}, {"type": "text", "text": "\nUsage\n", "bold": true}, {"type": "text", "text": "The Advanced Motor works exactly like the standard version except it must be connected to a vascular network."} ]}, @@ -146,18 +140,6 @@ {"type": "text", "text": "Blending a gland potato in 333mb of water with a mixer will produce 333mb of Eldritch Enzymes."} ] }, - {"id": "trommel", "contents": [ - {"type": "text", "text": "Trommel\n", "bold": true}, - {"type": "text", "text": "This trommel lifts impurities from fats and meats as others might remove rocks from water. Mundane contaminants remain within the rotating mesh while the desired products drain away.\n"}, - {"type": "text", "text": "Dirty Ore Fat can be processed in the Trommel for an approximate 150% yield compared to directly pressing dirty fat."}, - {"type": "text", "text": "Tissue fluid produced via the disassembly of substrate organisms with a Large Mincer or Death Blades can be separated into Refined Meat with an extra chance of Assorted Biological Solids."}, - {"type": "text", "text": "\nUsage\n", "bold": true}, - {"type": "text", "text": "Fluid is taken from any container placed top of the nearest block and outputs leave through the bottom of the far end."}, - {"type": "image", "width": 299, "height": 178, "path": "neepmeat:guide/images/trommel.png"}, - {"type": "text", "text": "A running motor must be connected for this machine to function."}, - {"type": "image", "width": 322, "height": 237, "path": "neepmeat:guide/images/trommel_image.png"} - ] - }, {"id": "crucible", "contents": [ {"type": "text", "text": "Rendering Basin\n", "bold": true}, {"type": "text", "text": "The enlightened enzymes of the Gland Potato concentrate the fleshly nature of certain minerals into a layer of ethereal fat. Thus, rendering is an efficacious form of mineral extraction."}, @@ -204,15 +186,7 @@ {"type": "text", "text": "Verrucous Rocks\n", "bold": true}, {"type": "text", "text": "Due to the increasing abundance of Enlightened animalcules in the environment, it is common for rocks to develop biological characteristics and grow into wart-like structures."}, {"type": "text", "text": "\nUsage\n", "bold": true}, - {"type": "text", "text": "The glandular secretion of verrucous rocks is an analogue of Ethereal Fuel, and can be used to power machines. The fluid often seeps from sores in the rock's hard surface. Fluid can be redirected with pipes and used as a passive power source. Multiple sores can be present in a single rock."} - ]}, - {"id": "integrator", "contents": [ - {"type": "text", "text": "Integrator Organism\n", "bold": true}, - {"type": "text", "text": "An Integrator is a biomechanical information processing system intended to ease the production of machines. Designed to withstand high quantities of inhuman knowledge, Integrators can confer this information to certain substances, ascending them to Enlightened forms."}, - {"type": "text", "text": "\nAcquisition\n", "bold": true}, - {"type": "text", "text": "The technology to produce Integrators is long-lost, but their eggs can still be found in dungeons. To hatch an Integrator Egg, place it in a comfy place and pump in a bucketful of blood. After a short time, the Integrator will hatch."}, - {"type": "text", "text": "\nUsage\n", "bold": true}, - {"type": "text", "text": "Each Integrator has an internal reservoir of Enlightenment that is gradually filled as it listens to the cosmos. Feeding the organism with Whisper Flour will quickly fill this reservoir."} + {"type": "text", "text": "The glandular secretion of verrucous rocks is an analogue of Transient Ichor, and can be used to power machines. The fluid often seeps from sores in the rock's hard surface. Fluid can be redirected with pipes and used as a passive power source. Multiple sores can be present in a single rock."} ]}, {"id": "enlightening", "contents": [ {"type": "text", "text": "Enlightening\n", "bold": true}, @@ -319,15 +293,6 @@ {"type": "text", "text": "When facing a Multi-Tank, fluids can be heated. This can be used to pasteurise Milk or to cook Meat Slurry. The power output of the heater influences the processing rate.\n"} ]}, - {"id": "living_machines", "contents": [ - {"type": "text", "text": "Living Machines\n", "bold": true}, - {"type": "text", "text": "Usage\n", "bold": true}, - {"type": "text", "text": "A living machine consists of a controller and set of functional components that are connected together with machine blocks. The process that a machine performs is determined by its functional components. For example, a crusher needs an item input, an item output, one or more crusher segments and a motor port. Some processes can use extra components to achieve different effects."}, - {"type": "text", "text": "The operating parameters of a machine are determined by the machine blocks it is composed of.\n"}, - {"type": "text", "text": "Ageing\n", "bold": true}, - {"type": "text", "text": "Machines have a maximum rated power and operating a machine above 75% of this value will cause gradual degradation over time, which will eventually result in total failure."}, - {"type": "text", "text": "To mitigate the effects of ageing, machine blocks with self-repair capabilities can be used."} - ]}, {"id": "phage_ray", "contents": [ {"type": "text", "text": "Phage Ray\n", "bold": true}, {"type": "text", "text": "The Phage Ray unleashes a concentrated beam of destruction that can rapidly destroy many blocks.\n"}, @@ -340,31 +305,6 @@ {"type": "text", "text": "- Harvest Extractor"}, {"type": "text", "text": "- Item output"} ]}, - {"id": "crusher_segment", "contents": [ - {"type": "text", "text": "Crusher Segment\n", "bold": true}, - {"type": "text", "text": "The Large Crusher provides superior efficiency and yield than its smaller counterpart.\n"}, - {"type": "text", "text": "Usage\n", "bold": true}, - {"type": "text", "text": "Up to four Crusher Segments can be part of a machine. Each segment runs at the same speed, so adding more segments increases efficiency.\n"}, - {"type": "text", "text": "\nRequired Components"}, - {"type": "text", "text": "- Crusher Segment (up to four)"}, - {"type": "text", "text": "- Item Input (Large Hopper)"}, - {"type": "text", "text": "- Item Output"}, - {"type": "text", "text": "- Motor Port"}, - {"type": "text", "text": "\nOptional Components"}, - {"type": "text", "text": "- Lucky One (increases yield of extra outputs)"} - ]}, - {"id": "large_trommel", "contents": [ - {"type": "text", "text": "Large Trommel\n", "bold": true}, - {"type": "text", "text": "The Large Trommel processes fluids more efficiently.\n"}, - {"type": "text", "text": "Usage\n", "bold": true}, - {"type": "text", "text": "Only one Large Trommel mesh is allowed per machine. Multiple fluid inputs and outputs are permitted.\n"}, - {"type": "text", "text": "\nRequired Components"}, - {"type": "text", "text": "- Large Trommel"}, - {"type": "text", "text": "- Fluid Input"}, - {"type": "text", "text": "- Fluid Output"}, - {"type": "text", "text": "- Item Output"}, - {"type": "text", "text": "- Motor Port"} - ]}, {"id": "charnel_pump", "contents": [ {"type": "text", "text": "Charnel Pump\n", "bold": true}, {"type": "text", "text": "Integration Fluid can be induced to seek out precious minerals and engulf them. When injected at high pressure into a rock formation, the fluid will force apart minute fractures, allowing it animalcules to digest the newly exposed mineral deposits. \n\nThe Charnel Pump performs these functions and encourages the fluid to return to the surface once saturated."}, @@ -384,49 +324,13 @@ {"type": "text", "text": "When the machine is running and its maw faces a tree, it will consume the tree and eject the materials via the output port."} ]}, - {"id": "cloning", "contents": [ - {"type": "text", "text": "Cloning\n", "bold": true}, - {"type": "text", "text": "The essential Saltes of Animals may be so prepared and preserved, that an ingenious Man may have the whole Ark of Noah in his own Studie, and raise the fine Shape of an Animal out of its Ashes at his Pleasure.", "italic": true}, - {"type": "text", "text": " - Borellus\n"}, - {"type": "text", "text": [{"text":"To obtain "},{"text":"Essential Saltes","italic":true},{"text":" of an organism, it must be exposed to an Ash Preparation potion and then incinerated. This procedure will succeed even if the organism has an innate resistance to fire, but the disassembly will have to be manual."}]}, - {"type": "text", "text": [{"text": "\nEssential Saltes ", "italic": true},{"text": "can be used in an Oviparous Synthesiser to produce eggs."}]} - ]}, - {"id": "synthesiser", "contents": [ - {"type": "text", "text": "Oviparous Synthesiser\n", "bold": true}, - {"type": "text", "text": "To cast off the vestige of nature is to inch towards revelation; to replicate the natural forms of flesh - finding wisdom in their madness - is to step towards Enlightenment.\n"}, - {"type": "text", "text": "Usage\n", "bold": true}, - {"type": "text", "text": [{"text": "The Oviparous Synthesiser creates eggs of a template organism through its "},{"text": "Essential Saltes.","italic": true},{"text": "Right-clicking the machine with the corresponding "},{"text": "Essential Saltes ","italic": true},{"text": "will install or remove the template."}]}, - {"type": "text", "text": "In order to operate, the machine must be fed Refined Meat and body compound. The amount of meat to produce an egg varies depending on the size of the organism.\n"}, - {"type": "text", "text": "Eggs\n", "bold": true}, - {"type": "text", "text": "Eggs can be moved in standard ways, such as with water streams and pistons. They can also be picked up as items by hitting them. Immersion in blood will trigger eggs to hatch.\n"} - ]}, - {"id": "plc", "contents": [ - {"type": "text", "text": "Programmable Logic Controller\n", "bold": true}, - {"type": "text", "text": "The PLC is a computer specialised for industrial automation. It can run user-defined programs or run instructions one by one in an interactive mode. Its clock speed is a lightning fast 20Hz."}, - {"type": "text", "text": "\nRight-clicking on the PLC gives control over its robot."}, - {"type": "text", "text": "\nUser Interface\n", "bold": true}, - {"type": "text", "text": "When inside the robot, movement is accomplished using the normal keys. Middle click-dragging rotates the camera."}, - {"type": "text", "text": "\nThe PLC has two modes: interactive mode and edit mode. The current mode can be switched using the button on the top right of the screen."}, - {"type": "text", "text": "\nTo execute an instruction in Interactive Mode, select the desired operation from the bottom right panel. Then, click blocks in the world to add them as arguments. When sufficient arguments are provided, an instruction emitted and executed."}, - {"type": "text", "text": "\nIn Edit Mode, the program is written in the left panel in NEEPASM. More instructions are available in this mode. These are outlined in the bottom right pane."}, - {"type": "text", "text": "The buttons at the top right of the screen allow programs to be compiled, started and stopped."} - ]}, {"id": "plc_instructions", "contents": [ {"type": "text", "text": "PLC Instructions\n", "bold": true}, {"type": "text", "text": "\nInstructions consist of an operation and a series of arguments. These arguments are positions in the world."}, {"type": "text", "text": "\nInstructions can have a variable number of arguments. Some, such as END and RESTART have zero arguments."}, {"type": "text", "text": "\nCertain arguments have to meet specific criteria, such as being item or fluid inventories. For example, COMBINE takes one item storage and one item workbench. If an invalid block is selected, the argument will be rejected."} ]}, - {"id": "plc_workbenches", "contents": [ - {"type": "text", "text": "PLC Workbenches\n", "bold": true}, - {"type": "text", "text": "Workbenches allow items and entities to be modified on by a PLC robot."}, - {"type": "text", "text": "\nExamples:"}, - {"type": "text", "text": "- Display Platform (item)"}, - {"type": "text", "text": "- Pedestal (item)"}, - {"type": "text", "text": "- Surgery Platform (entity)"}, - {"type": "text", "text": "\nNot all instructions require workbenches. Some operate on normal item or fluid inventories."} - ]}, {"id": "neepasm", "contents": [ {"type": "text", "text": "NEEPASM\n", "bold": true}, {"type": "text", "text": "NEEPASM is an assembly language for the NEEP PLC. Due to the PLC's Enlightened instruction set, the language can be slightly more user-friendly than most assembly languages."}, @@ -482,23 +386,6 @@ {"type": "code", "text": "rwait $redstone_input # Wait for redstone"} ]}, - {"id": "implants", "contents": [ - {"type": "text", "text": "Implants\n", "bold": true}, - {"type": "text", "text": "Implants provide new abilities to organisms, elevating them beyond the fickle whims of nature."}, - {"type": "text", "text": "\nExamples:\n"}, - {"type": "text", "text": "- Extra Knees"}, - {"type": "text", "text": "- Pineal Eye"}, - {"type": "text", "text": "- Divine Chrysalis", "strikethrough": true}, - {"type": "text", "text": "- Lung Extensions"}, - {"type": "text", "text": "- Extra Mouth"}, - {"type": "text", "text": "\nImplants are applied to entities using the IMPLANT instruction. The entity must be standing on a Surgery Platform."} - ]}, - {"id": "implant_manager", "contents": [ - {"type": "text", "text": "Implant Manager\n", "bold": true}, - {"type": "text", "text": "The Implant Manager allows previously installed implants to be removed."}, - {"type": "text", "text": "The machine does not require power, but it must face a PLC workbench containing the target item or entity. To remove an implant from an entity, the Implant Manager must be facing a Surgery Platform on which the entity is standing."} - ]}, - {"id": "airtruck", "contents": [ {"type": "text", "text": "Airtruck\n", "bold": true}, {"type": "text", "text": "The Airtruck is a flying vehicle that can carry one pilot and a passenger. Mobs will board the vehicle when they collide with it, much like a with a boat.\nAll the controls are the same as in creative flight except for the down key, which is '\\' by default. Shift-right clicking will disassemble the vehicle."} @@ -507,7 +394,7 @@ {"id": "assault_drill", "contents": [ {"type": "text", "text": "Assault Drill\n", "bold": true}, {"type": "text", "text": "The Assault Drill is a drill rated for offensive use. It continuously damages entities with a range of one block. \n"}, - {"type": "text", "text": "The drill runs on Ethereal Fuel. To refuel, right-click on a container of Ethereal Fuel or use a bottler. This item can also be enchanted to increase its damage output."} + {"type": "text", "text": "The drill runs on Transient Ichor. To refuel, right-click on a container of Transient Ichor or use a bottler. This item can also be enchanted to increase its damage output."} ]}, {"id": "halberd", "contents": [ diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/index_en_us.json b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/index_en_us.json index 1a4f0e1924d1..ab4e19f48d13 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/index_en_us.json +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/en_us/index_en_us.json @@ -3,18 +3,18 @@ {"type": "page", "id": "intro", "icon": "neepmeat:meat_steel_ingot", "text": "Introduction"}, {"type": "article", "id": "fluids", "icon": "neepmeat:ethereal_fuel_bucket", "text": "Power Transfer"}, {"type": "menu", "id": "getting_started", "icon": "neepmeat:motor_unit", "text": "Getting Started", "entries": [ + {"type": "page", "id": "integrator", "icon": "neepmeat:integrator_egg", "text": "Integrator Organism", "lookup": ["neepmeat:integrator_egg", "neepmeat:advanced_integrator"]}, {"type": "page", "id": "verrucous_rocks", "icon": "neepmeat:verrucous_stone", "text": "Verrucous Rocks", "lookup": ["neepmeat:verrucous_stone", "neepmeat:verrucous_stone_port"]}, {"type": "page", "id": "brains", "icon": "neepmeat:brain_rough", "text": "Brains", "lookup": "neepmeat:brain_rough"}, {"type": "page", "id": "meat", "icon": "neepmeat:raw_meat_brick", "text": "Meat", "lookup": ["neepmeat:raw_meat_brick"]}, {"type": "page", "id": "blood", "icon": "neepmeat:blood_bucket", "text": "Blood", "lookup": ["neepmeat:blood_bucket", "neepmeat:sacrificial_dagger"]}, - {"type": "page", "id": "integrator", "icon": "neepmeat:integrator_egg", "text": "Integrator Organism", "lookup": ["neepmeat:integrator_egg", "neepmeat:advanced_integrator"]}, {"type": "page", "id": "enlightening", "icon": "neepmeat:pedestal", "text": "Enlightening", "lookup": ["neepmeat:pedestal"]}, {"type": "page", "id": "charnel_compactor", "icon": "neepmeat:charnel_compactor", "text": "Charnel Compactor", "lookup": "neepmeat:charnel_compactor"} ]}, {"type": "menu", "id": "power", "icon": "neepmeat:motor_unit", "text": "Power", "entries": [ {"type": "page", "id": "fluids", "icon": "neepmeat:ethereal_fuel_bucket", "text": "Energetic Fluids", "lookup": "neepmeat:ethereal_fuel_bucket"}, {"type": "page", "id": "verrucous_rocks", "icon": "neepmeat:verrucous_stone", "text": "Verrucous Rocks", "lookup": ["neepmeat:verrucous_stone", "neepmeat:verrucous_stone_port"]}, - {"type": "page", "id": "fuel_transducer", "icon": "neepmeat:transducer", "text": "Fuel Transducer", "lookup": "neepmeat:transducer"}, + {"type": "page", "id": "fuel_transducer", "icon": "neepmeat:transducer", "text": "Transductive Cannula", "lookup": "neepmeat:transducer"}, {"type": "page", "id": "power_flower", "icon": "neepmeat:power_flower_growth", "text": "Power Flower", "lookup": ["neepmeat:power_flower_seeds", "neepmeat:power_flower_growth", "neepmeat:power_flower_controller", "neepmeat:power_flower_fluid_port"]}, {"type": "page", "id": "heart_machine", "icon": "neepmeat:fluid_exciter", "text": "Heart Machine", "lookup": "neepmeat:fluid_exciter"} ]}, @@ -45,14 +45,25 @@ "lookup": ["neepmeat:living_machine_controller", "neepmeat:machine_block", "neepmeat:base_machine_block", "neepmeat:meat_steel_machine_block", "neepmeat:meat_steel_machine_block_2", "neepmeat:skin_machine_block"]}, {"type": "page", "id": "phage_ray", "icon": "neepmeat:phage_ray", "text": "Phage Ray", "lookup": "neepmeat:phage_ray"}, - {"type": "page", "id": "crusher_segment", "icon": "neepmeat:crusher_segment", "text": "Large Crusher", "lookup": "neepmeat:crusher_segment"}, + {"type": "page", "id": "large_crusher", "icon": "neepmeat:crusher_segment", "text": "Large Crusher", "lookup": ["neepmeat:crusher_segment", "neepmeat:lucky_one"]}, {"type": "page", "id": "large_trommel", "icon": "neepmeat:large_trommel", "text": "Large Trommel", "lookup": "neepmeat:large_trommel"}, + {"type": "page", "id": "metaboliser", "icon": "neepmeat:metaboliser_segment", "text": "Metaboliser"}, {"type": "page", "id": "tree_vacuum", "icon": "neepmeat:tree_vacuum", "text": "Tree Vacuum", "lookup": "neepmeat:tree_vacuum"}, {"type": "page", "id": "charnel_pump", "icon": "neepmeat:charnel_pump", "text": "Charnel Pump", "lookup": "neepmeat:charnel_pump"}, {"type": "page", "id": "large_compressor", "icon": "neepmeat:large_compressor", "text": "Large Compressor", "lookup": "neepmeat:large_compressor"} ]}, {"type": "menu", "id": "plc", "icon": "neepmeat:plc", "text": "PLC and Manufacturing", "entries": [ {"type": "page", "id": "plc", "icon": "neepmeat:plc", "text": "PLC", "lookup": ["neepmeat:plc", "neepmeat:executor"]}, + {"type": "menu", "id": "thord_menu", "icon": "neepmeat:plc", "text": "THORD Language", "entries": [ + {"type": "page", "id": "thord_words", "icon": "neepmeat:plc", "text": "THORD Word Reference"}, + {"type": "page", "id": "thord", "icon": "neepmeat:plc", "text": "THORD"}, + {"type": "page", "id": "word_definition", "icon": "neepmeat:plc", "text": "Defining Words"}, + {"type": "page", "id": "thord_constructs", "icon": "neepmeat:plc", "text": "Flow-Control Constructs"}, + {"type": "page", "id": "thord_variables", "icon": "neepmeat:plc", "text": "Variables"}, + {"type": "page", "id": "thord_booleans", "icon": "neepmeat:plc", "text": "Booleans"}, + {"type": "page", "id": "thord_macros", "icon": "neepmeat:plc", "text": "THORD Macros"}, + {"type": "page", "id": "thord_examples", "icon": "neepmeat:plc", "text": "THORD Code Examples"} + ]}, {"type": "menu", "id": "neepasm_menu", "icon": "neepmeat:plc", "text": "NEEPASM Language", "entries": [ {"type": "page", "id": "neepasm", "icon": "neepmeat:plc", "text": "NEEPASM"}, {"type": "page", "id": "stack", "icon": "neepmeat:plc", "text": "Stack Operations"}, @@ -62,18 +73,11 @@ {"type": "page", "id": "memory", "icon": "neepmeat:plc", "text": "Memory"}, {"type": "page", "id": "interrupts", "icon": "neepmeat:plc", "text": "Interrupts"} ]}, - {"type": "menu", "id": "thord_menu", "icon": "neepmeat:plc", "text": "THORD Language", "entries": [ - {"type": "page", "id": "thord_words", "icon": "neepmeat:plc", "text": "THORD Word Reference"}, - {"type": "page", "id": "thord", "icon": "neepmeat:plc", "text": "THORD"}, - {"type": "page", "id": "word_definition", "icon": "neepmeat:plc", "text": "Defining Words"}, - {"type": "page", "id": "thord_constructs", "icon": "neepmeat:plc", "text": "Flow-Control Constructs"}, - {"type": "page", "id": "thord_booleans", "icon": "neepmeat:plc", "text": "Booleans"}, - {"type": "page", "id": "thord_macros", "icon": "neepmeat:plc", "text": "THORD Macros"} - ]}, {"type": "page", "id": "plc_instructions", "icon": "neepmeat:plc", "text": "Instructions"}, {"type": "page", "id": "plc_workbenches", "icon": "neepmeat:surgery_platform", "text": "PLC Workbenches"}, - {"type": "page", "id": "implants", "icon": "neepmeat:pineal_eye", "text": "Implants", "lookup": ["neepmeat:pineal_eye", "neepmeat:extra_mouth", "neepmeat:extra_knees", "neepmeat:lung_extensions"]}, - {"type": "page", "id": "implant_manager", "icon": "neepmeat:upgrade_manager", "text": "Implant Manager", "lookup": ["neepmeat:upgrade_manager"]} + {"type": "page", "id": "implanter", "icon": "neepmeat:implanter", "text": "Implanter", "lookup": ["neepmeat:implanter"]}, + {"type": "page", "id": "actuators", "icon": "neepmeat:robotic_arm", "text": "Actuators"}, + {"type": "page", "id": "implants", "icon": "neepmeat:pineal_eye", "text": "Implants", "lookup": ["neepmeat:upgrade_manager", "neepmeat:pineal_eye", "neepmeat:extra_mouth", "neepmeat:extra_knees", "neepmeat:lung_extensions"]} ]}, {"type": "menu", "id": "neepbus", "icon": "neepmeat:data_cable", "text": "NEEPBus", "entries": [ {"type": "page", "id": "neepbus", "icon": "neepmeat:data_cable", "text": "NEEPBus", "lookup": ["neepmeat:data_cable"] }, diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/cloning/cloning.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/cloning/cloning.md new file mode 100644 index 000000000000..c66eabe70594 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/cloning/cloning.md @@ -0,0 +1,11 @@ +--- +id: cloning +--- +# 克隆 + +*可以通过这种方式妥善准备与保存的动物的精盐,如此一来,一个充满创造力的人便可以在自己的工作室里摆进整整一艘诺亚方舟,并且能随意地从动物的灰烬中唤起它完好时的模样。* + ——勃鲁斯 + +而为提炼生物体的*精盐*,必须先令其浸淋焚灰预备液,然后焚化。该流程对先天具有火焰抗性的生物也可生效,但需手动击杀才能完成分解过程。 + +*精盐*可用在精卵合成机中产出卵。 diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/cloning/synthesiser.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/cloning/synthesiser.md new file mode 100644 index 000000000000..a19886f831c0 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/cloning/synthesiser.md @@ -0,0 +1,21 @@ +--- +id: synthesiser +--- +# 精卵合成机 + +摒弃自然的残余,即是揭开万物的奥秘。复刻自然的血肉,从它们的疯狂中寻找智慧,即是向着智慧前行。 + +## 使用方法 + +精卵合成机使用生物体的*精盐*来复制生物体。以*精盐*右击合成机,即可装入或去除对应的模板。 + +向机器送入肉浆,即可制造出生物卵。所需的肉量随生物体大小变化而变。 + +卵的生产过程可由红石信号禁用。 + +## 卵 + +生物卵可以用普通方式搬运,如水流和活塞。敲击后也可作为物品捡起。 + +- 将其浸泡在血液中可催动其孵化。 +- 通过PLC直接向其注入血液可立即令其孵化。 \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/fluid_pipe.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/fluid_pipe.md index 7fc107c34599..4934f45a8b6a 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/fluid_pipe.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/fluid_pipe.md @@ -11,16 +11,21 @@ id: fluid_pipe 为让流体流过管道,起点与终点间必须存在高度差,或存在运作中的泵。流体受重力影响,因此它们会自然从高处流向低处。在希望流体流经的路径中放入红石泵,也可令流体流过该处。 -连接至容器下方的管道会常态抽取流体。从其他面抽取时必须配备泵。 - 泵默认需红石信号开启,潜行空手点击可反转此行为。 +## 重力 + +连接至容器下方的管道会常态抽取流体。从其他面抽取时必须配备泵。 + # 放置 -为避免管道错误连接,可利用它们在放置后遵循的某种连接规则: +为避免管道错误连接,它们在放置后会遵循某种连接规则: -- -- 如放置在两端同种颜色的管道间,则其会连通两者。 +- 放置在流体容器的侧面时会与容器建立连接。 +- 相邻其他管道放置时,只有当已有管道的连接数少于2时,新管道才会与之连接。 +- 不同颜色的管道不会相连。 +- 潜行放置管道不会建立连接。 +- 将管道放置在管道的侧面时会建立连接。 ## 行为 diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/getting_started/integrator.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/getting_started/integrator.md new file mode 100644 index 000000000000..383eed7833b3 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/getting_started/integrator.md @@ -0,0 +1,20 @@ +--- +id: integrator +--- +# 融变生物机 + +融变生物机是一种信息处理用生物机械系统,专为简化机器生产而造。它能承受非人类知识的大量累积,并可将这种知识送入特定种类的物质,以此为物质启智。 + +## 获取途径 + +制造融变生物机有关的科技已不可考,但它们的卵仍留存于地牢之中。 + +还可选择向下图的接收器结构提供一颗复苏心脏,有可能形成一个融变生物机。 + +\image[width=328,height=245,scale=0.6]{neepmeat:guide/images/egg_receiver.png} + +孵化融变机卵时,需将其安放在条件合适的位置,再通过流体管道送入一整桶血液。经过一段时间后,卵就会孵化成融变生物机。 + +## 使用方法 + +每一个融变生物机个体都有一个内部信息存储库,在它聆听宇宙时,该存储库会缓慢自动填充。以呢喃面粉喂食可加快融变机的学习。 \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/large_crusher.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/large_crusher.md new file mode 100644 index 000000000000..45e62e79fffe --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/large_crusher.md @@ -0,0 +1,23 @@ +--- +id: large_crusher +--- +# 大型粉碎机 + +大型粉碎机的效率和产量均远超普通的粉碎机。 + +## 使用方法 + +同一活体机器中最多可存在4个粉碎机加工段。每个加工段的运作速度一致,也即,数量越多效率就越高。 + +最小功率:100eJ/t + +## 必需组件 + +- 粉碎机加工段(最多4个) +- 物品输入端口(大型漏斗) +- 物品输出端口 +- 发动机端口 + +## 可选组件 + +- 幸运儿(增加额外产物的产量) diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/large_trommel.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/large_trommel.md new file mode 100644 index 000000000000..56737a10ac97 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/large_trommel.md @@ -0,0 +1,21 @@ +--- +id: large_trommel +--- +# 大型滚筒筛 + +大型滚筒筛能以更高的效率加工流体。 + +## 使用方法 + +同一活体机器中最多可存在1台大型滚筒筛。可以存在多个流体输入端口和输出端口。 + +最小功率:100eJ/t + +## 必需组件 + +- 大型滚筒筛 +- 流体输入端口 +- 流体输出端口 +- 物品输出端口 +- 发动机端口 + diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/living_machines.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/living_machines.md new file mode 100644 index 000000000000..5087b734933c --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/living_machines.md @@ -0,0 +1,18 @@ +--- +id: living_machines +--- +# 活体机器 + +## 使用方法 + +活体机器由两部分组成:控制器、相应的功能组件。这些部分需用机器方块连接。此类机器的功能由其功能组件决定。例如,大型粉碎机需要一个物品输入端口、一个物品输出端口、一个及以上的粉碎机加工段、一个发动机端口。某些加工流程的效果会因加装组件而产生变化。 + +活体机器的工作参数由其组件决定。 + +## 老化 + +活体机器的额定功率有上限,将机器的功率提高到此上限的75%以上会导致磨损与老化,最终可能导致出现**重大故障**。 + +为减轻老化的负面效果,可以选用具有自我修复功能的机器方块。 + +活体机器中至少要有一个机器方块。无此类方块的机器的额定功率为零,它们在获得供能时会立刻停止工作。 diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/metaboliser.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/metaboliser.md new file mode 100644 index 000000000000..ed6efd86f02f --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/metaboliser.md @@ -0,0 +1,23 @@ +--- +id: metaboliser +lookup: neepmeat:metaboliser_segment, +--- +# 代谢机 + +代谢机可消耗液态食物来产出能量。 + +代谢机由一个胃囊和多个代谢机工作段组成。每追加一个工作段,都会增加食物消耗速率和能量产出速率。功率会通过工作段本身直接输出至脉管网络。 + +每个工作段每刻消耗4滴流体,且各工作段应独立连接至脉管网络。 + +输出功率取决于工作段的数量和输入食物的能量密度。 + +## 能量密度 + +- 肉浆:40eJ / d +- 动物饲料:60eJ / d +- 液态食物:(1 + 9 * 饥饿值) / d + +## 示例 + +\image[width=332,height=321,scale=0.5]{neepmeat:guide/images/metaboliser.png} \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/mixer.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/mixer.md new file mode 100644 index 000000000000..77521791edb9 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/mixer.md @@ -0,0 +1,14 @@ +--- +id: mixer +--- +# 混合机 + +混合机是能混合流体和物品的两格高机器。需要旋转源才可运作。 + +## 使用方法 + +混合机会自动从与其下部相邻的储罐中取出流体。物品则必须通过漏斗或管道直接送入。 + +机器内物品和流体有对应配方时,混合加工即会启动。加工的速率由相连发动机的转速决定。 + +\image[width=128,height=128,scale=0.5]{neepmeat:guide/images/mixer.png} diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/trommel.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/trommel.md new file mode 100644 index 000000000000..0965c822a279 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/machines/trommel.md @@ -0,0 +1,20 @@ +--- +id: trommel +--- +# 滚筒筛 + +其他的滚筒筛能从水中分离掉岩屑,这台滚筒筛同样能去除肉和脂肪中的杂质。平凡的污染物会留在筛网中,而提纯后的产物则会流出筛外。 + +与直接压榨污浊矿石脂肪相比,使用滚筒筛处理可将产量提高至150%。 + +使用绞碎机或处死用扇刃分解生物体后,所产出的组织浆液可在此提纯为精制肉,且有概率产出生物固态物糊。 + +# 使用方法 + +流体需从近端方块上部的容器送入,产物会从远端方块下部输出。 + +\image[width=299,height=178]{neepmeat:guide/images/trommel.png} + +需要接上旋转中的发动机才可运作。 + +\image[width=322,height=237]{neepmeat:guide/images/trommel_image.png} \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/neepasm/macros.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/neepasm/macros.md index 6d8113161d44..31a01bf69d08 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/neepasm/macros.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/neepasm/macros.md @@ -16,7 +16,7 @@ a_macro # Expand the macro [2] [1] "这是一个宏" [2] 扩展宏 -参数可由宏名后以空格分隔的列表定义。宏内部可在参量名前加`%`前缀引用其值: +参数可由宏名后方以空格分隔的列表定义。宏内部可在参量名前加`%`前缀引用其值: ``` %macro a_macro message something_else diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/actuators.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/actuators.md new file mode 100644 index 000000000000..c2ab1028b57f --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/actuators.md @@ -0,0 +1,11 @@ +--- +id: actuators +--- +# 操作机构 + +- 植入器:唯一能对实体执行手术的操作机构。 +- 机械臂:可高速执行大多数加工指令,但其范围有限。需外接发动机。 +- 管道驱动器:允许PLC向物品管道网络发送请求。 + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/plc_actuators.png} +\centering{左至右:植入器、机械臂、管道驱动器。} \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/implanter.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/implanter.md new file mode 100644 index 000000000000..490012e47c5b --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/implanter.md @@ -0,0 +1,46 @@ +--- +id: implanter +--- +# 植入器 + +植入器用于为植入对象嵌装植入物。 + +植入器接受手动控制,也可由PLC自动控制。 + +手动控制时,植入器无需特殊配套设施。而由PLC控制时,目标实体必须站在手术站上。 + +## 手动控制 + +与植入器交互可直接进行操作。可通过正常按键移动植入头。 + +嵌装时植入头需处于正确的位置。 + +植入头面向实体时,该实体会被高亮显示,且植入的部位会以十字标记。十字处于植入头摄像头的中央时,即可通过“APPLY”进行嵌装。 + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/implanter_manual.png} +\centering{手动模式下植入器的摄像头界面。} + +## PLC自动控制 + +`IMPLANT`指令专用于自动控制植入器。该指令有两个参数: + +1. 取用植入物的物品容器。 +2. 目标实体身处的手术台。 + +示例: + +``` +# Using aliases for readability [1] +%a input = @(2 3 4) # Input inventory [2] +%a platform = @(3 3 4) # Platform [3] + +robot @(1 2 3) # Implanter's position [4] +implant $input $platform +``` + [1] 为可读性考虑,此处使用别名 + [2] 输入容器 + [3] 手术台 + [4] 植入器的位置 + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/implanter.png} +\centering{正在控制植入器的PLC。玩家身处的手术站旁配备了植入物管理器。} diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/implants.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/implants.md new file mode 100644 index 000000000000..ac3d1efd95cb --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/implants.md @@ -0,0 +1,26 @@ +--- +id: implants +--- +# 植入物 + +植入物能给生物体带来全新的能力,将它们从自然的淫威中解救出来。 + +## 示例: + +- 强化膝盖 +- 额外口器 +~~- 神圣之蛹~~ +- 手刀 +- 肺延长 +- 松果眼 +- TNT(中枢神经系统控爆爆炸物) +- 猫耳 + +## 使用方法 + +植入物需用植入器嵌装。植入器允许手动操作,也可由PLC通过`IMPLANT`指令自动操作。 + +植入物管理器可用于配置和取下植入物。植入物管理器必须面朝手术站,且被操作的实体需站在该手术站上。 + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/implanter.png} +\centering{正在控制植入器的PLC。手术站旁配备了植入物管理器。} diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/plc.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/plc.md new file mode 100644 index 000000000000..09eae0fea228 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/plc.md @@ -0,0 +1,48 @@ +--- +id: plc +--- +# 可编程逻辑控制器 + +可编程逻辑控制器(PLC)是专为工业自动化设计的计算机,能够运行用户编写的程序,也可进入交互模式以逐次执行指令。机载时钟速度快如闪电,有足足20Hz。 + +PLC通过“操作机构”(Actuator)与世界交互。每台PLC均配备一个机器人,视作默认操作机构。 + +右击PLC可获取其机器人的控制权。 + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/plc_interactive.png} +\centering{处于交互模式下的PLC,其有两个展示台用于存放配方原材料。} + +## 交互模式 + +控制机器人时,可通过正常按键移动机器人。中键拖动可旋转摄像头。 + +PLC具有如下两个模式:交互模式和编辑模式。当前模式可由屏幕右上角的按钮切换。 + +如需在交互模式中执行单条指令,应在右下角面板中选择合适的操作符。点击世界中的方块可将其加作参数。输入足量参数后,指令便会发出并执行。 + +## 编辑模式 + +在编辑模式下,左侧面板可供编写程序。此模式下有更多指令可用。各指令均会在右下角面板列出。 + +屏幕右上角的按钮可以编译、启动、停止程序。 + +### 编程语言 + +PLC使用两种编程语言: + +NEEPASM:简单的汇编语言。 +THORD:相较NEEPASM而言更高级的语言,具有多种便捷的流程控制结构。 + +可在右上角的按键处切换语言。 + +Ctrl点击按钮可打开对应语言的文档。 + +由于THORD更为便捷,推荐优先于NEEPASM使用。 + +### 编辑模式快捷键 + +CTRL+R:运行或暂停程序 +CTRL+S:编译当前代码 +CTRL+E:编译当前代码并立即执行 +CTRL+T:停止程序 +CTRL+F:执行当前指令,并在执行下一条前暂停 \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/plc_workbenches.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/plc_workbenches.md new file mode 100644 index 000000000000..bfa77bef6387 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/plc/plc_workbenches.md @@ -0,0 +1,17 @@ +--- +id: plc_workbenches +--- +# PLC工作站 + +工作站中的物品和实体可由PLC操作机构操纵。 + +## 示例: + +- 展示台(物品) +- 启智台座(物品) +- 手术站(实体) + +不是所有指令的执行都要求存在工作站。有部分指令只涉及普通的物品存储空间和流体储罐。 + +\image[width=854,height=480,scale=0.6]{neepmeat:guide/images/plc_workbenches.png} +\centering{左至右:展示台、启智台座、手术站。} \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord.md index 88236b932f57..03086bb02704 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord.md @@ -3,11 +3,13 @@ id: thord --- # THORD +THORD是适用于PLC的编程语言,相对于NEEPASM来说较接近高级语言。THORD的语法更为简练,且具有循环和条件语句等结构。 + # 栈 -THORD的栈操作相较NEEPASM更为简练。 +THORD的栈操作比NEEPASM更简单。 -若需将数压栈,直接以文本打出即可。THORD不会区分换行和表达式分隔符,因此同一行内可压入多个数。 +若需将数压栈,可直接以文本打出。THORD不会区分换行和表达式分隔符,因此同一行内可压入多个数。 来看下面的程序: diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord_examples.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord_examples.md new file mode 100644 index 000000000000..81d4a027f8de --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord_examples.md @@ -0,0 +1,122 @@ +--- +id: thord_examples +--- +# 通用 + +## 变量 + +``` +variable v + +# Assign [1] +123 v ! + +# Get and print [2] +v @ . +``` + [1] 赋值 + [2] 读取并打印 + +## 斐波那契数列 + +``` +: fibonacci + 0 + 0 1 + 2swp + + do + dup + rot + add + dup . + loop + + 2drop +; + +100 fibonacci +``` + +# 物流 + +## 等待某容器中的10个骨头 + +``` +begin + delay 10 + count @(1 2 3 U) "minecraft:bone" + 10 <= invert +until + say "done" +``` + +## 等待某容器中一定数量的某物品的宏 + +``` +%: wait_item container item amount +begin + count %container %item + %amount <= invert +until +%; + +wait_item @(1 2 3 U), "minecraft:bone", 10 +; +``` + +# 编译时词 + +## 定义if-else + +THORD的编译时执行功能可用于自定义流程控制结构。 + +下方的程序展示了THORD中if-else-then结构的实现方法。 + +``` +:i pcphead + postpone cphead ; +; + +:i if1 + postpone cphead blank ; # bif placeholder [1] +; + +:i endif1 + dup -1 = .bif ifend ; # -1 indicates else [2] + label ifelse + drop # get rid of -1 [3] + postpone cphead ; + - dup neg + postpone cpjmp ; + .jmp end f ; + label ifend + postpone cphead ; + - dup neg + postpone cpbif ; + label end +; + +:i else1 + postpone cphead ; + - dup neg .inc ; + postpone cpbif ; # backpatch bif [4] + postpone cphead blank ; # jmp placeholder [5] + -1 # tell then to backpatch jmp [6] +; + +# Test the words [7] +1 +if1 + .say "yes" ; +else1 + .say "no" ; +endif1 +``` + [1] `bif`占位 + [2] -1代表跳转到else + [3] 删除-1 + [4] 回填`bif` + [5] `jmp`占位 + [6] 让then部分回填`jmp` + [7] 测试词 \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord_variables.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord_variables.md new file mode 100644 index 000000000000..1c70bf1601f0 --- /dev/null +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/thord_variables.md @@ -0,0 +1,113 @@ +--- +id: thord_variables +--- +# 变量 + +变量可使用`VARIABLE`词创建。 + +引用变量的名称会将其地址压栈。任意词均可将此地址用作参数。 + +- `!`可将栈顶往下第二元素的值存入栈顶变量。 +- `@`可获取变量的值。 +- `?`可打印变量的值。 +- `+!`可将栈顶往下第二元素的值加至变量。 + +示例 + +``` +# Create the variable [1] +variable count + +# Print the variable's address [2] +count . + +# Assign 123 to the variable [3] +123 count ! + +# Add 1 to the variable [4] +1 count +! + +# Print the variable's value [5] +count @ . + +# Shorthand for @ . [6] +count ? +``` + [1] 创建变量 + [2] 打印变量的地址 + [3] 将123赋值给变量 + [4] 向变量加1 + [5] 打印变量的值 + [6] `@ .`的简写 + +# 数组 + +数组由词`ARRAY`创建。 + +引用数组的名称会将其首元素的地址压栈。后继各元素的值可由地址递增接`@`获取。 + +``` +# Create an array with 5 elements [1] +array a 5 + +# Value to put in the array [2] +123 + +# Get the address of the second element [3] +a 1 + + +# Store it [4] +! +``` + [1] 创建包含5个元素的数组 + [2] 要存入数组的值 + [3] 获取数组第二个元素的地址 + [4] 存储操作 + +数组和匿名词有许多有意思的功用。下方的程序向数组存入了三个匿名词的地址,而后即遍历各元素并执行各词。 + +``` +# Create an array of three elements [1] +array a 3 + +# Count represents the current element of the array to fill [2] +variable count + +# Create a noname word [3] +:noname + .say "Look at me" ; +; + +# Stored it using a word we defined [4] +sto + +# More compact syntax for the same thing [5] +:noname .say "I'm a word" ; ; sto +:noname .say "Boiled in oil" ; ; sto + +# Values of i: 0 1 2 [6] +3 0 for + # Get the value at i [7] + i at execute +loop + +# Stores top stack entry in the array and increments count. [8] +: sto ( addr -- ) + count @ a + ! + 1 count +! +; + +# Retrieves the element at idx [9] +: at ( idx -- addr ) + a + @ +; +``` + [1] 创建包含3个元素的数组 + [2] `count`代表当前应操作数组的哪个元素 + [3] 创建一个匿名词 + [4] 用自定义的词进行存储 + [5] 功能相同,而语法更紧凑的写法 + [6] `i`的值分别为:0、1、2 + [7] 获取`i`处的值 + [8] 将栈顶元素存入数组,并递增`count` + [9] 读取索引为`idx`的元素 \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/word_definition.md b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/word_definition.md index 59319c445471..d4193421dc0b 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/word_definition.md +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles/thord/word_definition.md @@ -76,7 +76,7 @@ word1 # 延迟(POSTPONE) -延迟(POSTPONE)指令需在立即词内使用,代表其后续的词序列应在运行时编译执行,而非在编译时即执行。 +延迟(`POSTPONE`)指令需在立即词内使用,代表其后续的词序列应在运行时编译执行,而非在编译时即执行。 延迟的作用范围自它自身起始,并在其后第一个`;`前结束。 @@ -92,4 +92,14 @@ word1 word2 ``` [1] 将123压入PLC的数据栈 - [2] 在运行时压入123并打印 \ No newline at end of file + [2] 在运行时压入123并打印 + +# :NONAME + +可用`:NONAME`创建不使用名称引用的词。实操时,此类词的地址会被压栈。此时可借助`EXECUTE`执行词。 + +``` +:noname 123 . ; + +execute +``` \ No newline at end of file diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles_zh_cn.json b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles_zh_cn.json index 352dfc170b2e..b6545dd93ebe 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles_zh_cn.json +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/articles_zh_cn.json @@ -20,18 +20,18 @@ {"type": "text", "text": "能量传输\n", "bold": true}, {"type": "text", "text": "和其他使用电力等下等资源的产品不同,NEEP出品机器的运作动力直接来自神本身。"}, {"type": "text", "text": "\n功率和能量的计算都采用NEEP制式单位。能量的单位为奥秘焦耳(eJ)。功率的单位为奥秘焦耳每刻(eJ/t)。"}, - {"type": "text", "text": "\n缥缈燃液\n", "bold": true}, + {"type": "text", "text": "\n瞬变浆液\n", "bold": true}, {"type": "text", "text": "能量密度:81keJ/B"}, - {"type": "text", "text": "缥缈燃液由燃液换能器产出,是神之伟力在世间的短暂显现。此燃液用于驱动基础发动机,可由流体管道运输。"}, + {"type": "text", "text": "瞬变浆液由换能套管产出,是神之伟力在世间的短暂显现。此浆液用于驱动基础发动机,可由流体管道运输。"}, {"type": "text", "text": "\n脉管导管\n", "bold": true}, {"type": "text", "text": "脉管导管封装了能量传输中的复杂物流细节。其中的融合液(由启智后微型活体强化的血液)经由三阶段的蠕动式泵送传输,以此为高级机器稳定供能。"} ]}, {"id": "fuel_transducer", "contents": [ - {"type": "text", "text": "燃液换能器\n", "bold": true}, - {"type": "text", "text": "燃液换能器利用热源加热底物,以此产出缥缈燃液。"}, + {"type": "text", "text": "换能套管\n", "bold": true}, + {"type": "text", "text": "换能套管利用热源加热底物,以此产出瞬变浆液。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "燃液换能器必须置于下图所示的结构中。其下方必须存在装有水的储罐,储罐下方必须有热源。点燃的熔炉、熔岩、装有熔岩的炼药锅、岩浆块均视作热源,其中点燃的熔炉产能最多。\n换能器能向上方主动加压输出缥缈燃液。\n在能自行再生的水源下方放置漏集池,相当于稳定供水。"}, + {"type": "text", "text": "换能套管必须置于下图所示的结构中。其下方必须存在装有水的储罐,储罐下方必须有热源。点燃的熔炉、熔岩、装有熔岩的炼药锅、岩浆块均视作热源,其中点燃的熔炉产能最多。\n套管会向上方主动加压输出瞬变浆液。\n在能自行再生的水源下方放置漏集池,相当于稳定供水。"}, {"type": "image", "width": 32, "height": 98, "scale": 0.2, "path": "neepmeat:guide/images/transducer_usage.png"}, {"type": "text", "text": "\n热源与产能量:", "bold": true}, {"type": "text", "text": "- 熔岩:20eJ/t"}, @@ -41,10 +41,10 @@ ]}, {"id": "power_flower", "contents": [ {"type": "text", "text": "能量花\n", "bold": true}, - {"type": "text", "text": "能量花能借由阳光和液态食物合成缥缈燃液。"}, + {"type": "text", "text": "能量花能借由阳光和液态食物合成瞬变浆液。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "能量花种子可种在任何一种泥土类方块中,成熟后会长成庞大的增生体。\n上方与空气接触,下方有至少一个增生体方块时,增生体会特化为光合器官,且能持续产出20eJ/t。其他情况下,增生体会加快食物消化与代谢的速率。"}, - {"type": "text", "text": "产出燃液时,必须向能量花流体口供应水。"}, + {"type": "text", "text": "能量花种子可种在任何一种泥土类方块中,成熟后会长成庞大的增生体。\n上方与空气接触、下方有至少一个增生体方块时,增生体会特化为光合器官,且能持续产出20eJ/t。其他情况下,增生体会加快食物消化与代谢的速率。"}, + {"type": "text", "text": "产出浆液时,必须向能量花流体口供应水。"}, {"type": "text", "text": "\n食物"}, {"type": "text", "text": "- 肉浆:3eJ/t每滴每方块"}, {"type": "text", "text": "- 动物饲料:4eJ/t每滴每方块"}, @@ -52,26 +52,20 @@ ]}, {"id": "heart_machine", "contents": [ {"type": "text", "text": "心脏机\n", "bold": true}, - {"type": "text", "text": "此机器相当于脉管网络的心和肺。它沐浴在缥缈燃液之中,以此为整个管网供能,并调节其工作频率。"}, + {"type": "text", "text": "此机器相当于脉管网络的心和肺。它沐浴在瞬变浆液之中,以此为整个管网供能,并调节其工作频率。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "心脏机的下部消耗缥缈燃液,上部用于向脉管网络中供能。其效率较高,从缥缈燃液中榨取的能量比基础的发动机多50%。"} + {"type": "text", "text": "心脏机的下部消耗瞬变浆液,上部用于向脉管网络中供能。其效率较高,从瞬变浆液中榨取的能量比基础的发动机多50%。"} ]}, - {"id": "mixer", "contents": [ - {"type": "text", "text": "混合机\n", "bold": true}, - {"type": "text", "text": "混合机是能混合流体和物品的两格高机器。需要旋转源才可运作。"}, - {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "流体会自动从与混合机下部相邻的储罐中取出。物品则必须通过漏斗或管道直接送入。机器内物品和流体有对应配方时,混合加工即会启动。加工的速率由相连发动机的转速决定。"} - ]}, {"id": "motor", "contents": [ {"type": "text", "text": "发动机\n", "bold": true}, - {"type": "text", "text": "奥秘的造物,是来自融变生物机的祝福,能让发动机将缥缈燃液中微弱的神意转化为机械功。"}, + {"type": "text", "text": "奥秘的造物,是来自融变生物机的祝福,能让发动机将瞬变浆液中微弱的神意转化为机械功。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "许多回转式机器的运作都需要外接发动机。此发动机消耗燃液换能器产出的缥缈燃液,需由流体管道输入。\n发动机的转速由流体流入的速率决定。这通常会影响相连机器的运作速度。"} + {"type": "text", "text": "许多回转式机器的运作都需要外接发动机。此发动机消耗换能套管产出的瞬变浆液,需由流体管道输入。\n发动机的转速由流体流入的速率决定。这通常会影响相连机器的运作速度。"} ]}, {"id": "advanced_motor", "contents": [ {"type": "text", "text": "高级发动机\n", "bold": true}, - {"type": "text", "text": "和原始的发动机不一样,此类发动机不接受缥缈燃液,而是由脉管导管输入的强化血液供能。"}, + {"type": "text", "text": "和原始的发动机不一样,此类发动机不接受瞬变浆液,而是由脉管导管输入的强化血液供能。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, {"type": "text", "text": "高级发动机与普通的发动机完全一致,但其需与脉管网络相连。"} ]}, @@ -85,20 +79,20 @@ {"type": "text", "text": "粉碎机\n", "bold": true}, {"type": "text", "text": "粉碎机能将血肉和岩石打碎成渣,由此显露出其中潜藏的宝藏。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "以粉碎机加工特定种类的矿石会略微提高产量。肉碎片可由粉碎生肉而得。需要接上旋转中的发动机才可运作。"} + {"type": "text", "text": "以粉碎机加工特定种类的矿石会略微提高产量。肉碎片可由粉碎生肉获得。此机器需要接上旋转中的发动机才可运作。"} ]}, {"id": "bottler", "contents": [ {"type": "text", "text": "灌装机\n", "bold": true}, {"type": "text", "text": "灌装机能自动将下方储罐中的流体注入容器物品。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "启动后,此机器会从正下方储罐中取出流体,并存入机器中放有的容器。流体容器物品可通过漏斗放入和取出,右击也可。灌装完毕后,机器会向其前方的管道或容器主动输出。需要接上旋转中的发动机才可运作。"} + {"type": "text", "text": "启动后,此机器会从正下方储罐中取出流体,并存入机器中放有的容器。流体容器物品可通过漏斗放入和取出,右击也可。灌装完毕后,机器会向其前方的管道或容器主动输出。此机器需要接上旋转中的发动机才可运作。"} ]}, {"id": "item_mincer", "contents": [ {"type": "text", "text": "物品绞碎机\n", "bold": true}, {"type": "text", "text": "物品绞碎机能将物品状态的食物绞成食物浆液。所得食物的品质由所放入食物的品质决定。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "可通过漏斗和管道送入物品,也可直接将物品投入机器上方。液态食物可从机器前面通过管道取出。需要接上旋转中的发动机才可运作。\n\n每个物品统一产出111mB的液态食物,但物品回复的饥饿值和饱和度则会完全继承到产物中。不同品质的液态食物可在任意NEEPMeat储罐中混合。"}, - {"type": "text", "text": "\n注入纸盒的液态食物可以食用,能量花也接受液态食物用作产能物质。"} + {"type": "text", "text": "可通过漏斗和管道送入物品,也可直接将物品投入机器上方。液态食物可从机器前面通过管道取出。此机器需要接上旋转中的发动机才可运作。\n\n每个物品统一产出111mB的液态食物,但物品回复的饥饿值和饱和度则会完全继承到产物中。不同品质的液态食物可在任意NEEPMeat储罐中混合。"}, + {"type": "text", "text": "\n注入纸盒的液态食物可以食用,能量花也会将液态食物视为产能物质。"} ]}, {"id": "large_mincer", "contents": [ {"type": "text", "text": "绞碎机\n", "bold": true}, @@ -114,16 +108,16 @@ ]}, {"id": "pylon", "contents": [ {"type": "text", "text": "启智尖塔\n", "bold": true}, - {"type": "text", "text": "处于工作转速的启智尖塔能散发出神秘气息,刺激周围脊椎动物的松果体。受影响的生物能短暂看到不可视之物。而由于未知原因,此过程也使得不可视之物在现实世界中凝聚出物质。"}, + {"type": "text", "text": "处于工作转速的启智尖塔能散发出神秘气息,刺激周围脊椎动物的松果体。受影响的生物能短暂看到不可视之物。而由于未知原因,此过程也会让不可视之物在现实世界中凝聚出物质。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "启智尖塔下方需有朝上的发动机。发动机的功率大于等于240eJ/t才可达到工作转速。此时,尖塔上的转子会从红色变为紫色。"}, + {"type": "text", "text": "启智尖塔下方需有朝上的发动机。发动机的功率大于等于240eJ/t才可达到工作转速;此时,尖塔上的转子会从红色变为紫色。"}, {"type": "text", "text": "高级融变生物机17格范围内若存在启智尖塔,则其数据储量可超出8GeB。"}, {"type": "text", "text": "尖塔散发出的气息能诱导出令人倦怠的启智效果,且会留下永久性影响。启智尖塔启动后,不要进入其周围3格范围内。"} ]}, {"id": "gland_potato", "contents": [ {"type": "text", "text": "腺体马铃薯\n", "bold": true}, - {"type": "text", "text": "腺体马铃薯是启智生命体中最简单的。暴露于神的光辉后,其质地变成了奇异的肉质,或许正是神本质的再现。其组织中有全新的有机物,可在混合机内精炼。"} + {"type": "text", "text": "腺体马铃薯是最简单的启智生物体。暴露于神的光辉后,其质地变成了奇异的肉质,或许正是神本质的再现。其组织中存在全新的有机物,可在混合机内精炼。"} ]}, {"id": "whisper_wheat", "contents": [ {"type": "text", "text": "呢喃小麦\n", "bold": true}, @@ -146,21 +140,9 @@ {"type": "text", "text": "在混合机中混合一个腺体马铃薯和333mB水,可产出333mB的怪异酶液。"} ] }, - {"id": "trommel", "contents": [ - {"type": "text", "text": "滚筒筛\n", "bold": true}, - {"type": "text", "text": "其他的滚筒筛能从水中分离掉岩屑,这台滚筒筛同样能去除肉和脂肪中的杂质。平凡的污染物会留在筛网中,而提纯后的产物则会流出筛外。\n"}, - {"type": "text", "text": "污浊矿石脂肪经滚筒筛处理后,产量可达直接加工污浊矿石脂肪的约150%。"}, - {"type": "text", "text": "自绞碎机或处死用扇刃分解生物体后,所产出的组织浆液可在此提纯为精制肉,且有概率产出混杂的生物固态物。"}, - {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "流体需从近端方块上部的容器送入,产物会从远端方块下部输出。"}, - {"type": "image", "width": 299, "height": 178, "path": "neepmeat:guide/images/trommel.png"}, - {"type": "text", "text": "需要接上旋转中的发动机才可运作。"}, - {"type": "image", "width": 322, "height": 237, "path": "neepmeat:guide/images/trommel_image.png"} - ] - }, {"id": "crucible", "contents": [ {"type": "text", "text": "熬脂盆\n", "bold": true}, - {"type": "text", "text": "腺体马铃薯中经过启智的酶类能够精炼特定矿物的肉质本性,化作一层缥缈脂肪。因此,熬脂即是矿物提取的高效手段。"}, + {"type": "text", "text": "腺体马铃薯中经过启智的酶类能够精炼特定矿物的肉质本性,将其化作一层缥缈的脂肪。因此,熬脂即是矿物提取的高效手段。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, {"type": "text", "text": "为获取矿石脂肪,需先在熬脂盆中注入怪异酶液,再从上方投入粗矿或原矿。矿石脂肪会凝聚到相邻的脂肪收集器中,以供后续取出处理。每份粗矿和原矿需要333mB怪异酶液用以加工。"}, {"type": "text", "text": "熬脂处理的产量通常比烧炼高出33%。污浊油脂可在液压机和液压盆中压制为锭。"} @@ -204,15 +186,7 @@ {"type": "text", "text": "疣斑石\n", "bold": true}, {"type": "text", "text": "随着环境中启智微型活体的浓度不断上升,岩石有可能因此获得生物特性,生长成疣状的结构。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "疣斑石产出的腺体分泌物基本等效于缥缈燃液,也同样能用来驱动机器。此种流体会从岩石表面的溃疡处渗出,可由管道运输,以作常态能量源。单处岩石上可能出现多个溃疡口。"} - ]}, - {"id": "integrator", "contents": [ - {"type": "text", "text": "融变生物机\n", "bold": true}, - {"type": "text", "text": "融变生物机是一种信息处理用生物机械系统,专为简化机器生产而造。它能承受非人类知识的大量累积,并将这种知识送达特定种类的物质,以此启智。"}, - {"type": "text", "text": "\n获取途径\n", "bold": true}, - {"type": "text", "text": "制造融变生物机有关的科技已不可考,但它们的卵仍留存于地牢之中。为孵化融变机卵,需将其安放在条件合适的位置,再泵入一整桶血液。经过一段时间后,卵中就会孵化出融变生物机。"}, - {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "每一个融变生物机个体内部都有智慧的存储库,在它聆听宇宙时,该存储库会缓慢自动填充。以呢喃面粉喂食生物机可迅速填满此存储库。"} + {"type": "text", "text": "疣斑石产出的腺体分泌物基本等效于瞬变浆液,也同样能用来驱动机器。此种流体会从岩石表面的溃疡处渗出,可由管道运输,以作常态能量源。单处岩石上可能出现多个溃疡口。"} ]}, {"id": "enlightening", "contents": [ {"type": "text", "text": "启智\n", "bold": true}, @@ -224,7 +198,7 @@ {"type": "text", "text": "积骸压缩桶\n", "bold": true}, {"type": "text", "text": "积骸压缩桶能将生肉加工为融合液。由多种组织融汇而成的融合液堪称圣礼;在智慧的祝福之下,死去的器官又可再次具有些许生命力,并用到各种全新机械的发明中去。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "与堆肥桶类似,右击可放入原材料,也可从方块上方以漏斗或管道送入。若压缩桶堆满,且与融变生物机通过数据线缆相连,即会产出一份融合液囊。产物可由漏斗和管道从方块下方取出。"} + {"type": "text", "text": "与堆肥桶类似,右击可放入原材料,也可从方块上方以漏斗或管道送入。若压缩桶堆满、且与融变生物机通过数据线缆相连,其即会产出一份融合液囊。产物可由漏斗和管道从方块下方取出。"} ]}, {"id": "fluid_pipe", "contents": [ @@ -232,9 +206,9 @@ {"type": "text", "text": "流体管道能在方块间便捷地运输流体。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, {"type": "text", "text": "流体管道会与任何能接受流体的方块相连。某些方块只在某几个面允许连接。"}, - {"type": "text", "text": "要让流体流过管道,就必须制造高度差或加入泵。流体受重力约束,因此会自然从高处储罐流向低处储罐。也可以在希望流通的路径中添加红石泵。"}, + {"type": "text", "text": "要让流体流过管道,就必须制造高度差或引入泵。流体受重力约束,因此会自然从高处储罐流向低处储罐。也可以在希望流通的路径中添加红石泵。"}, {"type": "text", "text": "\n行为\n", "bold": true}, - {"type": "text", "text": "管道的最大流速上限为10125d(1/8B)每刻。不存在泵时,流体可以向下和水平流动。所有通路都被堵上后管道会被填满。\n"} + {"type": "text", "text": "管道的最大流速上限为10125d(1/8B)每刻。不存在泵时,流体可以向下方和水平方向流动。所有通路均堵塞时管道会被填满。\n"} ]}, {"id": "valves", "contents": [ {"type": "text", "text": "止回阀\n", "bold": true}, @@ -249,17 +223,17 @@ {"id": "flex_tank", "contents": [ {"type": "text", "text": "变容储罐\n", "bold": true}, {"type": "text", "text": "相邻的变容储罐使用同一个存储空间。"}, - {"type": "text", "text": "变容储罐有基础和高级两者,每方块分别能容纳8B和16B流体。"} + {"type": "text", "text": "变容储罐有基础和高级两种,每方块分别能容纳8B和16B流体。"} ]}, {"id": "fluid_drain", "contents": [ {"type": "text", "text": "流体漏集池\n", "bold": true}, - {"type": "text", "text": "流体漏集池会将世界中的流体抽入自身内部的缓存。还可用于收集其上方以组织手术器处死实体的血液和肉。"}, + {"type": "text", "text": "流体漏集池会将世界中的流体抽入自身内部的缓存,还可用于收集其上方以组织手术器处死的实体的血液和肉。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "漏集池每16刻会消耗一格流体源,此流体源应位于其正上方,或通过流动的流体相连。其内部缓存能容纳8B流体。"} + {"type": "text", "text": "漏集池每16刻会消耗一格流体源;此流体源应位于其正上方,或通过流动的流体相连。其内部缓存能容纳8B流体。"} ]}, {"id": "fluid_interface", "contents": [ {"type": "text", "text": "流体接口\n", "bold": true}, - {"type": "text", "text": "流体接口会转接其所面对的流体储罐方块。向接口输入输出流体与直接和目标方块交互等价,很适合用到狭窄空间中去。"} + {"type": "text", "text": "流体接口会转接其面对的流体储罐方块。向接口输入输出流体与直接和目标方块交互等价,很适合用到狭窄的空间中去。"} ]}, {"id": "fluid_rationer", "contents": [ {"type": "text", "text": "流体配给器\n", "bold": true}, @@ -272,8 +246,8 @@ {"type": "text", "text": "物品管道\n", "bold": true}, {"type": "text", "text": "物品管道能在方块间便捷地运输物品堆叠。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, - {"type": "text", "text": "这些管道无法通过常规手段送入物品。物品必须通过物品泵和弹出器送入。粉碎机、装配器等部分方块则能主动输出到管道。管道可向任意有效方块存入物品,若末端敞开,则也能让物品掉落为物品实体。"}, - {"type": "text", "text": "兼容方块会先检查管道网络中是否存在有效目的地,再主动输出。碰到死路的物品会退回网络。"}, + {"type": "text", "text": "这些管道无法通过常规手段送入物品。物品必须通过物品泵和弹出器送入。粉碎机、装配器等部分方块则能主动向管道输出。管道可向任意有效方块存入物品,若末端敞开,则也能让物品掉落为物品实体。"}, + {"type": "text", "text": "兼容的方块会先检查管道网络中是否存在有效目的地,而后再主动输出。碰到死路的物品会退回网络。"}, {"type": "text", "text": "\n空手右击管道连接处可切换该处是否连接。"} ]}, {"id": "ejector", "contents": [ @@ -291,11 +265,11 @@ ]}, {"id": "pipe_driver", "contents": [ {"type": "text", "text": "管道驱动器\n", "bold": true}, - {"type": "text", "text": "管道驱动器能在管道网络中实现高级路由功能。驱动器能启用其他位置的管道,以此满足PLC和手动请求器的物品请求。单个管道网络中只能存在一台管道驱动器。"} + {"type": "text", "text": "管道驱动器能在管道网络中实现高级路由功能。驱动器能启用其他位置的管道,以满足PLC和手动请求器的物品请求。单个管道网络中只能存在一台管道驱动器。"} ]}, {"id": "storage_driver", "contents": [ {"type": "text", "text": "存储驱动器\n", "bold": true}, - {"type": "text", "text": "存储驱动器可让相邻的物品容器响应管道网络发来的请求。管道网络中需有管道驱动器才可运作。"} + {"type": "text", "text": "存储驱动器可让相邻的物品容器响应管道网络发来的请求。管道网络中存在管道驱动器时才可运作。"} ]}, {"id": "dumper", "contents": [ {"type": "text", "text": "智能卸料器\n", "bold": true}, @@ -306,7 +280,7 @@ {"id": "assembler", "contents": [ {"type": "text", "text": "装配器\n", "bold": true}, - {"type": "text", "text": "装配器能维持下方容器中物品存放的模式。可用于自动填充合成和烧炼配方。需要直接连接至脉管网络才可运作。"}, + {"type": "text", "text": "装配器能按照特定模式在下方容器中排布物品,可用于自动填充合成和烧炼配方。此机器需要连接至脉管网络才可运作。"}, {"type": "image", "width": 224, "height": 124, "scale": 0.9, "path": "neepmeat:guide/images/assembler.png"}, {"type": "text", "text": "其GUI分为四个区域。第一区域是下方容器的只读预览,第二区域是设定维持的模式,第三区域用于存放配方原材料,第四区域是辅助输出槽。向绿色槽位中放置物品以形成模板,装配器会使用蓝色槽位中的物品尝试维持。\n"}, {"type": "text", "text": "启用“选择输出槽”后点击任意红色和绿色槽位,装配器便会从其中取出配方产物。如同上图为配方槽设置物品,则能保证取出正确的产物。"}, @@ -314,67 +288,33 @@ ]}, {"id": "heater", "contents": [ {"type": "text", "text": "加热器\n", "bold": true}, - {"type": "text", "text": "加热器会加热面朝的类熔炉方块,如此即可不消耗燃料烧炼物品。可令暴露于锈铜液的铜质方块氧化。需要直接连接至脉管网络才可运作。\n"}, + {"type": "text", "text": "加热器会加热其面向的类熔炉方块,从而能不消耗燃料烧炼物品。可令暴露于锈铜液的铜质方块氧化。此机器需要直接连接至脉管网络才可运作。\n"}, {"type": "text", "text": "流体加热\n", "bold": true}, {"type": "text", "text": "加热器面朝多容储罐时能加热其内流体。可借此为奶巴氏杀菌,也可烹饪肉浆。加热器接收到的功率会影响加热速率。\n"} ]}, - {"id": "living_machines", "contents": [ - {"type": "text", "text": "活体机器\n", "bold": true}, - {"type": "text", "text": "使用方法\n", "bold": true}, - {"type": "text", "text": "活体机器由两部分组成:控制器、相应的功能组件。这些部分需用机器方块连接。此类机器的功能由其功能组件决定。例如,大型粉碎机需要一个物品输入端口、一个物品输出端口、一个及以上的粉碎机加工段、一个发动机端口。某些加工流程的效果会因加装组件而产生变化。"}, - {"type": "text", "text": "活体机器的工作参数由其组件的组成结构决定。\n"}, - {"type": "text", "text": "老化\n", "bold": true}, - {"type": "text", "text": "活体机器有一个最大额定功率,将机器的功率提高到此值的75%以上会导致磨损与老化,最终可能导致出现全面故障。"}, - {"type": "text", "text": "为减轻老化的负面效果,可以选用具有自我修复功能的机器方块。"} - ]}, {"id": "phage_ray", "contents": [ {"type": "text", "text": "吞噬射线炮\n", "bold": true}, {"type": "text", "text": "吞噬射线炮能释放出破坏力巨大的光束,可以此迅速摧毁大多数方块。\n"}, {"type": "text", "text": "使用方法\n", "bold": true}, - {"type": "text", "text": "吞噬射线炮是一种活体机器组件,因此需要与机器控制器相连才可运作。结构判定有效后,需通过脉管网络提供100eJ/t [注意:可能会更改]。右击可入座控制死光炮。进入控制状态后,右击即可发射死光。\n"}, - {"type": "text", "text": "若不附加组件,则死光炮会完全摧毁方块。安装采集提取机可将掉落物送入相连的物品输出端口。"}, + {"type": "text", "text": "吞噬射线炮是一种活体机器组件,因此需要与机器控制器相连才可运作。结构判定有效后,需通过脉管网络提供100eJ/t [注意:可能会更改]。右击可入座控制射线炮。进入控制状态后,右击即可发射射线。\n"}, + {"type": "text", "text": "若不附加组件,则射线炮会完全摧毁方块。安装采集提取机可将掉落物送入相连的物品输出端口。"}, {"type": "text", "text": "\n必需组件"}, {"type": "text", "text": "- 吞噬射线炮"}, {"type": "text", "text": "\n可选组件"}, {"type": "text", "text": "- 采集提取机"}, {"type": "text", "text": "- 物品输出端口"} ]}, - {"id": "crusher_segment", "contents": [ - {"type": "text", "text": "粉碎机加工段\n", "bold": true}, - {"type": "text", "text": "大型粉碎机的效率和产量均远超普通的粉碎机。\n"}, - {"type": "text", "text": "使用方法\n", "bold": true}, - {"type": "text", "text": "同一活体机器中最多存在4个粉碎机加工段。每个加工段的运作速度一致,也即,数量越多效率就越高。\n"}, - {"type": "text", "text": "\n必需组件"}, - {"type": "text", "text": "- 粉碎机加工段(最多4个)"}, - {"type": "text", "text": "- 物品输入端口(大型漏斗)"}, - {"type": "text", "text": "- 物品输出端口"}, - {"type": "text", "text": "- 发动机端口"}, - {"type": "text", "text": "\n可选组件"}, - {"type": "text", "text": "- 幸运儿(增加额外产物的产量)"} - ]}, - {"id": "large_trommel", "contents": [ - {"type": "text", "text": "大型滚筒筛\n", "bold": true}, - {"type": "text", "text": "大型滚筒筛能以更高效率加工流体。\n"}, - {"type": "text", "text": "使用方法\n", "bold": true}, - {"type": "text", "text": "同一活体机器中最多存在1台大型滚筒筛。可以存在多个流体输入端口和输出端口。\n"}, - {"type": "text", "text": "\n必需组件"}, - {"type": "text", "text": "- 大型滚筒筛"}, - {"type": "text", "text": "- 流体输入端口"}, - {"type": "text", "text": "- 流体输出端口"}, - {"type": "text", "text": "- 物品输出端口"}, - {"type": "text", "text": "- 发动机端口"} - ]}, {"id": "charnel_pump", "contents": [ {"type": "text", "text": "积骸泵\n", "bold": true}, - {"type": "text", "text": "融合液可被催动,令其积极搜寻珍贵矿物并加以吞噬。以高压状态注入岩石后,融合液会强行扯开其中的微小裂隙,液体内的微型活体便可进入消耗新暴露出来的矿物。\n\n积骸泵即会执行这些流程,并催动融合液饱和后返回地表。"}, + {"type": "text", "text": "融合液可被催动,令其积极搜寻和吞噬珍贵矿物。以高压状态注入岩石后,融合液会强行撕开其中的微小裂隙,以便液体内的微型活体侵入和消耗新暴露出来的矿物。\n\n积骸泵即能执行这些流程,同时催动饱和后的融合液返回地表。"}, {"type": "text", "text": "\n使用方法\n", "bold": true}, {"type": "text", "text": "积骸泵是一种活体机器组件,8格高,直径3格。其运作需要一个控制器、一个发动机端口,以及两个流体输入端口——其一输入压缩空气,其二输入融合液。发动机需提供超过500eJ/t才可运作。每次泵动周期均消耗1/3B融合液。"}, - {"type": "text", "text": "\n积骸泵刚启动时,周围的地面会出现移除扭搐土壤喷口。此时需在喷口上放置一个井头,以接收土壤中逸出的资源。"} + {"type": "text", "text": "\n积骸泵刚启动时,周围的地面会出现一处扭搐土壤喷口。此时需在喷口上放置一个井头,以接收土壤中逸出的资源。"} ]}, {"id": "large_compressor", "contents": [ {"type": "text", "text": "大型压缩机\n", "bold": true}, - {"type": "text", "text": "大型压缩机是产出压缩空气的功能组件。需要一个发动机端口。压缩空气会从组件顶部主动排出。"} + {"type": "text", "text": "大型压缩机是能产出压缩空气的功能组件。需要一个发动机端口。压缩空气会从组件顶部主动排出。"} ]}, {"id": "tree_vacuum", "contents": [ {"type": "text", "text": "真空吸树机\n", "bold": true}, @@ -384,53 +324,17 @@ {"type": "text", "text": "此组件处于运作状态,且其吸入口面向树木时,该树会被连根拔起,所得产物通过输出端口主动排出。"} ]}, - {"id": "cloning", "contents": [ - {"type": "text", "text": "克隆\n", "bold": true}, - {"type": "text", "text": "可以通过这种方式妥善准备与保存的动物的精盐,如此一来,一个充满创造力的人便可以在自己的工作室里摆进整整一艘诺亚方舟,并且能随意地从动物的灰烬中唤起它完好时的模样。", "italic": true}, - {"type": "text", "text": " - 勃鲁斯\n"}, - {"type": "text", "text": [{"text":"而为提炼生物体的"},{"text":"精盐","italic":true},{"text":",必须先令其浸淋焚灰预备液,然后焚化。此流程必然成功;那些天然对火有抗性的生物体也是一样,但必须手动击杀它们。"}]}, - {"type": "text", "text": [{"text": "\n精盐", "italic": true},{"text": "可用在精卵合成机中产出卵。"}]} - ]}, - {"id": "synthesiser", "contents": [ - {"type": "text", "text": "精卵合成机\n", "bold": true}, - {"type": "text", "text": "摒弃自然的残余即是揭开万物的奥秘。复刻自然的血肉,从它们的疯狂中寻找智慧,即是向着智慧前行。\n"}, - {"type": "text", "text": "使用方法\n", "bold": true}, - {"type": "text", "text": [{"text": "精卵合成机使用生物体的"},{"text": "精盐","italic": true},{"text": "来复制生物体。以"},{"text": "精盐","italic": true},{"text": "右击合成机,即可装入或去除对应的模板。"}]}, - {"type": "text", "text": "向机器送入精制肉,即可制造出生物卵。所需的肉量随生物体大小变化而变。\n"}, - {"type": "text", "text": "卵\n", "bold": true}, - {"type": "text", "text": "生物卵可以用普通方式搬运,如水流和活塞。敲击后也可作为物品捡起。将其浸泡在血液中可催动其孵化。\n"} - ]}, - {"id": "plc", "contents": [ - {"type": "text", "text": "可编程逻辑控制器\n", "bold": true}, - {"type": "text", "text": "PLC是专为工业自动化设计的计算机,能够运行用户编写的程序,也可进入交互模式以逐次执行指令。机载时钟速度快如闪电,有足足20Hz。"}, - {"type": "text", "text": "\n右击PLC可获取其机器人的控制权。"}, - {"type": "text", "text": "\n用户界面\n", "bold": true}, - {"type": "text", "text": "控制机器人时,移动可通过正常按键实现。中键拖动可旋转摄像头。"}, - {"type": "text", "text": "\nPLC具有如下两个模式:交互模式和编辑模式。当前活动的模式可由屏幕右上角的按钮切换。"}, - {"type": "text", "text": "\n如需在交互模式中执行单条指令,应在右下角面板中选择合适的操作符。点击世界中的方块可将其加作参数。输入足量参数后,指令便会发出并执行。"}, - {"type": "text", "text": "\n在编辑模式下,左侧面板可供编写NEEPASM语言的程序。此模式下有更多指令可用。各指令均会在右下角面板列出。"}, - {"type": "text", "text": "屏幕右上角的按钮可以编译、启动、停止程序。"} - ]}, {"id": "plc_instructions", "contents": [ {"type": "text", "text": "PLC指令\n", "bold": true}, {"type": "text", "text": "指令由操作符和一系列参数组成。此处的参数是世界中的位置。"}, {"type": "text", "text": "\n指令的参数数量不一。END、RESTART等部分指令无参数。"}, {"type": "text", "text": "\n某些参数需要满足特定条件,如需为物品存储空间、需为流体储罐等。例如,COMBINE接受一个物品存储空间和一个物品工作站。若所选方块无效,则不会计入参数。"} ]}, - {"id": "plc_workbenches", "contents": [ - {"type": "text", "text": "PLC工作站\n", "bold": true}, - {"type": "text", "text": "工作站中的物品和实体可由PLC机器人操纵。"}, - {"type": "text", "text": "\n示例:"}, - {"type": "text", "text": "- 展示台(物品)"}, - {"type": "text", "text": "- 启智台座(物品)"}, - {"type": "text", "text": "- 手术站(实体)"}, - {"type": "text", "text": "\n不是所有指令的执行都要求工作站。有部分指令只涉及普通的物品存储空间和流体储罐。"} - ]}, {"id": "neepasm", "contents": [ {"type": "text", "text": "NEEPASM\n", "bold": true}, {"type": "text", "text": "NEEPASM是为NEEP PLC设计的汇编语言。由于PLC的指令集已经过启智,本语言对用户来说比大多数汇编语言都稍显友好。"}, - {"type": "text", "text": "\n通常来说,程序是依次执行的指令列表。\n指令的参数种类繁多,例如:\n\n- 字符串:\"一个字符串\"\n- 整数:123、0x7B、0b1111011\n- 世界目标:@(, , , )。"}, + {"type": "text", "text": "\n通常来说,程序是依次执行的指令列表。\n指令的参数种类繁多,例如:\n\n- 字符串:\"一个字符串\"\n- 整数:123、0x7B、0b1111011\n- 世界目标:@(, , , <方向>)。"}, {"type": "text", "text": "\n世界目标代表世界中的一个方块,可用于规定指令从何处取出或向何处存入流体和物品。"}, {"type": "text", "text": "\n“#”字符同行后方的所有东西均视作注释:\n"}, {"type": "code", "text": "say \"Hello\" # A comment [1]"}, @@ -449,7 +353,7 @@ ]}, {"id": "stack", "contents": [ {"type": "text", "text": "栈\n", "bold": true}, - {"type": "text", "text": "PLC有一存储整数用栈。PUSH和POP指令可分别向栈顶压入或从栈顶弹出。\n比较和算术指令会直接从栈取出参数:\n"}, + {"type": "text", "text": "PLC有一能存储整数的栈。PUSH和POP指令可分别向栈顶压入或从栈顶弹出。\n比较和算术指令会直接从栈中取出参数:\n"}, {"type": "code", "text": "push 1 # Place 1 on the stack [1]"}, {"type": "code", "text": "push 2"}, {"type": "code", "text": "add # Add the last two entries [2]"}, @@ -489,23 +393,6 @@ {"type": "text", "text": "\n [1] 等待红石"} ]}, - {"id": "implants", "contents": [ - {"type": "text", "text": "植入物\n", "bold": true}, - {"type": "text", "text": "植入物能给生命体带来全新的能力,将它们从自然的淫威中解救出来。"}, - {"type": "text", "text": "\n示例:\n"}, - {"type": "text", "text": "- 强化膝盖"}, - {"type": "text", "text": "- 松果眼"}, - {"type": "text", "text": "- 神圣之蛹", "strikethrough": true}, - {"type": "text", "text": "- 肺延长"}, - {"type": "text", "text": "- 额外口器"}, - {"type": "text", "text": "\n植入物可使用IMPLANT指令嵌装入实体。所操作的实体必须站在手术站上。"} - ]}, - {"id": "implant_manager", "contents": [ - {"type": "text", "text": "植入物管理器\n", "bold": true}, - {"type": "text", "text": "植入物管理器能够取下先前嵌装的植入物。"}, - {"type": "text", "text": "此机器无需供能,但必须面朝一个PLC工作站,且工作站上需放有目标物品或实体。若需移除实体身上的植入物,植入物管理器必须面朝手术站,且实体需站在手术站上。"} - ]}, - {"id": "airtruck", "contents": [ {"type": "text", "text": "空中货车\n", "bold": true}, {"type": "text", "text": "空中货车是一种飞行载具,能搭乘一名飞行员和一名乘客。与之相撞的生物会自动登机,这点和船类似。\n所有的控制键位都与创造模式飞行一致;下降是例外,默认为“\\”键。Shift右击可拆卸载具。"} @@ -513,8 +400,8 @@ {"id": "assault_drill", "contents": [ {"type": "text", "text": "突击钻\n", "bold": true}, - {"type": "text", "text": "突击钻是公认的高攻击性钻头,能对1格范围内的实体造成持续伤害。\n"}, - {"type": "text", "text": "突击钻需要消耗缥缈燃液。手持突击钻右击装有缥缈燃液的储罐即可重新装填,也可将其放入灌装机装填。此物品还可附魔,以增加其伤害输出。"} + {"type": "text", "text": "突击钻是公认的高攻击性钻头,能对1格范围内的实体持续造成伤害。\n"}, + {"type": "text", "text": "突击钻需要消耗瞬变浆液。手持突击钻右击装有瞬变浆液的储罐即可重新装填,也可将其放入灌装机装填。此物品还可附魔,以增加其伤害输出。"} ]}, {"id": "halberd", "contents": [ @@ -527,7 +414,7 @@ {"type": "text", "text": " 基础伤害:7"}, {"type": "text", "text": " 范围:3"}, {"type": "text", "text": "在骑乘状态:\n"}, - {"type": "text", "text": "- 第二攻击:勾住并拖行目标一段时间。"} + {"type": "text", "text": "- 第二攻击:勾住目标并拖行一段时间。"} ]} ] } diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/index_zh_cn.json b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/index_zh_cn.json index d8d4bb1f8c11..88d23545cceb 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/index_zh_cn.json +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/guide/zh_cn/index_zh_cn.json @@ -3,18 +3,18 @@ {"type": "page", "id": "intro", "icon": "neepmeat:meat_steel_ingot", "text": "介绍"}, {"type": "article", "id": "fluids", "icon": "neepmeat:ethereal_fuel_bucket", "text": "能量传输"}, {"type": "menu", "id": "getting_started", "icon": "neepmeat:motor_unit", "text": "入门", "entries": [ + {"type": "page", "id": "integrator", "icon": "neepmeat:integrator_egg", "text": "融变生物机", "lookup": ["neepmeat:integrator_egg", "neepmeat:advanced_integrator"]}, {"type": "page", "id": "verrucous_rocks", "icon": "neepmeat:verrucous_stone", "text": "疣斑石", "lookup": ["neepmeat:verrucous_stone", "neepmeat:verrucous_stone_port"]}, {"type": "page", "id": "brains", "icon": "neepmeat:brain_rough", "text": "大脑", "lookup": "neepmeat:brain_rough"}, {"type": "page", "id": "meat", "icon": "neepmeat:raw_meat_brick", "text": "肉", "lookup": ["neepmeat:raw_meat_brick"]}, {"type": "page", "id": "blood", "icon": "neepmeat:blood_bucket", "text": "血液", "lookup": ["neepmeat:blood_bucket", "neepmeat:sacrificial_dagger"]}, - {"type": "page", "id": "integrator", "icon": "neepmeat:integrator_egg", "text": "融变生物机", "lookup": ["neepmeat:integrator_egg", "neepmeat:advanced_integrator"]}, {"type": "page", "id": "enlightening", "icon": "neepmeat:pedestal", "text": "启智", "lookup": ["neepmeat:pedestal"]}, {"type": "page", "id": "charnel_compactor", "icon": "neepmeat:charnel_compactor", "text": "积骸压缩桶", "lookup": "neepmeat:charnel_compactor"} ]}, {"type": "menu", "id": "power", "icon": "neepmeat:motor_unit", "text": "供能", "entries": [ {"type": "page", "id": "fluids", "icon": "neepmeat:ethereal_fuel_bucket", "text": "高能流体", "lookup": "neepmeat:ethereal_fuel_bucket"}, {"type": "page", "id": "verrucous_rocks", "icon": "neepmeat:verrucous_stone", "text": "疣斑石", "lookup": ["neepmeat:verrucous_stone", "neepmeat:verrucous_stone_port"]}, - {"type": "page", "id": "fuel_transducer", "icon": "neepmeat:transducer", "text": "燃液换能器", "lookup": "neepmeat:transducer"}, + {"type": "page", "id": "fuel_transducer", "icon": "neepmeat:transducer", "text": "换能套管", "lookup": "neepmeat:transducer"}, {"type": "page", "id": "power_flower", "icon": "neepmeat:power_flower_growth", "text": "能量花", "lookup": ["neepmeat:power_flower_seeds", "neepmeat:power_flower_growth", "neepmeat:power_flower_controller", "neepmeat:power_flower_fluid_port"]}, {"type": "page", "id": "heart_machine", "icon": "neepmeat:fluid_exciter", "text": "心脏机", "lookup": "neepmeat:fluid_exciter"} ]}, @@ -45,14 +45,25 @@ "lookup": ["neepmeat:living_machine_controller", "neepmeat:machine_block", "neepmeat:base_machine_block", "neepmeat:meat_steel_machine_block", "neepmeat:meat_steel_machine_block_2", "neepmeat:skin_machine_block"]}, {"type": "page", "id": "phage_ray", "icon": "neepmeat:phage_ray", "text": "吞噬射线炮", "lookup": "neepmeat:phage_ray"}, - {"type": "page", "id": "crusher_segment", "icon": "neepmeat:crusher_segment", "text": "大型粉碎机", "lookup": "neepmeat:crusher_segment"}, + {"type": "page", "id": "large_crusher", "icon": "neepmeat:crusher_segment", "text": "大型粉碎机", "lookup": ["neepmeat:crusher_segment", "neepmeat:lucky_one"]}, {"type": "page", "id": "large_trommel", "icon": "neepmeat:large_trommel", "text": "大型滚筒筛", "lookup": "neepmeat:large_trommel"}, + {"type": "page", "id": "metaboliser", "icon": "neepmeat:metaboliser_segment", "text": "代谢机"}, {"type": "page", "id": "tree_vacuum", "icon": "neepmeat:tree_vacuum", "text": "真空吸树机", "lookup": "neepmeat:tree_vacuum"}, {"type": "page", "id": "charnel_pump", "icon": "neepmeat:charnel_pump", "text": "积骸泵", "lookup": "neepmeat:charnel_pump"}, {"type": "page", "id": "large_compressor", "icon": "neepmeat:large_compressor", "text": "大型压缩机", "lookup": "neepmeat:large_compressor"} ]}, {"type": "menu", "id": "plc", "icon": "neepmeat:plc", "text": "PLC与制造加工", "entries": [ {"type": "page", "id": "plc", "icon": "neepmeat:plc", "text": "PLC", "lookup": ["neepmeat:plc", "neepmeat:executor"]}, + {"type": "menu", "id": "thord_menu", "icon": "neepmeat:plc", "text": "THORD语言", "entries": [ + {"type": "page", "id": "thord_words", "icon": "neepmeat:plc", "text": "THORD词参考文档"}, + {"type": "page", "id": "thord", "icon": "neepmeat:plc", "text": "THORD"}, + {"type": "page", "id": "word_definition", "icon": "neepmeat:plc", "text": "词的定义"}, + {"type": "page", "id": "thord_constructs", "icon": "neepmeat:plc", "text": "流程控制结构"}, + {"type": "page", "id": "thord_variables", "icon": "neepmeat:plc", "text": "变量"}, + {"type": "page", "id": "thord_booleans", "icon": "neepmeat:plc", "text": "布尔值"}, + {"type": "page", "id": "thord_macros", "icon": "neepmeat:plc", "text": "THORD宏"}, + {"type": "page", "id": "thord_examples", "icon": "neepmeat:plc", "text": "THORD代码示例"} + ]}, {"type": "menu", "id": "neepasm_menu", "icon": "neepmeat:plc", "text": "NEEPASM语言", "entries": [ {"type": "page", "id": "neepasm", "icon": "neepmeat:plc", "text": "NEEPASM"}, {"type": "page", "id": "stack", "icon": "neepmeat:plc", "text": "栈操作"}, @@ -62,18 +73,11 @@ {"type": "page", "id": "memory", "icon": "neepmeat:plc", "text": "内存"}, {"type": "page", "id": "interrupts", "icon": "neepmeat:plc", "text": "中断"} ]}, - {"type": "menu", "id": "thord_menu", "icon": "neepmeat:plc", "text": "THORD语言", "entries": [ - {"type": "page", "id": "thord_words", "icon": "neepmeat:plc", "text": "THORD词参考文档"}, - {"type": "page", "id": "thord", "icon": "neepmeat:plc", "text": "THORD"}, - {"type": "page", "id": "word_definition", "icon": "neepmeat:plc", "text": "词的定义"}, - {"type": "page", "id": "thord_constructs", "icon": "neepmeat:plc", "text": "流程控制指令"}, - {"type": "page", "id": "thord_booleans", "icon": "neepmeat:plc", "text": "布尔值"}, - {"type": "page", "id": "thord_macros", "icon": "neepmeat:plc", "text": "THORD宏"} - ]}, {"type": "page", "id": "plc_instructions", "icon": "neepmeat:plc", "text": "指令"}, {"type": "page", "id": "plc_workbenches", "icon": "neepmeat:surgery_platform", "text": "PLC工作站"}, - {"type": "page", "id": "implants", "icon": "neepmeat:pineal_eye", "text": "植入物", "lookup": ["neepmeat:pineal_eye", "neepmeat:extra_mouth", "neepmeat:extra_knees", "neepmeat:lung_extensions"]}, - {"type": "page", "id": "implant_manager", "icon": "neepmeat:upgrade_manager", "text": "植入物管理器", "lookup": ["neepmeat:upgrade_manager"]} + {"type": "page", "id": "implanter", "icon": "neepmeat:implanter", "text": "植入器", "lookup": ["neepmeat:implanter"]}, + {"type": "page", "id": "actuators", "icon": "neepmeat:robotic_arm", "text": "操作机构"}, + {"type": "page", "id": "implants", "icon": "neepmeat:pineal_eye", "text": "植入物", "lookup": ["neepmeat:upgrade_manager", "neepmeat:pineal_eye", "neepmeat:extra_mouth", "neepmeat:extra_knees", "neepmeat:lung_extensions"]} ]}, {"type": "menu", "id": "neepbus", "icon": "neepmeat:data_cable", "text": "NEEP总线", "entries": [ {"type": "page", "id": "neepbus", "icon": "neepmeat:data_cable", "text": "NEEP总线", "lookup": ["neepmeat:data_cable"] }, diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/lang/en_us.json b/projects/1.20-fabric/assets/neepmeat/neepmeat/lang/en_us.json index c4249e56e84f..7f0697fde94e 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/lang/en_us.json +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/lang/en_us.json @@ -3,12 +3,13 @@ "itemGroup.neepmeat.ingredients": "NEEPMeat Crafting", "itemGroup.neepmeat.food": "NEEPMeat Food", - "message.neepmeat.shift_for_info": "§7Hold §fSHIFT§7 for more info", - "message.neepmeat.requires_motor": "Requires an external motor", - "message.neepmeat.requires_vascular": "Requires a vascular network", - "message.neepmeat.plc_compatible": "Valid PLC workbench", - "message.neepmeat.plc_interrupt": "Emits PLC interrupts", - "message.neepmeat.plc_actuator": "Valid PLC Actuator", + "tooltip.neepmeat.shift_for_info": "§7Hold §fSHIFT§7 for more info", + "tooltip.neepmeat.requires_motor": "Requires an external motor", + "tooltip.neepmeat.requires_vascular": "Requires a vascular network", + "tooltip.neepmeat.requires_ichor": "Requires a Transient Ichor", + "tooltip.neepmeat.plc_compatible": "PLC Workbench", + "tooltip.neepmeat.plc_interrupt": "Emits PLC interrupts", + "tooltip.neepmeat.plc_actuator": "PLC Actuator", "text.neepmeat.plc.arguments": "Argument: %s / %s", "text.neepmeat.plc.interactive_help": "Click an instruction in the right panel to select it.\n\nClick a block in a the world to add its position as an argument.\n\nOnce the required number of arguments are filled, the instruction will be executed immediately.", "tooltip.neepmeat.plc.language": "Current programming language: %s\nClick to switch language.\nCTRL-click to open documentation.", @@ -16,6 +17,7 @@ "message.neepmeat.power": "Power: ", "message.neepmeat.energy": "Energy: ", "message.neepmeat.power_unit": "eJ/t", + "message.neepmeat.power_flower.status": "Total blocks: %s/%s, Photosynthetic Organs: %s", "text.neepmeat.data.gieb_unit": "%sGeB", "text.neepmeat.data.eb_unit": "%seB", @@ -24,6 +26,8 @@ "message.neepmeat.insufficient_power_2": "%s < %s", "message.neepmeat.running": "Running", + "message.neepmeat.metaboliser_segment.output": "Segment output power: %s", + "message.neepmeat.integrator.data": "Data: %s / %s", "block.neepmeat.polished_metal_bricks": "Polished Metal Bricks", @@ -47,6 +51,8 @@ "block.neepmeat.blue_polished_metal_wall": "Blue Polished Metal Wall", "block.neepmeat.rusty_metal": "Rusty Metal", + "block.neepmeat.rusty_metal_light": "Rusty Metal Light", + "block.neepmeat.rusty_metal_light.lore_0": "Sneak-use to toggle.", "block.neepmeat.rusty_metal_slab": "Rusty Metal Slab", "block.neepmeat.rusty_metal_stairs": "Rusty Metal Stairs", "block.neepmeat.rusty_metal_wall": "Rusty Metal Wall", @@ -93,8 +99,8 @@ "block.neepmeat.smooth_tile_grey": "Gray Smooth Tile", "block.neepmeat.yellow_tiles": "Yellowed Tiles", - "block.neepmeat.yellow_tiles_stairs": "Yellow Tiles Stairs", - "block.neepmeat.yellow_tiles_slab": "Yellow Tiles Slab", + "block.neepmeat.yellow_tiles_stairs": "Yellowed Tiles Stairs", + "block.neepmeat.yellow_tiles_slab": "Yellowed Tiles Slab", "block.neepmeat.sandy_bricks": "Refractory Bricks", "block.neepmeat.sandy_bricks_stairs": "Refractory Bricks Stairs", @@ -174,6 +180,9 @@ "block.neepmeat.large_compressor": "Large Compressor", "block.neepmeat.large_compressor.lore_0": "Compresses gasses.", "block.neepmeat.stomach": "Stomach", + "block.neepmeat.stomach.lore_0": "Also acts as a fluid input.", + "block.neepmeat.metaboliser_segment": "Metaboliser Segment", + "block.neepmeat.metaboliser_segment.lore_0": "Metabolises things innit", "block.neepmeat.lucky_one": "Lucky One", "block.neepmeat.lucky_one.lore_0": "+100% chance of extra outputs (max +200%). Must be receiving ≥50eJ/t of vascular power.", "block.neepmeat.extractor": "Harvest Extractor", @@ -236,7 +245,7 @@ "block.neepmeat.smooth_tile_white": "White Smooth Tile", "block.neepmeat.fluid_pipe": "Fluid Pipe", - "block.neepmeat.fluid_pipe.desc": "§7Place on the side of a pipe or other block to connect.\n§eHold sneak to place with no connections.§7\n§eUse with an empty hand or Tissue Operator to toggle connection.§7\nPipes will only connect to a matching colour. §eSneak-scroll to cycle colour.§7", + "block.neepmeat.fluid_pipe.desc": "§7Place on the side of a pipe or other block to connect.\n§eHold sneak to place with no connections.§7\n§eUse with an empty hand or Tissue Operator to toggle connection.§7\nPipes will only connect to a matching colour.\n§eSneak-scroll to cycle colour.§7", "block.neepmeat.encased_fluid_pipe": "Encased Fluid Pipe", "block.neepmeat.encased_fluid_pipe.lore_0": "Takes on the model and shape of the block it is right-clicked with.", "block.neepmeat.fluid_pipe_white": "White Fluid Pipe", @@ -294,18 +303,20 @@ "block.neepmeat.dumper": "Smart Dumper", "block.neepmeat.dumper.lore_0": "Drops items straight down.", - "message.neepmeat.neepbus_part": "NEEPBus target", + "tooltip.neepmeat.neepbus_part": "NEEPBus target", "block.neepmeat.vertical_gauge": "Vertical Gauge", "block.neepmeat.vertical_gauge.lore_0": "Displays the last value that was written to its address.\nSneak-click to configure ports and range", "block.neepmeat.slider": "Slider", - "block.neepmeat.slanted_slider": "Slanted Slider", "block.neepmeat.slider.lore_0": "Interactive component with configurable range.\nWrites its value to all devices with a matching address in a NEEPBus network.\nSneak-click to configure ports.", + "block.neepmeat.slanted_slider": "Slanted Slider", + "block.neepmeat.slanted_slider.lore_0": "Interactive component with configurable range.\nWrites its value to all devices with a matching address in a NEEPBus network.\nSneak-click to configure ports.", "screen.neepmeat.slider.instructions": "Use W and S or scroll to change value.\nHold SHIFT to use 1/10 divisions.\nPress ESC to exit.", "block.neepmeat.single_button": "Single Button", - "block.neepmeat.single_button.lore_0": "Writes its value to the selected address when used. Does not support reading.\nSneak-use to configure.", - "tooltip.neepmeat.button.value": "value", + "block.neepmeat.single_button.lore_0": "Writes its value to the selected address when used. Does not support reading.\nWhen Pulse length > 0, the button will write 0 to the address after the delay.\n§eSneak-use to configure.§f", + "tooltip.neepmeat.button.high_value": "Output value", + "tooltip.neepmeat.button.delay_time": "Pulse length", "block.neepmeat.data_cable": "Data Cable", - "block.neepmeat.data_cable.lore_0": "Connects Integrators to other blocks.\nTransmits NEEPBus signals.", + "block.neepmeat.data_cable.lore_0": "Connects Integrators to other blocks.\nTransmits NEEPBus signals.\nUse a Tissue Operator to change connections.", "block.neepmeat.encased_data_cable": "Encased Data Cable", "block.neepmeat.redstone_transducer": "Redstone Transducer", "block.neepmeat.redstone_transducer.lore_0": "Converts NEEPBus signals to redstone strength and vice versa.\nSneak-click with a Networking Tool to configure ports.", @@ -321,10 +332,12 @@ "block.neepmeat.delay": "Unit Delay", "block.neepmeat.delay.lore_0": "When data is written to its input, waits one tick before writing to its output.", "tooltip.neepmeat.delay.delay": "Signal delay", + "block.neepmeat.arithmetic": "Arithmetic (NYI)", + "block.neepmeat.lore_0": "Applies an arithmetical operation to §eInput 1§7 and §eInput 2§7 and sends the result via §eResult§7.", "block.neepmeat.movement_control": "Movement Control", "block.neepmeat.movement_control.lore_0": "Converts a player's movement inputs to NEEPBus signals.\n§eUse to activate\nSneak-use to configure.", "block.neepmeat.integrator": "Integrator", - "block.neepmeat.integrator.lore_0": "Reads the input port and adds it to a stored variable which is then sent to the output port. Equivalent to integrating with the forward Euler method.", + "block.neepmeat.integrator.lore_0": "Reads the input port and adds it to a stored variable which is then sent to the output port. Equivalent to integrating with the forward Euler method.\n§eSneak-click to clear§f", "block.neepmeat.vascular_conduit": "Vascular Conduit", "block.neepmeat.vascular_conduit.lore_0": "Cycles blood through machines to give them power.", @@ -333,6 +346,8 @@ "block.neepmeat.vsc": "Vascular Source Converter", "block.neepmeat.vsc.lore_0": "Consumes a configurable amount of power from a vascular network and emits it from the front. Useful for controlling the speed of motors.\n§eDisabled by redstone by default. Use with an empty hand while sneaking to toggle.", "screen.neepmeat.vsc.text.power": "Target power:", + "block.neepmeat.vascular_sensor": "Vascular Network Sensor", + "block.neepmeat.vascular_sensor.lore_0": "Sends properties of the connected vascular network via NEEPBus.", "screen.neepmeat.deployer.round_robin": "Round-robin", "screen.neepmeat.deployer.block": "Interact block", @@ -404,10 +419,11 @@ "block.neepmeat.fluid_gauge": "Fluid Gauge", "block.neepmeat.fluid_gauge.lore_0": "Emits redstone based on a tank's fill percentage.", "block.neepmeat.item_gauge": "Item Gauge", - "block.neepmeat.item_gauge.lore_0": "Emits redstone based on a block's fill percentage.", + "block.neepmeat.item_gauge.lore_0": "Emits redstone based on an inventory's fill percentage.", "block.neepmeat.converter": "Fluid Charger", - "block.neepmeat.transducer": "Fuel Transducer", + "block.neepmeat.transducer": "Transductive Cannula", + "block.neepmeat.transducer.lore_0": "Pierces the skein to become part of the circulatory system of §kooooeoe§r.", "block.neepmeat.power_flower_seeds": "Power Flower Seeds", "block.neepmeat.power_flower_seeds.lore_0": "Can be placed on dirt or grass. Grows into a majestic organic generator.", "block.neepmeat.power_flower_growth": "Power Flower Growth", @@ -415,9 +431,9 @@ "block.neepmeat.power_flower_fluid_port": "Power Flower Fluid Port", "block.neepmeat.power_flower_fluid_port.lore_0": "Sucks water or liquid food into a Power Flower.", "block.neepmeat.power_flower_controller": "Power Flower Controller", - "block.neepmeat.power_flower_controller.lore_0": "Emits Ethereal Fuel generated by a Power Flower. \nRequires water inserted through a Power Flower Fluid Port. \nCan be harvested normally.", + "block.neepmeat.power_flower_controller.lore_0": "Emits Transient Ichor generated by a Power Flower. \nRequires water inserted through a Power Flower Fluid Port. \nCan be harvested normally.", "block.neepmeat.fluid_exciter": "Heart Machine", - "block.neepmeat.fluid_exciter.lore_0": "Injects power into a vascular network connected to the upper dome when Ethereal Fuel is inserted into the bottom. Provides a 150% efficiency gain over standard motors.", + "block.neepmeat.fluid_exciter.lore_0": "Injects power into a vascular network connected to the upper dome when Transient Ichor is inserted into the bottom. Provides a 150% efficiency gain over standard motors.", "block.neepmeat.verrucous_stone": "Verrucous Stone", "block.neepmeat.verrucous_stone_port": "Verrucous Stone Port", @@ -437,6 +453,8 @@ "block.neepmeat.television_static": "Static Television", "block.neepmeat.large_fan": "Large Fan", "block.neepmeat.large_fan.lore_0": "3x3 Decoration block.", + "block.neepmeat.ceiling_light": "Ceiling Light", + "block.neepmeat.ceiling_light.lore_0": "Sneak-use to toggle.", "block.neepmeat.big_lever": "Big Lever", @@ -469,7 +487,7 @@ "block.neepmeat.breaker": "Motorised Breaker", "block.neepmeat.motor_unit": "Motor", - "block.neepmeat.motor_unit.lore_0": "Powers mechanical blocks. Runs on Ethereal Fuel.\nMax output power: 400eJ/t", + "block.neepmeat.motor_unit.lore_0": "Powers mechanical blocks. Runs on Transient Ichor.\nMax output power: 400eJ/t", "block.neepmeat.advanced_motor": "Advanced Motor", "block.neepmeat.advanced_motor.lore_0": "Powers mechanical blocks. Takes power from a connected vascular network.\nMax output power: 800eJ/t", "block.neepmeat.large_motor": "Large Motor", @@ -507,6 +525,7 @@ "block.neepmeat.pylon": "Pylon", "block.neepmeat.synthesiser": "Oviparous Synthesiser", + "block.neepmeat.synthesiser.lore_0": "Replicates mobs when supplied with meat.\n§eUse with the desired mob's Essential Saltes to insert them.\nCan be disabled with redstone.", "block.neepmeat.fluid_rationer": "Fluid Rationer", "block.neepmeat.fluid_rationer.lore_0": "Ejects discrete fluid amounts from the facing storage into a pipe network.\nCan also extract buckets of fluid from full cauldrons.", @@ -518,7 +537,8 @@ "block.neepmeat.robotic_arm": "PLC Robotic Arm", "block.neepmeat.robotic_arm.lore_0": "A PLC actuator that can operate at high speed when given enough power.", "block.neepmeat.implanter": "Implanter", - "block.neepmeat.implanter.lore_0": "Lore 0", + "block.neepmeat.implanter.lore_0": "Installs implants into entities. Can be operated manually or via a PLC with the ROBOT instruction.", + "block.neepmeat.implanter.no_implant": "NO IMPLANT", "block.neepmeat.implanter.no_target": "NO ENTITY", "block.neepmeat.implanter.off_target": "OFF TARGET", "block.neepmeat.implanter.implant_ready": "IMPLANT READY", @@ -529,7 +549,7 @@ "block.neepmeat.item_request_receiver": "Item Request Listener", "block.neepmeat.upgrade_manager": "Implant Manager", - "block.neepmeat.upgrade_manager.lore_0": "Removes and tweaks item or entity implants.", + "block.neepmeat.upgrade_manager.lore_0": "Removes and tweaks item or entity implants. Must be placed facing a Surgery Platform.", "block.neepmeat.small_compressor": "Small Compressor", "block.neepmeat.small_compressor.lore_0": "Burns fuel to compress air. Powers rock drill in a 16x16x16 cube.", @@ -540,7 +560,7 @@ "block.neepmeat.duat_gravel": "Duat Gravel", "item.neepmeat.sacrificial_dagger": "Tissue Operator", - "item.neepmeat.sacrificial_dagger.lore_0": "Also acts as a wrench.", + "item.neepmeat.sacrificial_dagger.lore_0": "Also acts as a wrench.\nEntities produce blood when killed above a Drain.\nUse and hold to vivisect.", "item.neepmeat.animal_heart": "Rough Heart", "item.neepmeat.animal_heart.lore_0": "Crude; it lacks any logical design sensibilities.", @@ -635,7 +655,7 @@ "item.neepmeat.projector": "Guide Projector", "item.neepmeat.projector.lore_0": "A guide to all NEEPMeat content.", "item.neepmeat.projector.lore_1": "Press §fCTRL + L§7 to look up a hovered item while this guide is in your inventory.", - "screen.neepmeat.guide.search": "Type '/' to search", + "screen.neepmeat.guide.search": "Type '%s' to search", "item.neepmeat.pipette": "Pipette", "item.neepmeat.pipette.full": "Pipette: %s (%s mb)", @@ -738,8 +758,8 @@ "item.neepmeat.patina_treatment_bucket": "Patina Treatment Bucket", "block.neepmeat.patina_treatment": "Patina Treatment", - "item.neepmeat.ethereal_fuel_bucket": "Ethereal Fuel Bucket", - "block.neepmeat.ethereal_fuel": "Ethereal Fuel", + "item.neepmeat.ethereal_fuel_bucket": "Transient Ichor Bucket", + "block.neepmeat.ethereal_fuel": "Transient Ichor", "item.neepmeat.eldritch_enzymes_bucket": "Bucket of Eldritch Enzymes", "block.neepmeat.eldritch_enzymes": "Eldritch Enzymes", @@ -779,7 +799,7 @@ "item.neepmeat.essential_saltes.lore_0": "Use in a Synthesiser to replicate an organism.", "item.neepmeat.essential_saltes.meat": "Biomass required: %s", "item.neepmeat.mob_egg": "Mob Egg: %s", - "item.neepmeat.mob_egg.lore_0": "Must be immersed in blood in order to hatch.", + "item.neepmeat.mob_egg.lore_0": "Hatches when immersed in blood or injected with blood by a PLC.", "item.neepmeat.compound_injector": "Compound Injector", "item.neepmeat.compound_injector_lore_0": "Heals 4 hearts when used.", @@ -800,6 +820,7 @@ "entity.neepmeat.glome": "Glome", "entity.neepmeat.hound": "Hound", "entity.neepmeat.bovine_horror": "The Bovine Horror", + "entity.neepmeat.skyworm": "Distribution Organism", "entity.neepmeat.repeater": "Repeater", "entity.neepmeat.machine_worm": "Machine Worm", @@ -821,6 +842,12 @@ "item.neepmeat.lung_extensions": "Lung Extensions", "implant.neepmeat.lung_extensions": "Lung Extensions", "implant.neepmeat.lung_extensions.desc_0": "Scream LONGER. Breathe HARDER. Brag about EXTENDED LUNGS.", + "item.neepmeat.claws": "Hand Glaives", + "implant.neepmeat.claws": "Hand Glaives", + "implant.neepmeat.claws.desc_0": "Gives +4 attack damage when holding nothing.", + "item.neepmeat.cat_ears": "Cat Ears", + "implant.neepmeat.cat_ears": "Cat Ears", + "implant.neepmeat.cat_ears.desc_0": "Nyaaa", "item.neepmeat.spider_legs": "Hexapod", "implant.neepmeat.spider_legs": "Hexapod", "implant.neepmeat.spider_legs.desc_0": "Increases speed and gives smoother traversal over full blocks.", @@ -828,12 +855,13 @@ "hexapod_skin.neepmeat.th_0": "Trans Socks", "hexapod_skin.neepmeat.th_1": "Original Programming Socks", "hexapod_skin.neepmeat.black_boots": "Black boots", + "implant.neepmeat.explosive": "CNS-Wired Explosives", "item.neepmeat.shield": "Shield Attachment", "implant.neepmeat.shield": "Shield Attachment", "implant.neepmeat.shield.desc_0": "Shields some damage when the item is in use.", "item.neepmeat.living_tool_implant": "Tool Organism", - "implant.neepmeat.living_tool_implant.desc_0": "Converts any item into an organism that runs on Ethereal Fuel. Durability can be replenished in a Bottler.", + "implant.neepmeat.living_tool_implant.desc_0": "Converts any item into an organism that runs on Transient Ichor. Durability can be replenished in a Bottler.", "item.neepmeat.chrysalis": "Divine Chrysalis", "item.neepmeat.chrysalis.lore_0": "Something tells you that surgically implanting this into a cow would be a really good idea.", @@ -863,8 +891,8 @@ "instruction.neepmeat.rfrom.desc": "§6( -- n1 ) ( R: n1 -- )§f\nMoves the top element of the return stack to the data stack.", "instruction.neepmeat.rfetch.desc": "§6( -- n1 ) ( R: n1 -- n1 )§f\nCopies the top element of the return stack to the data stack.", "instruction.neepmeat.free.desc": "Frees the memory at the address on the top of the stack.", - "instruction.neepmeat.store.desc": "Stores the top stack entry in the PLC's memory.\nPushes the newly-allocated memory's address to the stack.", - "instruction.neepmeat.fetch.desc": "Attempts to fetch the value in memory at the address on the top of the stack.\nPushes the result to the stack.\nDOES NOT FREE THE MEMORY.", + "instruction.neepmeat.store.desc": "§6( n1 addr -- )§f\nStores n1 stack entry in the PLC's memory at addr", + "instruction.neepmeat.fetch.desc": "§6( addr -- n1 )§f\nAttempts to fetch the value in memory at the address on the top of the stack.\nPushes the result to the stack.\nDOES NOT FREE THE MEMORY.", "instruction.neepmeat.extstore.desc": "Sends the memory entry pointed to by the address on the top of the stack to the target block.\nDOES NOT FREE THE MEMORY.\n §6ARG1§f: Block with memory stack (world target)", "instruction.neepmeat.extfetch.desc": "Moves the top entry in the target block's memory stack to the PLC's memory.\nPushes the address of the newly allocated memory to the stack.\nRemember to free the memory when it is no longer needed with FREE.\n §6ARG1§f: Block with memory stack (world target)", "instruction.neepmeat.delay.desc": "Waits for the specified number of ticks.", @@ -889,15 +917,15 @@ "instruction.neepmeat.xnor.desc": "Pops the top two stack entries.\nComputes their bitwise §6XNOR§f.\nThe result is pushed to the stack.", "instruction.neepmeat.shr.desc": "Bit-shifts the top stack element §6right§f by the give number of bits.", "instruction.neepmeat.shl.desc": "Bit-shifts the top stack element §6left§f by the give number of bits.", - "instruction.neepmeat.jump.desc": "Jumps to the given label or by the given number of instructions. \nIf the label is followed by §6f§f or §6b§f, it will jump to the next or previous instance of the label.", - "instruction.neepmeat.bit.desc": "Branches to the given label or number of instructions if the top stack element is §6greater than zero§f.\nIf the label is followed by §6f§f or §6b§f, it will jump to the next or previous instance of the label.", - "instruction.neepmeat.bif.desc": "Branches to the given label or number of instructions if the top stack element is §6zero or negative§f.\nIf the label is followed by §6f§f or §6b§f, it will jump to the next or previous instance of the label.", + "instruction.neepmeat.jmp.desc": "Jumps to the given label or by the given number of instructions. \nIf the label is followed by §6f§f or §6b§f, it will jump to the next or previous instance of the label.", + "instruction.neepmeat.bit.desc": "(Branch if true) Branches to the given label or number of instructions if the top stack element is §6greater than zero§f.\nIf the label is followed by §6f§f or §6b§f, it will jump to the next or previous instance of the label.", + "instruction.neepmeat.bif.desc": "(Branch if false) Branches to the given label or number of instructions if the top stack element is §6zero or negative§f.\nIf the label is followed by §6f§f or §6b§f, it will jump to the next or previous instance of the label.", "instruction.neepmeat.say.desc": "Sends the given string to all players within 20 blocks.\nIf no string is provided, it will pop and print the last stack element.\nAdding §6d§f §6h§' or §6b§f to the end will format the stack entry as decimal, hexadecimal or binary respectively.", "instruction.neepmeat.remove.desc": "Removes the last manufacture step from the item in workbench ARG1.", "instruction.neepmeat.robot.desc": "Selects the actuator at ARG1. All further instructions will use the actuator until a new one is selected.", "instruction.neepmeat.exec.desc": "Runs the following instruction ARG2 in the executor at block ARG1.", "instruction.neepmeat.combine.desc": "Removes an item from storage ARG1 and combines it with the item in workbench ARG2.", - "instruction.neepmeat.move.desc": "Tries to move a stack of items from storage ARG1 into storage ARG2.", + "instruction.neepmeat.move.desc": "Tries to the specified number of items from storage ARG1 into storage ARG2. If no amount is specified, 64 will be assumed. The success of the move is pushed to the stack.\n §6ARG1§f: Source storage (world target)\n §6ARG2§f: destination storage (world target)\n §6ARG3§f: amount (integer, optional)\n §6ARG4§f: item ID (string, * for wildcard, optional)", "instruction.neepmeat.implant.desc": "Removes an item from storage ARG1 and surgically implants it into entity ARG2.", "instruction.neepmeat.inject.desc": "Draws fluid from storage ARG1 and injects it into the item in workbench ARG2.", "instruction.neepmeat.wait_redstone.desc": "Waits for a signal strength above zero at the redstone interface ARG1.", @@ -907,7 +935,7 @@ "instruction.neepmeat.neepbus_read.desc": "Reads the value of a device with the specified address in a connected NEEPBus network.\n §6ARG1§f: target address (string)", "instruction.neepmeat.route.desc": "Uses a Pipe Driver (currently selected as the actuator) to request the item with the given name. \nThe item is routed from a given §6pipe§f and §6input direction§f to the specified §6pipe§f and §6output direction§f. The desired count is read from the stack and the success of the operation is pushed to the stack.\n §6ARG1§f: input pipe (world target)\n §6ARG2§f: output pipe (world target)\n §6ARG2§f item ID (string, * for wildcard)", "instruction.neepmeat.request.desc": "Uses a Pipe Driver (currently selected as the actuator) to request the item with the given name. \nThe item is routed through a pipe network to the specified §6pipe§f and §6output direction§f. The desired count is read from the stack and the success of the request is pushed to the stack.\n §6ARG1§f: output pipe (world target)\n §6ARG2§f item ID (string, * for wildcard)", - "instruction.neepmeat.count.desc": "Counts the items at the given world target and pushes the result to the stack. If an item ID is provided, only items of that type will be counted.\n §6ARG1§f: inventory (world target)\n §6ARG2§f: item ID (string, optional)", + "instruction.neepmeat.count.desc": "Counts the items or fluid at the given world target and pushes the result to the stack.\nThe type of resource to count is optionally specified in the second argument.\nIf an ID is provided, only items/fluids of that that match it will be counted. IDs can use * to represent any combination of characters (*:water or minecraft:*).\n §6ARG1§f: inventory (world target)§6\n §6ARG2§f: type to count (ITEM or FLUID, optional)\n §6ARG3§f: item or fluid ID (string, optional)", "category.neepmeat.instruction.arithmetic": "Arithmetic", "category.neepmeat.instruction.comparison": "Comparison", @@ -949,7 +977,7 @@ "screen.neepmeat.limiter_valve.text.mb": "mb / t", "screen.neepmeat.limiter_valve.text.mb_info": "Millibuckets per tick (one bucket = 1000mb)", "screen.neepmeat.limiter_valve.text.ej_t": "eJ / t", - "screen.neepmeat.limiter_valve.text.ej_t_info": "Esoteric joules per tick with reference to Ethereal Fuel (one bucket = 162000eJ)", + "screen.neepmeat.limiter_valve.text.ej_t_info": "Esoteric joules per tick with reference to Transient Ichor (one bucket = 162000eJ)", "screen.neepmeat.power_limiter_valve": "Advanced Limiter Valve", "screen.neepmeat.power_limiter_valve.lore_0": "Can limit flow based on .", @@ -1002,6 +1030,7 @@ "component.neepmeat.tree_vacuum": "Tree Vacuum", "component.neepmeat.large_compressor": "Large Compressor", "component.neepmeat.stomach": "Stomach", + "component.neepmeat.metaboliser_segment": "Metaboliser Segment", "component.neepmeat.charnel_pump": "Charnel Pump", "component.neepmeat.extractor": "Harvest Extractor", "component.neepmeat.hopper": "Hopper", @@ -1011,6 +1040,7 @@ "component.neepmeat.fluid_output": "Fluid Output", "component.neepmeat.lucky_one": "Lucky One", + "category.neepmeat.general.energy": "Process energy: %d", "category.neepmeat.pressing": "Pressing", "category.neepmeat.grinding": "Crushing", "category.neepmeat.advanced_crushing": "Advanced Crushing", @@ -1021,7 +1051,6 @@ "category.neepmeat.ore_fat": "Ore Fat Processing", "category.neepmeat.compacting": "Charnel Compacting", "category.neepmeat.mixing": "Mixing", - "category.neepmeat.mixing.time": "Time: %ds (at 1000eJ/t)", "category.neepmeat.alloy_smelting": "Alloy Smelting", "category.neepmeat.alloy_smelting.time": "Time: %ds", "category.neepmeat.vivisection": "Vivisection", @@ -1178,5 +1207,23 @@ "category.neepmeat.thord.arithmetic": "Maths", "category.neepmeat.thord.comparison": "Comparison", "category.neepmeat.thord.flow_control": "Flow Control", - "category.neepmeat.thord.misc": "Misc" + "category.neepmeat.thord.misc": "Misc", + "screen.neepmeat.vascular.priority": "Priority", + "screen.neepmeat.vsc.text.mode": "Mode", + "screen.neepmeat.vsc.normal.desc": "Normal: The specified amount of power will be drawn from the source network and injected into the target network.", + "screen.neepmeat.vsc.balance.desc": "Balance: The VSC will try to keep the available power in the output network at the specified value. Excess power will be injected into the source network", + "screen.neepmeat.vsc.cut_off": "Cut off when insufficient", + + "death.attack.neepmeat.crusher": "%1$s was ground into chunky marinara.", + "death.attack.neepmeat.mincer": "%1$s was reduced to a soup-like homogenate.", + + "process.neepmeat.disruptor": "Disruptor", + "process.neepmeat.trommel": "Trommel", + "process.neepmeat.metaboliser": "Metaboliser", + "process.neepmeat.crusher": "Crusher", + "process.neepmeat.large_compressor": "Large Compressor", + "process.neepmeat.phage_ray": "Phage Ray", + "process.neepmeat.charnel_pump": "Charnel Pump", + "process.neepmeat.bioreactor": "Bioreactor", + "process.neepmeat.tree_vacuum": "Tree Vacuum" } diff --git a/projects/1.20-fabric/assets/neepmeat/neepmeat/lang/zh_cn.json b/projects/1.20-fabric/assets/neepmeat/neepmeat/lang/zh_cn.json index c0f247421c43..23da3f62d980 100644 --- a/projects/1.20-fabric/assets/neepmeat/neepmeat/lang/zh_cn.json +++ b/projects/1.20-fabric/assets/neepmeat/neepmeat/lang/zh_cn.json @@ -3,12 +3,13 @@ "itemGroup.neepmeat.ingredients": "NEEPMeat丨合成", "itemGroup.neepmeat.food": "NEEPMeat丨食物", - "message.neepmeat.shift_for_info": "§7按住§fSHIFT§7显示更多信息", - "message.neepmeat.requires_motor": "需要外接发动机", - "message.neepmeat.requires_vascular": "需要连接到脉管网络", - "message.neepmeat.plc_compatible": "有效PLC工作站", - "message.neepmeat.plc_interrupt": "会发出PLC中断", - "message.neepmeat.plc_actuator": "有效PLC操作机构", + "tooltip.neepmeat.shift_for_info": "§7按住§fSHIFT§7显示更多信息", + "tooltip.neepmeat.requires_motor": "需要外接发动机", + "tooltip.neepmeat.requires_vascular": "需要连接到脉管网络", + "tooltip.neepmeat.requires_ichor": "需要供应瞬变浆液", + "tooltip.neepmeat.plc_compatible": "有效PLC工作站", + "tooltip.neepmeat.plc_interrupt": "会发出PLC中断", + "tooltip.neepmeat.plc_actuator": "有效PLC操作机构", "text.neepmeat.plc.arguments": "参数:%s / %s", "text.neepmeat.plc.interactive_help": "在右侧面板中点击选择指令。\n\n点击世界中方块以将其位置加作参数。\n\n参数数量满足后,指令会立即执行。", "tooltip.neepmeat.plc.language": "当前编程语言:%s\n点击以切换语言。\nCtrl点击以打开文档。", @@ -16,6 +17,7 @@ "message.neepmeat.power": "功率:", "message.neepmeat.energy": "能量:", "message.neepmeat.power_unit": "eJ/t", + "message.neepmeat.power_flower.status": "方块总数:%s/%s,光合器官数:%s", "text.neepmeat.data.gieb_unit": "%sGeB", "text.neepmeat.data.eb_unit": "%seB", @@ -24,6 +26,8 @@ "message.neepmeat.insufficient_power_2": "%s < %s", "message.neepmeat.running": "运作中", + "message.neepmeat.metaboliser_segment.output": "工作段输出功率:%s", + "message.neepmeat.integrator.data": "数据:%s / %s", "block.neepmeat.polished_metal_bricks": "磨制金属砖", @@ -47,6 +51,8 @@ "block.neepmeat.blue_polished_metal_wall": "蓝色磨制金属墙", "block.neepmeat.rusty_metal": "锈蚀金属", + "block.neepmeat.rusty_metal_light": "锈蚀金属灯", + "block.neepmeat.rusty_metal_light.lore_0": "潜行交互以打开和关闭。", "block.neepmeat.rusty_metal_slab": "锈蚀金属台阶", "block.neepmeat.rusty_metal_stairs": "锈蚀金属楼梯", "block.neepmeat.rusty_metal_wall": "锈蚀金属墙", @@ -174,6 +180,9 @@ "block.neepmeat.large_compressor": "大型压缩机", "block.neepmeat.large_compressor.lore_0": "压缩气体。", "block.neepmeat.stomach": "胃囊", + "block.neepmeat.stomach.lore_0": "也可以用作流体输入端口。", + "block.neepmeat.metaboliser_segment": "代谢机工作段", + "block.neepmeat.metaboliser_segment.lore_0": "代谢里边的东西。", "block.neepmeat.lucky_one": "幸运儿", "block.neepmeat.lucky_one.lore_0": "+100% 额外产物概率(最高+200%)。必须提供≥50eJ/t的脉管功率。", "block.neepmeat.extractor": "采集提取机", @@ -236,7 +245,7 @@ "block.neepmeat.smooth_tile_white": "白色平滑石瓦", "block.neepmeat.fluid_pipe": "流体管道", - "block.neepmeat.fluid_pipe.desc": "§7放置在管道或其他方块旁边以进行连接。\n§e按住潜行键放置可不进行连接。§7\n§e空手或手持组织手术器交互可连接或断开连接。§7\n管道只会与同种颜色的管道相连。§e潜行滚动滚轮以循环切换颜色。§7", + "block.neepmeat.fluid_pipe.desc": "§7放置在管道或其他方块旁边以进行连接。\n§e按住潜行键放置可不进行连接。§7\n§e空手或手持组织手术器交互可连接或断开连接。§7\n管道只会与同种颜色的管道相连。\n§e潜行滚动滚轮以循环切换颜色。§7", "block.neepmeat.encased_fluid_pipe": "包层流体管道", "block.neepmeat.encased_fluid_pipe.lore_0": "以方块右击后,其模型和外形都将变为与之相同。", "block.neepmeat.fluid_pipe_white": "白色流体管道", @@ -294,16 +303,18 @@ "block.neepmeat.dumper": "智能卸料器", "block.neepmeat.dumper.lore_0": "向正下方投出物品。", - "message.neepmeat.neepbus_part": "NEEP总线目标设备", + "tooltip.neepmeat.neepbus_part": "NEEP总线目标设备", "block.neepmeat.vertical_gauge": "纵条量表", "block.neepmeat.vertical_gauge.lore_0": "显示最后写入其地址处的值。\n潜行点击以配置端口和范围。", "block.neepmeat.slider": "滑动拉杆", - "block.neepmeat.slanted_slider": "斜板滑动拉杆", "block.neepmeat.slider.lore_0": "范围可配置的交互组件。\n将其值传输给NEEP总线网络中给定地址的设备。\n潜行点击以配置端口。", + "block.neepmeat.slanted_slider": "斜板滑动拉杆", + "block.neepmeat.slanted_slider.lore_0": "范围可配置的交互组件。\n将其值传输给NEEP总线网络中给定地址的设备。\n潜行点击以配置端口。", "screen.neepmeat.slider.instructions": "使用W/S或鼠标滚轮以更改值。\n按住SHIFT以1/10速度更改值。\n按下ESC以退出。", "block.neepmeat.single_button": "单值按钮", - "block.neepmeat.single_button.lore_0": "交互时向所选地址写入其值。不可被读取。\n潜行交互以配置。", - "tooltip.neepmeat.button.value": "值", + "block.neepmeat.single_button.lore_0": "交互时向所选地址写入其值。不可被读取。\n若脉冲长度大于0,则按钮会在延时过后向地址写0。\n§e潜行交互以配置。§f", + "tooltip.neepmeat.button.high_value": "输出值", + "tooltip.neepmeat.button.delay_time": "脉冲长度", "block.neepmeat.data_cable": "数据线缆", "block.neepmeat.data_cable.lore_0": "将融变生物机连接至其他方块。\n能传输NEEP总线的信号。", "block.neepmeat.encased_data_cable": "包层数据线缆", @@ -321,10 +332,12 @@ "block.neepmeat.delay": "单位延迟器", "block.neepmeat.delay.lore_0": "将输入端口收到的信号延迟1刻再写至输出端口。", "tooltip.neepmeat.delay.delay": "信号延迟", + "block.neepmeat.arithmetic": "算术运算器(未实装)", + "block.neepmeat.lore_0": "对§e输入1§7(§eInput 1§7)和§e输入2§7(§eInput 2§7)执行算术运算,并从§e结果§7(§eResult§7)处输出结果。", "block.neepmeat.movement_control": "运动控制器", "block.neepmeat.movement_control.lore_0": "将玩家的移动输入转换为NEEP总线信号。\n§e交互以激活。\n潜行交互以配置。", "block.neepmeat.integrator": "积分器", - "block.neepmeat.integrator.lore_0": "将读取输入端口获得的值加至内部变量,再输出至输出端口。等价于采用前向欧拉法进行积分。", + "block.neepmeat.integrator.lore_0": "将读取输入端口获得的值加至内部变量,再输出至输出端口。等价于采用前向欧拉法进行积分。\n§e潜行点击以清除§f", "block.neepmeat.vascular_conduit": "脉管导管", "block.neepmeat.vascular_conduit.lore_0": "在机器间循环血液,为之供能。", @@ -333,6 +346,8 @@ "block.neepmeat.vsc": "脉管能源转换器", "block.neepmeat.vsc.lore_0": "从脉管网络中消耗一定量的功率,并向前面输出,具体量可配置。适合用来控制发动机的转速。\n§e默认需红石信号开启。潜行空手交互以切换。", "screen.neepmeat.vsc.text.power": "目标功率:", + "block.neepmeat.vascular_sensor": "脉管网络传感器", + "block.neepmeat.vascular_sensor.lore_0": "将相连脉管网络的属性输出至NEEP总线。", "screen.neepmeat.deployer.round_robin": "轮询调度", "screen.neepmeat.deployer.block": "交互方块", @@ -407,17 +422,18 @@ "block.neepmeat.item_gauge.lore_0": "根据容器的填满程度发出红石信号。", "block.neepmeat.converter": "流体充能器", - "block.neepmeat.transducer": "燃液换能器", + "block.neepmeat.transducer": "换能套管", + "block.neepmeat.transducer.lore_0": "刺入超维度缠结,成为§kooooeoe§r循环系统的一部分。", "block.neepmeat.power_flower_seeds": "能量花种子", - "block.neepmeat.power_flower_seeds.lore_0": "可种在泥土或草方块上。会生长成壮观的有机产能器。", + "block.neepmeat.power_flower_seeds.lore_0": "可种在泥土或草方块上。会生长成壮观的生物产能器。", "block.neepmeat.power_flower_growth": "能量花增生体", - "block.neepmeat.power_flower_growth.lore_0": "能量花结构的基础。\n上方与空气接触的增生体会特化为光合器官,其余增生体会增加代谢率。\n施加骨粉或肉时会扩散。\n可用精准采集取下。", + "block.neepmeat.power_flower_growth.lore_0": "能量花结构的基础。\n上方与空气接触的增生体会特化为光合器官,其余增生体会增加代谢率。\n施加骨粉或肉类时会扩散。\n可用精准采集取下。", "block.neepmeat.power_flower_fluid_port": "能量花流体口", "block.neepmeat.power_flower_fluid_port.lore_0": "能将水和液态食物吸入能量花。", "block.neepmeat.power_flower_controller": "能量花核心", - "block.neepmeat.power_flower_controller.lore_0": "能量花产出的缥缈燃液自此流出。\n需向能量花流体口送入水。\n可直接破坏取下。", + "block.neepmeat.power_flower_controller.lore_0": "能量花产出的瞬变浆液自此流出。\n需向能量花流体口送入水。\n可直接破坏取下。", "block.neepmeat.fluid_exciter": "心脏机", - "block.neepmeat.fluid_exciter.lore_0": "下方接受缥缈燃液时,上部即向脉管网络供能。效率是标准发动机的150%。", + "block.neepmeat.fluid_exciter.lore_0": "下方接受瞬变浆液时,上部即向脉管网络供能。效率是标准发动机的150%。", "block.neepmeat.verrucous_stone": "疣斑石", "block.neepmeat.verrucous_stone_port": "疣斑石口", @@ -437,6 +453,8 @@ "block.neepmeat.television_static": "雪花屏电视", "block.neepmeat.large_fan": "大型风扇", "block.neepmeat.large_fan.lore_0": "3x3装饰性方块。", + "block.neepmeat.ceiling_light": "吸顶灯", + "block.neepmeat.ceiling_light.lore_0": "潜行交互以打开和关闭。", "block.neepmeat.big_lever": "大型拉杆", @@ -456,7 +474,7 @@ "block.neepmeat.heater.lore_0": "加热面向的类熔炉方块。每额外提供60eJ/t,加工速度便提高1倍基础值。能令暴露于锈铜液的铜氧化。", "block.neepmeat.trommel": "亵渎滚筒筛", "block.neepmeat.integrator_egg": "融变机卵", - "block.neepmeat.integrator_egg.lore_0": "它在如心脏般微微搏动,似在表达它对血液的渴望。", + "block.neepmeat.integrator_egg.lore_0": "它在如心脏般微微搏动,似在表达对血液的渴望。", "block.neepmeat.advanced_integrator_egg": "高级融变机卵", "block.neepmeat.advanced_integrator": "高级融变生物机", "block.neepmeat.advanced_integrator_structure": "高级融变生物机结构", @@ -469,7 +487,7 @@ "block.neepmeat.breaker": "机动破坏器", "block.neepmeat.motor_unit": "发动机", - "block.neepmeat.motor_unit.lore_0": "能为机器方块供能。运作消耗缥缈燃液。\n最大输出功率:400eJ/t", + "block.neepmeat.motor_unit.lore_0": "能为机器方块供能。运作消耗瞬变浆液。\n最大输出功率:400eJ/t", "block.neepmeat.advanced_motor": "高级发动机", "block.neepmeat.advanced_motor.lore_0": "能为机器方块供能。由相连的脉管网络供能。\n最大输出功率:800eJ/t", "block.neepmeat.large_motor": "大型发动机", @@ -507,6 +525,7 @@ "block.neepmeat.pylon": "启智尖塔", "block.neepmeat.synthesiser": "精卵合成机", + "block.neepmeat.synthesiser.lore_0": "供应肉浆以复制生物。\n§e对其使用需复制的生物的精盐以放入。\n可被红石禁用。", "block.neepmeat.fluid_rationer": "流体配给器", "block.neepmeat.fluid_rationer.lore_0": "从面向的储罐取出特定量流体,再主动输出到相连的管道网络。\n能够从装满的炼药锅中抽出整桶流体。", @@ -518,7 +537,8 @@ "block.neepmeat.robotic_arm": "PLC机械臂", "block.neepmeat.robotic_arm.lore_0": "PLC操作机构,功率足够时能高速运作。", "block.neepmeat.implanter": "植入器", - "block.neepmeat.implanter.lore_0": "Lore 0", + "block.neepmeat.implanter.lore_0": "向实体植入植入物。可以手动操控,也可由PLC通过ROBOT指令操控。", + "block.neepmeat.implanter.no_implant": "无植入物", "block.neepmeat.implanter.no_target": "无实体", "block.neepmeat.implanter.off_target": "目标偏离", "block.neepmeat.implanter.implant_ready": "植入物准备就绪", @@ -529,7 +549,7 @@ "block.neepmeat.item_request_receiver": "物品请求监听器", "block.neepmeat.upgrade_manager": "植入物管理器", - "block.neepmeat.upgrade_manager.lore_0": "移除或调整物品和实体的植入物。", + "block.neepmeat.upgrade_manager.lore_0": "移除或调整物品和实体的植入物。必须面朝手术站放置。", "block.neepmeat.small_compressor": "小型压缩机", "block.neepmeat.small_compressor.lore_0": "燃烧燃料以压缩空气。驱动16x16x16范围内的凿岩钻。", @@ -540,7 +560,7 @@ "block.neepmeat.duat_gravel": "冥界沙砾", "item.neepmeat.sacrificial_dagger": "组织手术器", - "item.neepmeat.sacrificial_dagger.lore_0": "也可以用作扳手。", + "item.neepmeat.sacrificial_dagger.lore_0": "也可以用作扳手。\n在漏集池上方击杀实体会产出血液。\n按住“使用”键以活体解剖。", "item.neepmeat.animal_heart": "粗劣心脏", "item.neepmeat.animal_heart.lore_0": "粗糙不堪,结构完全不合理。", @@ -635,7 +655,7 @@ "item.neepmeat.projector": "指南投影仪", "item.neepmeat.projector.lore_0": "NEEPMeat中所有内容的指南。", "item.neepmeat.projector.lore_1": "此指南处于物品栏中时,按下§fCTRL+L§7可查询鼠标悬停位置的物品。", - "screen.neepmeat.guide.search": "输入“/”以搜索", + "screen.neepmeat.guide.search": "按下“%s”以搜索", "item.neepmeat.pipette": "滴管", "item.neepmeat.pipette.full": "滴管:%s(%s mB)", @@ -692,14 +712,14 @@ "block.neepmeat.cronencake": "呻吟蛋糕", "block.neepmeat.cronencake.lore_0": "别管那些尖叫。这蛋糕大概没有意识。", - "item.neepmeat.biomass": "混杂的生物固态物", + "item.neepmeat.biomass": "生物固态物糊", "item.neepmeat.meat_steel_chestplate": "肉钢胸甲", "item.neepmeat.meat_steel_legs": "肉钢护腿", "item.neepmeat.meat_steel_boots": "肉钢靴子", "block.neepmeat.charnel_compactor": "积骸压缩桶", - "block.neepmeat.charnel_compactor.lore_0": "与融变生物机相连接时能将肉转化为融合液。", + "block.neepmeat.charnel_compactor.lore_0": "与融变生物机相连接时能将肉类转化为融合液。", "message.neepmeat.compactor.not_found": "未连接至融变生物机。", "message.neepmeat.compactor.immature": "所连接的融变生物机未完全成熟。", @@ -712,7 +732,7 @@ "block.neepmeat.contaminated_dirt": "染污碎石", "block.neepmeat.phage_ray": "吞噬射线炮", - "block.neepmeat.phage_ray.lore_0": "玩家控制瞄准时可发射死光光束,能迅速破坏方块。摧毁的方块不会产生掉落物。", + "block.neepmeat.phage_ray.lore_0": "玩家控制瞄准时可发射特种光束,可用其迅速破坏方块。摧毁的方块不会产生掉落物。", "message.neepmeat.synthesiser.template": "当前生物体模板:%s", @@ -738,8 +758,8 @@ "item.neepmeat.patina_treatment_bucket": "锈铜液桶", "block.neepmeat.patina_treatment": "锈铜液", - "item.neepmeat.ethereal_fuel_bucket": "缥缈燃液桶", - "block.neepmeat.ethereal_fuel": "缥缈燃液", + "item.neepmeat.ethereal_fuel_bucket": "瞬变浆液桶", + "block.neepmeat.ethereal_fuel": "瞬变浆液", "item.neepmeat.eldritch_enzymes_bucket": "怪异酶液桶", "block.neepmeat.eldritch_enzymes": "怪异酶液", @@ -779,7 +799,7 @@ "item.neepmeat.essential_saltes.lore_0": "用于精卵合成机以复制生物体。", "item.neepmeat.essential_saltes.meat": "所需肉浆:%s", "item.neepmeat.mob_egg": "生物卵:%s", - "item.neepmeat.mob_egg.lore_0": "必须浸泡在血液中才会孵化。", + "item.neepmeat.mob_egg.lore_0": "浸泡在血液中,或由PLC注入血液才会孵化。", "item.neepmeat.compound_injector": "化合物注射器", "item.neepmeat.compound_injector_lore_0": "使用时回复4颗心。", @@ -800,6 +820,7 @@ "entity.neepmeat.glome": "高维球体", "entity.neepmeat.hound": "猎犬", "entity.neepmeat.bovine_horror": "怖牛", + "entity.neepmeat.skyworm": "播卵生物体", "entity.neepmeat.repeater": "播报员", "entity.neepmeat.machine_worm": "机器蠕虫", @@ -821,6 +842,12 @@ "item.neepmeat.lung_extensions": "肺延长", "implant.neepmeat.lung_extensions": "肺延长", "implant.neepmeat.lung_extensions.desc_0": "喊得更久!呼吸更猛!显摆你的大肺吧!", + "item.neepmeat.claws": "手刀", + "implant.neepmeat.claws": "手刀", + "implant.neepmeat.claws.desc_0": "空手时攻击伤害+4。", + "item.neepmeat.cat_ears": "猫耳", + "implant.neepmeat.cat_ears": "猫耳", + "implant.neepmeat.cat_ears.desc_0": "喵~", "item.neepmeat.spider_legs": "六足虫", "implant.neepmeat.spider_legs": "六足虫", "implant.neepmeat.spider_legs.desc_0": "增加速度,让完整方块上的移动更丝滑。", @@ -828,12 +855,13 @@ "hexapod_skin.neepmeat.th_0": "跨性别袜", "hexapod_skin.neepmeat.th_1": "原创节目袜", "hexapod_skin.neepmeat.black_boots": "黑靴子", + "implant.neepmeat.explosive": "中枢神经系统控爆爆炸物", "item.neepmeat.shield": "护盾附加", "implant.neepmeat.shield": "护盾附加", "implant.neepmeat.shield.desc_0": "使用此物品时抵消部分伤害。", - "item.neepmeat.living_tool_implant": "工具生命体", - "implant.neepmeat.living_tool_implant.desc_0": "将任何物品改装成消耗缥缈燃液的生命体。耐久度可在灌装机中恢复。", + "item.neepmeat.living_tool_implant": "工具生物体", + "implant.neepmeat.living_tool_implant.desc_0": "将任何物品改装成消耗瞬变浆液的生物体。耐久度可在灌装机中恢复。", "item.neepmeat.chrysalis": "神圣之蛹", "item.neepmeat.chrysalis.lore_0": "你有种感觉,给牛嵌装这个植入物会是个很好的主意。", @@ -854,7 +882,7 @@ "instruction.neepmeat.idisable.desc": "禁用中断处理,但不会清除中断处理程序。\n在处理中断时,可借此阻断之后的中断。", "instruction.neepmeat.push.desc": "§6( -- n1 )§f\n将所给立即变量压入栈。", "instruction.neepmeat.pop.desc": "§6( n1 -- )§f\n弹出栈顶元素。", - "instruction.neepmeat.swap.desc": "§6( n1 n2 -- n2 n1 )§f\n交换栈顶两元素的顺序。", + "instruction.neepmeat.swp.desc": "§6( n1 n2 -- n2 n1 )§f\n交换栈顶两元素的顺序。", "instruction.neepmeat.dup.desc": "§6( n1 -- n1 n1 )§f\n复制栈顶元素。", "instruction.neepmeat.over.desc": "§6( n1 n2 -- n1 n2 n1 )§f\n复制栈顶往下第二元素。", "instruction.neepmeat.rot.desc": "§6( n1 n2 n3 -- n2 n3 n1 )§f\n将栈底往下第三元素移至栈顶。", @@ -863,8 +891,8 @@ "instruction.neepmeat.rfrom.desc": "§6( -- n1 ) ( R: n1 -- )§f\n将返回栈栈顶元素转移到数据栈。", "instruction.neepmeat.rfetch.desc": "§6( -- n1 ) ( R: n1 -- n1 )§f\n将返回栈栈顶元素复制到数据栈。", "instruction.neepmeat.free.desc": "释放栈顶地址指向的内存空间。", - "instruction.neepmeat.store.desc": "将栈顶元素存入PLC的内存。\n将新分配的内存地址压入栈。", - "instruction.neepmeat.fetch.desc": "尝试取出栈顶内存地址处的值。\n将取到的值压入栈。\n不会释放内存。", + "instruction.neepmeat.store.desc": "§6( n1 地址 -- )§f\n将栈顶元素n1存入PLC内存中所给地址参数处。", + "instruction.neepmeat.fetch.desc": "§6( 地址 -- n1 )§f\n尝试取出栈顶内存地址处的值。\n将取到的值压入栈。\n不会释放内存。", "instruction.neepmeat.extstore.desc": "将栈顶地址指向的内存项发送至目标方块。\n不会释放内存。\n §6ARG1§f:具有存储栈的方块(世界目标)", "instruction.neepmeat.extfetch.desc": "将目标方块存储栈的栈顶项转移到PLC的内存。\n将新分配的内存地址压入栈。\n后续无需使用值时务必用FREE释放内存。\n §6ARG1§f:具有存储栈的方块(世界目标)", "instruction.neepmeat.delay.desc": "等待所给数刻。", @@ -889,7 +917,7 @@ "instruction.neepmeat.xnor.desc": "弹出栈顶两元素。\n求两者按位§6同或§f。\n将结果压入栈。", "instruction.neepmeat.shr.desc": "将栈顶元素按位§6右移§f所给数位。", "instruction.neepmeat.shl.desc": "将栈顶元素按位§6左移§f所给数位。", - "instruction.neepmeat.jump.desc": "跳转至所给标签或所给指令序数处。\n若标签后跟有§6f§f或§6b§f,则分别跳转至下一或上一同名标签。", + "instruction.neepmeat.jmp.desc": "跳转至所给标签或所给指令序数处。\n若标签后跟有§6f§f或§6b§f,则分别跳转至下一或上一同名标签。", "instruction.neepmeat.bit.desc": "若栈顶元素§6大于零§f,则分支跳转至所给标签或所给指令序数处。\n若标签后跟有§6f§f或§6b§f,则分别跳转至下一或上一同名标签。", "instruction.neepmeat.bif.desc": "若栈顶元素§6等于零或为负§f,则分支跳转至所给标签或所给指令序数处。\n若标签后跟有§6f§f或§6b§f,则分别跳转至下一或上一同名标签。", "instruction.neepmeat.say.desc": "将所给字符串发送给20格内的所有玩家。\n若未指定字符串,则弹出并打印栈顶元素。\n在末尾加上§6d§f、§6h§f、§6b§f会分别将栈顶元素格式化为十进制、十六进制、二进制。", @@ -897,7 +925,7 @@ "instruction.neepmeat.robot.desc": "选择ARG1处的操作机构。后续所有指令均以之为操作机构,直至再次指定。", "instruction.neepmeat.exec.desc": "在ARG1处的执行器处运行指令ARG2。", "instruction.neepmeat.combine.desc": "取出存储空间ARG1中的一个物品,并将其与工作站ARG2中物品结合。", - "instruction.neepmeat.move.desc": "尝试从存储空间ARG1中移动一个物品堆叠至存储空间ARG2。", + "instruction.neepmeat.move.desc": "尝试从存储空间ARG1中将给定数量个物品移动至存储空间ARG2。未指定数量则默认为64。将成功与否压入栈。\n §6ARG1§f:源存储空间(世界目标)\n §6ARG2§f:目标存储空间(世界目标)\n §6ARG3§f:数量(整数,可选)\n §6ARG4§f:物品ID(字符串,通配符为“*”,可选)", "instruction.neepmeat.implant.desc": "取出存储空间ARG1中的一个物品,并将其植入实体ARG2。", "instruction.neepmeat.inject.desc": "取出存储空间ARG1中的流体,并注射入工作站ARG2中的物品。", "instruction.neepmeat.wait_redstone.desc": "等待至ARG1处红石接口信号强度大于零。", @@ -907,7 +935,7 @@ "instruction.neepmeat.neepbus_read.desc": "读取相连NEEP总线网络中所给地址处设备的值。\n §6ARG1§f:目标地址(字符串)", "instruction.neepmeat.route.desc": "使用管道驱动器(需为当前操作机构)请求所给名称的物品。\n该物品会从给定§6管道§f和§6输入方向§f运输至给定§6管道§f和§6输出方向§f。运输数量读取自栈,并将操作成功与否压入栈。\n §6ARG1§f:输入管道(世界目标)\n §6ARG2§f:输出管道(世界目标)\n §6ARG3§f:物品ID(字符串,通配符为“*”)", "instruction.neepmeat.request.desc": "使用管道驱动器(需为当前操作机构)请求所给名称的物品。\n该物品会通过管道网络运输至给定§6管道§f和§6输出方向§f。运输数量读取自栈,并将请求成功与否压入栈。\n §6ARG1§f:输出管道(世界目标)\n §6ARG2§f:物品ID(字符串,通配符为“*”)", - "instruction.neepmeat.count.desc": "统计所给世界目标处物品的数量,并压入栈。若指定物品ID,则只会统计该类型的物品。\n §6ARG1§f:存储空间(世界目标)\n §6ARG2§f:物品ID(字符串,可选)", + "instruction.neepmeat.count.desc": "统计所给世界目标处物品或流体的数量,并压入栈。\n具体统计何种类型的资源由可选的第二参数指定。\n若指定ID,则只会统计匹配该ID的物品或流体。“*”代表任意字符串(如“*:water”和“minecraft:*”)。\n §6ARG1§f:存储空间(世界目标)§6\n §6ARG2§f:需统计的类型(ITEM或FLUID,可选)\n §6ARG3§f:物品ID或流体ID(字符串,可选)", "category.neepmeat.instruction.arithmetic": "算术", "category.neepmeat.instruction.comparison": "比较", @@ -949,7 +977,7 @@ "screen.neepmeat.limiter_valve.text.mb": "mB/t", "screen.neepmeat.limiter_valve.text.mb_info": "毫桶每刻(1B = 1000mB)", "screen.neepmeat.limiter_valve.text.ej_t": "eJ/t", - "screen.neepmeat.limiter_valve.text.ej_t_info": "奥秘焦耳每刻,以缥缈燃液为基准(1B = 162000eJ)", + "screen.neepmeat.limiter_valve.text.ej_t_info": "奥秘焦耳每刻,以瞬变浆液为基准(1B = 162000eJ)", "screen.neepmeat.power_limiter_valve": "高级限流阀", "screen.neepmeat.power_limiter_valve.lore_0": "可根据功率限流。", @@ -1002,6 +1030,7 @@ "component.neepmeat.tree_vacuum": "真空吸树机", "component.neepmeat.large_compressor": "大型压缩机", "component.neepmeat.stomach": "胃囊", + "component.neepmeat.metaboliser_segment": "代谢机工作段", "component.neepmeat.charnel_pump": "积骸泵", "component.neepmeat.extractor": "采集提取机", "component.neepmeat.hopper": "漏斗", @@ -1011,6 +1040,7 @@ "component.neepmeat.fluid_output": "流体输出端口", "component.neepmeat.lucky_one": "幸运儿", + "category.neepmeat.general.energy": "加工能耗:%d", "category.neepmeat.pressing": "压制", "category.neepmeat.grinding": "粉碎", "category.neepmeat.advanced_crushing": "高级粉碎", @@ -1021,7 +1051,6 @@ "category.neepmeat.ore_fat": "矿石脂肪处理", "category.neepmeat.compacting": "积骸压缩", "category.neepmeat.mixing": "混合", - "category.neepmeat.mixing.time": "时间:%ds(1000eJ/t)", "category.neepmeat.alloy_smelting": "合金冶炼", "category.neepmeat.alloy_smelting.time": "时间:%ds", "category.neepmeat.vivisection": "活体解剖", @@ -1178,5 +1207,23 @@ "category.neepmeat.thord.arithmetic": "数学", "category.neepmeat.thord.comparison": "比较", "category.neepmeat.thord.flow_control": "流程控制", - "category.neepmeat.thord.misc": "杂项" + "category.neepmeat.thord.misc": "杂项", + "screen.neepmeat.vascular.priority": "优先级", + "screen.neepmeat.vsc.text.mode": "模式", + "screen.neepmeat.vsc.normal.desc": "正常:从源网络中抽取给定量的功率,并送入目标网络。", + "screen.neepmeat.vsc.balance.desc": "平衡:脉管能源转换器会尝试将目标网络中的可用功率保持在给定量。多余的功率会被送回源网络。", + "screen.neepmeat.vsc.cut_off": "功率不足时不传输", + + "death.attack.neepmeat.crusher": "%1$s被绞成了嵌着肉块的番茄酱", + "death.attack.neepmeat.mincer": "%1$s被磨成了汤状的匀浆", + + "process.neepmeat.disruptor": "扰乱机", + "process.neepmeat.trommel": "滚筒筛", + "process.neepmeat.metaboliser": "代谢机", + "process.neepmeat.crusher": "粉碎机", + "process.neepmeat.large_compressor": "大型压缩机", + "process.neepmeat.phage_ray": "吞噬射线炮", + "process.neepmeat.charnel_pump": "积骸泵", + "process.neepmeat.bioreactor": "生物反应机", + "process.neepmeat.tree_vacuum": "真空吸树机" }