Skip to content

Instantly share code, notes, and snippets.

@andrboot
Created August 23, 2019 22:45
Show Gist options
  • Save andrboot/7b1eac25ac412fce1a683effd99ac01b to your computer and use it in GitHub Desktop.
Save andrboot/7b1eac25ac412fce1a683effd99ac01b to your computer and use it in GitHub Desktop.
# Configuration file
tiquality {
# When a tracker is being throttled, we can send a notification to the user.
# How often do you want the user to receive a message about his/her personal tick speed?
#
# Note: If you don't want to send a message at all, set DEFAULT_THROTTLE_WARNING_LEVEL to 1.
# Min: 0
# Max: 2147483647
I:DEFAULT_THROTTLE_WARNING_INTERVAL_SECONDS=600
# When a tracker is being throttled, we can send a notification to the user.
# Throttling is measured by comparing the full tick cycles within ticking queues and comparing that to the server ticks.
# Every 100 server ticks the amount of completed full ticks of the tracker is compared.
#
# If the tracker is falling behind (actively throttling) the value for this tracker gets closer to zero. In
# comparison, a tracker that runs at full speed will have a value of 1 (100%)
# Whenever the value falls below the value specified here, a warning will be sent to the tracker
#
# There's currently a limitation making warning levels between 0.5 and 1.0 unreliable. (Between 50% and 100% speed)
#
# Set to 1 to disable
#
# Note: If the server is ticking at 18 TPS, the tracker can still have a value of 1. Server tick speed does not impact this value.
# Min: 0.0
# Max: 1.0
D:DEFAULT_THROTTLE_WARNING_LEVEL=0.5
# Define a maximum square range someone can claim using /tq claim [range].
# This will also be the default value for usage of /tq claim [range] without the range argument
I:MAX_CLAIM_RADIUS=50
# Tiquality pre-allocates the max tick time someone can use.
# This includes offline players (Loaded chunks with an offline player's base, for example)
# With this in mind, what multiplier should we use to assign tick time to them?
#
# Where 0 means offline player's base does not get any pre-allocated tick time and 1 means they will get the same tick time as an online player.
# Keep in mind that people might be living together...
# Min: 0.0
# Max: 1.0
D:OFFLINE_PLAYER_TICK_TIME_MULTIPLIER=0.5
# Tiquality stores data in every affected chunk, but it's possible
# tiquality's data can get corrupted somehow. In order to still be able to use tiquality
# without resetting your world, we can store data in a different tag in the chunk.
#
# WARNING: Changing this value will erase previous data saved by tiquality, but will not
# affect other data (Your world stays intact, but tiquality has a clean slate)
#
# Just increase this number by one if you run into problems. Don't forget to submit a
# detailed bug report on Github if you run into unexpected problems.
#
# New versions of Tiquality with incompatible storage data will override this setting for you automatically.
I:SAVE_VERSION=0
# Between ticks, the server must do some internal processing.
# Increase this value if you see "can't keep up!" errors.
# Try to keep this value as low as possible for performance.
# Min: 0
# Max: 2147483647
I:TIME_BETWEEN_TICKS_IN_NS=90000
##########################################################################################################
# block_tick_behavior
#--------------------------------------------------------------------------------------------------------#
# A block will tick if at least one of the following statements is true:
# - There's a Tracker assigned and the tracker has enough time to tick the block
# - The block is defined in the config NATURAL_BLOCKS and there's no tracker assigned to it
# - The block is defined in the config NATURAL_BLOCKS and the tracker has enough time to tick the block
# - The block is defined in the config ALWAYS_TICKED_BLOCKS It will tick even if a tracker has been assigned that ran out of time. Note that this will still consume the time on the tracker.
#
# Try running `/tq set <below|feet> DEFAULT`. It will remove the block from the config, returning default behavior.
# Try running `/tq set <below|feet> NATURAL`. It will add the block to the config under NATURAL_BLOCKS.
# Try running `/tq set <below|feet> PRIORITY`. It will add the block to the config under PRIORITY_BLOCKS.
# Try running `/tq set <below|feet> ALWAYS_TICK`. It will add the block to the config under ALWAYS_TICKED_BLOCKS.
# Try running `/tq set <below|feet> TICK_DENIED`. It will add the block to the config under TICK_DENIED_BLOCKS.
#
# Protip: Use /tq info first, to see if you are actually positioned on the block correctly.
#
# For nicer formatting, see: https://github.com/TerminatorNL/Tiquality/blob/master/README.md#my-blocks-dont-tick-what-do-i-do
##########################################################################################################
block_tick_behavior {
# Some blocks, you simply don't want to be throttled, ever. For example: piston extensions.
# Tiquality will still attempt to tick them per player, but if the player runs out of tick time, it will still tick these blocks.
# Items in this list are also appended to NATURAL_BLOCKS through code, there is no need to define blocks twice.
S:ALWAYS_TICKED_BLOCKS <
minecraft:piston_extension
minecraft:piston_head
minecraft:portal
>
# Some blocks are automatically generated in the world, but do require ticking in order to function properly.
# Define the blocks you wish to keep tick when the block has not been assigned an owner yet.
# Keep in mind, if there is an owner set on this block, the block can be throttled. See: ALWAYS_TICKED_BLOCKS
S:NATURAL_BLOCKS <
minecraft:mob_spawner
minecraft:chest
minecraft:ender_chest
minecraft:trapped_chest
REGEX=leaves
REGEX=sapling
REGEX=flowing
minecraft:snow_layer
minecraft:ice
minecraft:water
minecraft:lava
minecraft:grass
minecraft:sand
minecraft:gravel
minecraft:beetroots
minecraft:wheat
minecraft:carrots
minecraft:potatoes
minecraft:reeds
minecraft:farmland
minecraft:fire
minecraft:cocoa
minecraft:cactus
minecraft:double_plant
>
# When people run bases, you can prioritize which blocks have to be updated first. Unlinke
# ALWAYS_TICKED_BLOCKS, PRIORITY_BLOCKS can be throttled.
S:PRIORITY_BLOCKS <
>
# Blocks you never want to tick are defined here. Useful for stopping dupes or game breaking lag without banning recipes!
S:TICK_DENIED_BLOCKS <
industrialrenewal:fluid_pipe
>
}
##########################################################################################################
# entity_tick_behavior
#--------------------------------------------------------------------------------------------------------#
# Entity handling is a bit different than blocks. DEFAULT behavior is the same as NATURAL in blocks.
##########################################################################################################
entity_tick_behavior {
# Some entities, you simply don't want to be throttled, ever.
# Tiquality will still attempt to tick them per player, but if the player runs out of tick time, it will still tick these entities.
# Players are hardcoded to be in this category.
S:ALWAYS_TICKED_ENTITIES <
>
# When people run bases, you can prioritize which entities have to be updated first. Unlike
# ALWAYS_TICKED_ENTITIES, PRIORITY_ENTITIES can be throttled.
# If you put 'minecraft:item' here, it will be easier for players to pick them up etc. Recommended.
S:PRIORITY_ENTITIES <
minecraft:item
minecraft:falling_block
>
# Entities you never want to tick are defined here. Useful for stopping dupes or game breaking lag without banning recipes!
S:TICK_DENIED_ENTITIES <
industrialrenewal:fluid_pipe
>
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment