Skip to content

Redstone Tweaks 0.6 for Minecraft 1.16.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@SpaceWalkerRS SpaceWalkerRS released this 25 Aug 20:07
b3ee041

! THIS MOD IS STILL IN BETA !

To avoid potential world corruption or other issues, please use this mod on a fresh world or a backup of your world.

Changes in 0.6.1

Since this is the first public release, a comprehensive list of all features can be found below.

Installation

  • Download and install Fabric for 1.16.2.
  • Put the mod jar in the /.minecraft/mods/ folder.
  • Launch the Fabric installation and enjoy the mod!

*Fabric API is NOT required.
**Compatibility with other mods is NOT guaranteed.

Functionality

Every Redstone Tweaks feature is accessible through the /tweak command. The general syntax of the command is /tweak <SettingsPack> <Setting> [<newValue>]. If no value is given the current value is returned.
A settingspack is a collection of settings. While most settingspacks contain settings for a single block, like repeaters or sticky pistons, there are also settingspacks for global settings and bug fixes.

Settings

All settings are server-side and stored /redstonetweaks/settings.txt inside the world save.

Some settings are available for many blocks. To avoid repeating the same information a description of those settings is given below.

  • delay: delay of a block in ticks. If the block has both a rising and a falling edge, the delay can be changed for both individually using the following syntax: /tweak <SettingsPack> delay [<risingEdge>] [<fallingEdge>]. Otherwise the delay can be changed with the default syntax: /tweak <SettingsPack> delay [<newValue>].
  • lazy: if a block has delay, it usually checks for power both on the initial neighbor update and when it is ticked after the delay. Enabling the lazy setting will make the block forgo that last check and change state solely based on its current state.
    An example of this behavior is repeaters. In vanilla, repeaters are lazy on the rising edge. This allows them to react to pulses shorter than its delay. A repeater will power on even when given a 0 or 1 tick pulse, whereas comparators and torches cannnot.
  • power: the output strength of a power component, split into weak and strong power. Weak power is picked up directly by other redstone components, while strong power is only detected through solid blocks. The power of a block can be changed using the following syntax: /tweak <SettingsPack> power [<weakPower>] [<strongPower>].
  • quasiConnectivityDown, quasiConnectivityEast, quasiConnectivityNorth, quasiConnectivitySouth, quasiConnectivityUp, quasiConnectivityWest: when enabled, a block checks for power to its neighbor in the given direction. By default only quasiConnectivityUp is enabled for pistons, droppers and dispensers.
  • randomizeQuasiConnectivity: when enabled, quasi connectivity works randomly in all directions the regular quasi connectivity setting is enabled.
  • tickPriority: tick priorities influence the update order of blocks that have delay. Values between -3 and 3 can be given, where the lower the value, the higher a block's priority on the tick-list. If the block has both a rising and a falling edge, the tickPriority can be changed for both individually using the following syntax: /tweak <SettingsPack> tickPriority [<risingEdge>] [<fallingEdge>]. Otherwise the tickPriority can be changed with the default syntax: /tweak <SettingsPack> tickPriority [<newValue>].

A list of every settingspack and its available settings can be found below.

Activator/powered rail

activator_rail, powered_rail

  • delay
  • lazy
  • powerLimit: the maximum distance power will flow through the rails, measured from the source.
  • tickPriority

Bubble column

bubble_column

  • delay
  • tickPriority

Button

stone_button, wooden_button

  • delay
  • power
  • tickPriority

Command block

command_block

  • delay
  • tickPriority

Comparator

comparator

  • additionMode: when enabled, turns subtract mode into "addition mode", meaning the comparator's output is the sum of the side input and the back input.
  • delay
  • redstoneBlocksPowerSides: when enabled, redstone blocks can power the sides of comparators.
  • tickPriority
  • facingDiodeTickPriority: the tick priority of a comparator facing another comparator or repeater.

Detector rail

detector_rail

  • delay
  • power
  • tickPriority

Dispenser/dropper

dispenser, dropper

  • delay
  • lazy
  • quasiConnectivityDown, quasiConnectivityEast, quasiConnectivityNorth, quasiConnectivitySouth, quasiConnectivityUp, quasiConnectivityWest
  • randomizeQuasiConnectivity
  • tickPriority

Gravity blocks

gravity_block

  • delay: the delay in ticks before gravity affected blocks start falling.
  • tickPriority

Hopper

hopper

  • delay: for hoppers, delay acts as a multiplier on the vanilla delay. This will change in the future.

Lava

lava

  • delay: the default tick rate of lava spreading.
  • netherDelay: the tick rate of lava spreading in the nether.
  • tickPriority

Leaves

leaves

  • delay
  • tickPriority

Lever

lever

  • delay
  • power
  • tickPriority

Magenta glazed terracotta

magenta_glazed_terracotta

  • isPowerDiode: when enabled, power directed at this block can only flow in the direction of the arrow at the top of the block. Additionally, power from a redstone wire on top of the block will only flow in the direction of the arrow at the top of the block.

Note block

note_block

  • delay: the number of ticks before it plays a note.
  • lazy
  • tickPriority

Observer

observer

  • delay
  • disable: disables observers
  • power
  • tickPriority

Pistons

normal_piston, sticky_piston

  • connectsToWire: when enabled, redstone wire will connect to any of its sides other than its face, even when retracting.
  • delay: the delay in ticks before the piston starts extending/retracting.
  • doBlockDropping (for sticky pistons only): when enabled, sticky pistons will drop the block they're pushing if given a short pulse.
  • fastBlockDropping (for sticky pistons only): when enabled, sticky pistons will instantly place the block they drop, rather than allowing it to complete its movement (enabled by default).
  • forceUpdateWhenPowered: when enabled, any pistons that are powered but unable to push will receive an update each tick until they are able to extend.
  • hasFullSolidSides: when enabled, brittle blocks like rails, doors, torches, etc. can be placed on any side of the piston base, whether it's extended, retracted or retracting.
  • headUpdatesOnExtension: when enabled, neighbor updates are sent to blocks adjacent to the piston head at the start of the extension (enabled by default).
  • ignoreUpdatesWhenExtending: when enabled, pistons ignore all neighbor updates when extending. This means they will always complete the extension before they are able to start retracting, even when given a short pulse.
  • lazy
  • quasiConnectivityDown, quasiConnectivityEast, quasiConnectivityNorth, quasiConnectivitySouth, quasiConnectivityUp, quasiConnectivityWest
  • randomizeQuasiConnectivity
  • speed: the number of ticks it takes for a piston to extend/retract. As with delay, it is possible to configure the speed on the rising and falling edge individually using the following syntax: /tweak <SettingsPack> speed [<risingEdge>] [<fallingEdge>].
  • tickPriority
  • pushLimit: the maximum number of blocks a piston is able to move.

Pressure plates

stone_pressure_plate, wooden_pressure_plate

  • delay
  • power
  • tickPriority

Redstone block

redstone_block

  • power

Redstone lamp

redstone_lamp

  • delay
  • lazy
  • tickPriority

Redstone torch

redstone_torch

  • burnoutCount/burnoutTimer: a redstone torch must depower burnoutCount number of times within burnoutTimer amount of ticks to burn out.
  • burnoutDelay: the number of ticks for which the torch will be burned out.
  • delay
  • lazy
  • power
  • softInversion: an implementation of the Bedrock Edition behavior by the name of "soft inversion", where redstone torches attached to a piston base depower if the piston is powered.
  • tickPriority
  • burnoutTickPriority: the tick priority of the burnoutDelay.

Redstone wire

redstone_wire

  • delay
  • directionalUpdateOrder: when enabled, redstone wire will update neighboring blocks in a directional order (the same as redstone torches) rather than a locational order.
  • invertFlowOnGlass: when enabled, power can flow from a wire block on top of glass down to wire blocks next to the glass block, but not from a wire block next to glass up to a wire block on top of the glass (in vanilla it's the other way around).
  • randomUpdateOrder: when enabled, redstone wire will update neighboring blocks in a random order rather than a locational order. This setting will override the directionalUpdateOrder setting.
  • slabsAllowUpConnection: when enabled, redstone wire next to slabs (and other non-full blocks) can visually and logicall connect to wire blocks on top of that block (enabled by default).
  • tickPriority

Repeater

repeater

  • delay
  • lazy
  • power
  • tickPriority
  • facingDiodeTickPriority: the tick priority of a repeater facing another repeater or comparator.

Scaffolding

scaffolding

  • delay
  • tickPriority

Target block

target_block

  • delay: the default delay before turning off after being hit.
  • persistentProjectileDelay: the delay before turning off after being hit by a persistent projectile (arrows, tridents).
  • tickPriority
  • persistentProjectileTickPriority

TNT

tnt

  • delay: the number of ticks between the tnt being ignited and it spawning a tnt entity.
  • fuseTime: the number of ticks between the tnt block spawning a tnt entity and the tnt entity exploding.
  • lazy
  • tickPriority

Tripwire hook

tripwire_hook

  • delay
  • power
  • tickPriority

Tripwire

tripwire

  • delay
  • tickPriority

Water

water

  • delay: the tick rate of water spreading.
  • tickPriority

Weighted pressure plates

heavy_weighted_pressure_plate, light_weighted_pressure_plate

  • delay
  • tickPriority
  • weight: the number of entities needed for the pressure plate to emit a power of 15.

Bugfixes

bug_fixes
For any bug, a link to its report on the Mojira bug tracker can be queried through /tweak bug_fixes <BugID> report.

  • MC-54711: "Quick pulses get lost in some repeater setups"
  • MC-120986: "Comparators do not update correctly in some cases"*
  • MC-136566: "When a piston retracts an active observer and is immediately repowered, it does not extend."
  • MC-137127: "Observers do not react to pulsing pistons correctly when they're retracting an observer facing away from it."
  • MC-172213: "Redstone components lose 1 tick of delay when (de-)activated by a player input"

*Only the cases where blocks are moved are fixed.

Global

global

  • delayMultiplier: multiplies the delays of all blocks by the given value.
  • doBlockUpdates: when enabled, allows the world to send out block updates.
  • doStateUpdates: when enabled, allows the world to send out state updates.
  • doComparatorUpdates: when enabled, allows the world to send out comparator updates.
  • doubleRetraction: a reintroduction of the 1.3-1.8 behavior known as "double retraction" or "jeb retraction", where sticky pistons are able to retract other retracting pistons in certain situations.
  • randomizeBlockEvents: randomizes the order in which block events are processed.
  • randomizeScheduledTickDelays: randomizes the delays of any ticks that are scheduled.
  • randomizeTickPriorities: randomizes the tick priorities of any ticks that are scheduled.
  • showProcessingOrder: when an interval larger than 0 is given, the world tick is broken down in steps that are executed at the given interval. An label at the top left will display the current world tick, the world that is currently being ticked, and the task that is currently being executed.
    showNeighborUpdates: when used in combination with showProcessingOrder, any neighbor updates will be scheduled and executed one by one. A box will be rendered at the location that is receiving the block update. A yellow box signals a block update, a blue box signals an observer update, and a red box signals a comparator update. The white box is the notifier, while the white outline box is rendered at the source of the neighbor update.
    This feature was heavily inspired by this video by Eddxample.