make macing/shield mechanic even more OP and add testserver
Some checks failed
Compile / gradle (ubuntu-latest) (push) Has been cancelled

This commit is contained in:
Justus Wolff
2026-03-05 15:44:16 +01:00
parent eab7fc2380
commit b553e36819
310 changed files with 90910 additions and 31 deletions

View File

@@ -0,0 +1,5 @@
{
"hashes": {},
"skippedHashes": [],
"mappingsHash": "5028247881868F33795961B8387BB1B13C018B83E4523A77C8A8D8EFCD8F6FEE"
}

View File

@@ -0,0 +1,8 @@
{
"hashes": {
"EEAFDBEC5BC7A3D0B47FFB3A12039480F6B52A95D6BA21C2E122023268DCE1F9": "Citizens-2.0.41-b4130.jar",
"1797CA35C454267CB88C7840F006B00FB647C24520753E06DDB2044C2A1B4342": "TerminatorPlus-4.5.1-BETA.jar"
},
"skippedHashes": [],
"mappingsHash": "5028247881868F33795961B8387BB1B13C018B83E4523A77C8A8D8EFCD8F6FEE"
}

View File

@@ -0,0 +1,12 @@
{
"hashes": {},
"skippedHashes": [
"317A1C26252DA2C6F5CB32454E2995F6B93940F09C6642969A330C6B9FF67342",
"EBA37290994B5E4868F3AF98FF113F6244A6B099385D9AD46881307D3CB01AAF",
"BF19510145178DF82CD3BD37EDD514C13F411531EC5545299FD3ABCBC98FE7C2",
"95B3A439DC3E45669A3C2B49F2324D5D1956D2EF2FC294B0D7B454981DD74AFF",
"61666DBCE7E42E6C85B43C04FCFB8293A21DCB55B3C80E869270CE42C01A6B35",
"2D0D127BCEAF33D05F65BCAD116AC3330C80E3FA1515AB41953E2BFD24B93622"
],
"mappingsHash": "5028247881868F33795961B8387BB1B13C018B83E4523A77C8A8D8EFCD8F6FEE"
}

View File

@@ -0,0 +1,5 @@
{
"hashes": {},
"skippedHashes": [],
"mappingsHash": "5028247881868F33795961B8387BB1B13C018B83E4523A77C8A8D8EFCD8F6FEE"
}

Binary file not shown.

View File

@@ -0,0 +1,266 @@
# Citizens Configuration
npc:
# Always use holograms for names instead of only for hex colors / placeholders
always-use-name-holograms: false
default:
# The default bossbar range, in blocks
bossbar-view-range: 64
# The default distance radius for block breaking, in blocks
# The NPC will pathfind to be this far away from the target block if greater than 0
block-breaker-radius: -1
waypoints:
# Whether to cache /npc path by default
# Can eliminate pathfinding for repetitive static paths
cache-paths: false
look-close:
# Enable look close by default
enabled: false
# Default look close range in blocks
range: 10
# Default random look close enabled
random-look-enabled: false
# Default random look delay
random-look-delay: 3s
# Default to checking for line of sight when looking at players
realistic-looking: false
# Whether to disable look close while pathfinding
disable-while-navigating: true
talk-close:
# Default talk to nearby players
random-talker: false
enabled: false
# Default talk close range in blocks
range: 5
text:
- Hi, I'm <npc>!
# Default duration of invincibility on entity spawn, Minecraft default is 20 ticks
spawn-invincibility-duration: 1s
# The default cost to create an NPC
npc-cost: 100.0
# Whether to reset NPC yaw on spawn
# Currently this is implemented by an arm swing animation due to Minecraft limitations
reset-yaw-on-spawn: true
enable-scoreboard-teams: true
chat:
options:
# Whether nearby players also hear text, even if targeted at a specific player
bystanders-hear-targeted-chat: false
# Number of target names to show to bystanders
max-number-of-targets-to-show: 2
multiple-targets-format: <target>|, <target>| & <target>| & others
# Nearby player range in blocks
range: 5
# Whether to talk to NPCs (and therefore bystanders) as well as players
talk-to-npcs: true
format:
# The default text format (placeholder enabled)
no-targets: '[<npc>]: <text>'
# The default text format for nearby players (placeholder enabled)
with-target-to-bystanders: '[<npc>] -> [<target>]: <text>'
# The default text format for targeted text (placeholder enabled)
to-target: '<npc>: <text>'
# The default text format for nearby players (placeholder enabled)
with-targets-to-bystanders: '[<npc>] -> [<targets>]: <text>'
pathfinding:
citizens:
# Number of blocks to pathfind per tick
blocks-per-tick: 250
# Duration of time to keep chunks used in async pathfinding in memory for.
# Decrease this value if you expect chunks to be changed rapidly during pathfinding, or increase it if chunks rarely change during pathfinding at the expense of memory.
async-chunk-cache-expiry: 5s
# Whether to check bounding boxes when pathfinding such as between fences, inside doors, or other half-blocks
check-bounding-boxes: false
# Whether to simulate jumping while pathfinding - increases pathfinding CPU cost.
# Async pathfinder recommended. Still experimental.
experimental-jumps: false
# The maximum number of blocks to check when pathfinding
maximum-search-blocks: 1024
# Whether to open doors while pathfinding (should close them as well)
open-doors: false
# Debug pathfinding by showing fake target blocks
debug-paths: false
# The default distance in blocks where the NPC will just teleport to the destination
# Useful when trying to get exactly to the destination
default-destination-teleport-margin: -1
# The default MOVEMENT distance in blocks where the NPC will move to before considering a path finished
# Note: this is different from the PATHFINDING distance which is specified by path-distance-margin
default-distance-margin: 1
# Default PATHFINDING distance in blocks where the NPC will consider pathfinding complete
# Note: this is different from the MOVEMENT distance, which is specified by the distance-margin
# Set to 0 if you want to try pathfind exactly to the target destination
default-path-distance-margin: 0
# How often to repathfind when targeting a dynamic target such as an entity
update-path-rate: 1s
# The default pathfinding range in blocks
# Shouldn't be set too high to avoid lag - try pathfinding in shorter segments instead
default-range-blocks: 100.0
# Default duration in the same location before the NPC considers itself stuck and failed pathfinding
default-stationary-duration: -1
# The distance in blocks where the NPC will switch to walking straight towards the target instead of pathfinding
# Currently only for dynamic targets like entities
straight-line-targeting-distance: 5
# The default action to perform when NPCs are unable to find a path or are stuck in the same block for too long
# Supported options are: 'teleport to destination' or 'none'
default-stuck-action: none
minecraft:
# Minecraft will pick a 'close-enough' location when pathfinding to a block if it can't find a direct path
# Disabled by default
disable-fallback-navigation: true
# The maximum number of blocks to check when pathfinding
maximum-search-blocks: 1024
# The range in blocks before attacking the target
attack-range: 1.75
# The default allowed maximum fall distance when pathfinding, set to -1 to use the default value
allowed-fall-distance: -1
# The pathfinder type.
# Valid options are: CITIZENS, CITIZENS_ASYNC or MINECRAFT.
# CITIZENS_ASYNC is a new option that is faster but requires more than one processor core and more memory.
pathfinder-type: MINECRAFT
controllable:
# The percentage to increase speed when controlling NPCs on the ground
ground-direction-modifier: 1.0
# The maximum flying speed that controllable NPCs can reach, in Minecraft velocity units
max-flying-speed: 0.75
# The maximum speed that controllable NPCs can reach, in Minecraft velocity units
max-ground-speed: 0.5
# Whether to change vehicle direction with movement instead of strafe controls
use-boat-controls: true
hologram:
# The default renderer for holograms, must be one of the following:
# interaction - requires 1.19+, matches nametags more closely than display
# display - allows for different colored backgrounds
# display_vehicle - mounts the display on the NPC
# areaeffectcloud - the safest option
# armorstand - the second safest option, has a hitbox clientside
# armorstand_vehicle - mounts the armorstand on the NPC, only useful for nameplates
default-renderer: display
default-renderer-settings:
seeThrough: false
shadowed: true
billboard: CENTER
interpolationDelay: 0
interpolationDuration: 0
# Default distance between hologram lines
default-line-height: 0.4
# Whether to always update the hologram position every tick
always-update-position: false
# How often to update hologram names (including placeholders)
update-rate: 1s
limits:
# Default maximum number of NPCs owned by a single player (give the citizens ignore-limits permission to skip this check)
default-limit: 10
# How many permissions to check when creating NPCs
# Only change if you have a permission limit greater than this
max-permission-checks: 100
text:
# Default maximum delay when talking to players
default-random-text-delay-max: 10s
# Default minimum delay when talking to players
default-random-text-delay-min: 5s
# Default duration that speech bubbles show up for
speech-bubble-duration: 50t
# The item filter to talk with
talk-item: '*'
tablist:
# Whether to remove NPCs from the tablist
disable: true
# How long to wait before sending the tablist remove packet
remove-packet-delay: 2t
follow:
# Whether /npc follow will teleport across worlds to follow its target
teleport-across-worlds: false
skins:
# How long to wait before sending skins to joined players
player-join-update-delay: 1s
# How many times to try load NPC skins (due to Minecraft rate-limiting skin requests, should rarely be less than 5
max-retries: -1
# Whether to try and look for the player skin for all new NPCs
# If this is set to false and you create an NPC named Dinnerbone, the NPC will have the default (steve/alex/etc) skin rather than trying to fetch the Dinnerbone skin
try-fetch-default-skin: true
# How long before retrying skin requests (typically due to Mojang rate limiting)
retry-delay: 5s
rotation-update-degrees: 90.0
# Whether to fetch new skins from Minecraft every so often
use-latest-by-default: false
# View distance in blocks
view-distance: 100
# How often to update skin placeholders
placeholder-update-frequency: 5m
chunks:
# Whether to keep NPC chunks loaded
always-keep-loaded: false
commands:
# The global cooldown before a command can be used again, must be in seconds
global-cooldown: 1s
error-messages:
global-maximum-times-used: You have reached the maximum number of uses ({0}).
maximum-times-used: You have reached the maximum number of uses ({0}).
missing-item: Missing {1} {0}
no-permission: You don't have permission to do that.
not-enough-experience: You need at least {0} experience.
not-enough-money: You need at least ${0}.
on-cooldown: Please wait for {minutes} minutes and {seconds_over} seconds.
on-global-cooldown: Please wait for {minutes} minutes and {seconds_over} seconds.
movement:
# Movement speed percentage increase while in water
water-speed-modifier: 1.15
# Use packet NPCs for name holograms (experimental)
use-packet-holograms: false
packets:
update-delay: 30
player:
# Whether to remove NPCs from the Java list of players
remove-from-list: true
selection:
# The default item in hand to select an NPC
item: stick
message: Selected [[<npc>]] (ID [[<id>]]).
# Whether the server owns NPCs rather than individual players
server-ownership: false
shops:
default-item:
max-repeats-on-shift-click: ''
result-message: ''
already-purchased-message: ''
lore: ''
name: ''
times-purchasable: ''
cost-message: ''
click-to-confirm-message: ''
# The global view permission that players need to view any NPC shop
# Defaults to empty (no permission required).
global-view-permission: ''
# Whether to add default item description placeholders for all shop items by default.
add-default-item-description: false
general:
authlib:
# Search for gameprofiles using this URL
profile-url: https://sessionserver.mojang.com/session/minecraft/profile/
# Send Citizens debug output to a specific file
debug-file: ''
# Enable Citizens debugging
debug-mode: false
# Entities are no longer spawned until the chunks are loaded from disk
# Wait for chunk loading for one second by default, increase if your disk is slow
wait-for-entity-spawn: 1s
color-scheme:
message-error: <red>
message-highlight: <yellow>
message: <green>
translation:
# Controls translation files - defaults to your system language, set to 'en' if English required
locale: ''
# Whether to reset formatting on color change.
# Emulates old color code behavior.
reset-formatting-on-color-change: false
# The resource pack path to save resource packs to
resource-pack-path: plugins/Citizens/resourcepack
reload-warning-enabled: true
advanced:
# Whether to check the minecraft version for compatibility (do not change)
check-minecraft-version: true
storage:
# How often to save NPCs to disk
save-task-frequency: 1hr
file: saves.yml

View File

@@ -0,0 +1,47 @@
# Citizens NPC Storage
last-created-npc-id: 211
npc:
'209':
metadata:
cached-skin-uuid: 1e38ae28-e424-432d-8e34-288ddf82b553
keep-chunk-loaded: true
protected: false
damage-others: true
drops-items: true
cached-skin-uuid-name: angreifer
knockback: true
pathfinder-open-doors: true
fluid-pushable: true
pickup-items: true
collidable: true
traits:
scoreboardtrait:
tags:
- CITIZENS_NPC
spawned: true
skintrait:
signature: bE/VcWe2u+3+TJKswoAo8mtXrfC8EWPLculVEa6QnNd+vw+Rz1Y702XgsJ+zD+mm9EARhS3CdBKKl/b82EvY+08AGugvj6d/lB3usUx21Koyz9jLhuS3D5Ju6QZuzvhrMjt3JnRygXsA/W4We3A/eTLQ7Yk85KgjanabPmA1VNG+6ak4ik4rfKipzipOHs+c3dQbTVOkvvA7BN7yYly2EWXWIKM0wbq3Vorh+Z352iJZ5lA5FR8jTbg5f8haFrECSlhgfqsPLcGoIsNXZmEnXCoVxhV8pA/MSsgNreWtBvrxPvMw4SjQ+wuroS4I/bLiiUap5oBFeqvewC8OGgBI7P26xs7+Io3x0GNhELS15l0LQnrQDe/9VyNYf3QUmUfO4/qzAkn5965835Ib585revpug7BKYRU1arAoz/pCW5+SOO1Jn7bva4fW6nUogis5EYnKh8XWZXZUsAHLM4yr6cinXe1ZKO2Fsa4DVPV+8tFiwbAeJkvAfI1iNK1IF9iI0c3T5y89goEfYzQ6aTecoMSnKDhp8NyZjCDXbEtQcc+vEAVsPR9y/ccTDmaGrndhP8SlINqc/XXx284VeFBAIY0zpbUmca3Y+MIpTjlvsv1EBrC6hfsmnXKBkkXW8cRcCp5dcQYU4TCTYg2pVnyTlcs9KTDye8gMUNNdeHmWc2E=
fetchDefaultSkin: true
skinName: angreifer
updateSkins: false
modelType: WIDE
textureRaw: ewogICJ0aW1lc3RhbXAiIDogMTc3MjcyMTYzNTI5NywKICAicHJvZmlsZUlkIiA6ICIxZTM4YWUyOGU0MjQ0MzJkOGUzNDI4OGRkZjgyYjU1MyIsCiAgInByb2ZpbGVOYW1lIiA6ICJBbmdyZWlmZXIiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzk0MzM5MTE0ODU2MTA3YTc1MGRlMTMxMDlkYTlhOGYzNGFmNjA0OWY5NzhlOTYwYWFmMTFhMzdkNzg3NDU2ZCIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9
location:
worldid: d6cd9bff-ebf7-4add-998e-6cad567574b9
x: 53.7631
y: 63.0
z: 93.2712
bodyYaw: -28.919159
pitch: 20.2331
yaw: -28.9192
type: PLAYER
inventory:
- amount: 1
type: mace
traitnames: scoreboardtrait,spawned,skintrait,location,type,inventory,botbehavior
name: angreifer
navigator:
usedefaultstuckaction: false
speedmodifier: 1.0
avoidwater: false
uuid: c205e299-0f89-4c3f-a4f8-ab09b44e938b

View File

@@ -0,0 +1,3 @@
# Citizens NPC Shops
{
}

View File

@@ -0,0 +1,21 @@
example:
commands:
on_template_apply:
- say --range 15 Hello!
- npc command add say Hello again!
behavior_tree_example:
traits:
-
name: behavior
tree:
sequence:
- if `npc.spawned`:
- cooldown patrol 10s
- loop `memory.get('patrol_count', 0) < 3`:
- print Patrolling area `memory.get('patrol_count', 0)`
- walkto `npc.x + 5` `npc.y` `npc.z`
- wait 2s
- walkto `npc.x - 5` `npc.y` `npc.z`
- set patrol_count `memory.get('patrol_count', 0) + 1`
- print Patrol complete!
- forget patrol_count

Binary file not shown.

View File

@@ -0,0 +1,8 @@
# bStats collects some data for plugin authors like how many servers are using their plugins.
# To honor their work, you should not disable it.
# This has nearly no effect on the server performance!
# Check out https://bStats.org/ to learn more :)
enabled: true
serverUuid: dfebb51a-06c3-432f-9506-1517a1ebd380
logFailedRequests: false

View File

@@ -0,0 +1,4 @@
{
"_header": "spark configuration file - https://spark.lucko.me/docs/Configuration",
"backgroundProfiler": true
}

View File

@@ -0,0 +1,10 @@
# What is this directory?
* In order to perform certain functions, spark sometimes needs to write temporary data to the disk.
* Previously, a temporary directory provided by the operating system was used for this purpose.
* However, this proved to be unreliable in some circumstances, so spark now stores temporary data here instead!
spark will automatically cleanup the contents of this directory.
(but if for some reason it doesn't, if the server is stopped, you can freely delete any files ending in .tmp)
tl;dr: spark uses this folder to store some temporary data.