#Open Denizen Discussion Thread

1 messages · Page 3 of 1

candid kraken
#

what do you mean by one of the mattress?

#

are you talking about the bed

#

part?

grim quail
#

I thought crash to desktop just killed you and your entire party.

acoustic socket
#

All i remember it doing is just giving me an achievement

mossy egret
#

should this command:<map[dbStats=1]> be command:[dbStats=1] instead?

#

(mongo command)

plucky ingot
mossy egret
old venture
#

is this a lot

unkempt torrent
#

no

sinful spindle
unkempt torrent
#

link pls :(

sinful spindle
#

it's monkey's website ^

unkempt torrent
#

yeah ik but I always forget the link kekwcry

#

haven't saved the site yet

sinful spindle
#

neither did i lol, just spent a couple minutes in the search bar

#

from:mcmonkey has:link stats

unkempt torrent
#

god bless

#

my sever is at 501-1000 scripts

old venture
sinful spindle
#

go talk to the madlads with 1001+ scripts lmao

#

there's 13 of them

soft pewter
#

Gigachads

unkempt torrent
#

behr sent an ex command at some day, which counts the script container_types

old venture
sinful spindle
#

would not be suprised if nimsy only has like 10 10000 line scripts

soft pewter
#

I should my count check when I get on my computer

old venture
#

as per /denizen scripts, i have 189 scripts total

unkempt torrent
#

I forgot that this thing exists lmao

#

but where do you see the total

#

that thing at the top is the page number

sinful spindle
#

/ex narrate <util.scripts.size>

unkempt torrent
#

ye that

old venture
#

oh, i counted them

#

i have 24 pages, each having 8 scripts, and last page having 5

#

23 * 8 + 5 = 189

unkempt torrent
#

Total Scripts: (525)
Yaml Files: (6)
Inventory Scripts: (18)
World Scripts: (74)
Command Scripts: (38)
Assignment Scripts: (16)
Item Scripts: (147)
Procedure Scripts: (29)
Task Scripts: (129)
Data Scripts: (21)
Interact Scripts: (16)
Entity Scripts: (11)
Economy Scripts: (1)
Format Scripts: (25)

old venture
#

how'd you get that 👀

unkempt torrent
#

I used that ex command that @foggy gorge sent me one day lol

old venture
#

damn now i want it too lol

sinful spindle
#

that seems

#

like a really long ex command

#

can i see it?

unkempt torrent
#

#chatter message

#

there it is

sinful spindle
#

oh i see

#

lol i think i was stuck in optimization mindset

#

i was thinking of like, iterating through them and sticking them in lists

#

but he just parses the list like 20 times

unkempt torrent
old venture
#

Total Scripts: (211)
Yaml Files: (0)
Command Scripts: (47)
Task Scripts: (64)
World Scripts: (41)
Item Scripts: (33)
Entity Scripts: (17)
Data Scripts: (4)
Inventory Scripts: (1)
Procedure Scripts: (3)
Format Scripts: (1)

#

211??? where did i count things wrong

unkempt torrent
#

denizen scripts doesn't seem to show all scripts

#

server.scripts.size outputs 525

unkempt torrent
#
  • 4 -> 468
#

so 57 are missing

#

oh no

#

the next pages show 9 scripts kekwcry

#

the first one 8

sinful spindle
#

lmao

unkempt torrent
#

anyway what do you think a town plugin should provide

#

oh imma make it a discussion

soft pewter
#

This is my factions server:
Total Scripts: (223)
Yaml Files: (1)
World Scripts: (29)
Inventory Scripts: (22)
Format Scripts: (9)
Task Scripts: (37)
Procedure Scripts: (40)
Command Scripts: (11)
Item Scripts: (72)
Data Scripts: (3)

#

i honestly thought there would be more lol

plucky ingot
#

i got 328

#

by the end of the thing me and my friend are doing we'll probably have like 1000 or maybe even 2000 scripts lmao fuck knows

grim quail
# sinful spindle go talk to the madlads with 1001+ scripts lmao

Total Scripts: (1554)
Yaml Files: (2)
Item Scripts: (202)
World Scripts: (104)
Command Scripts: (113)
Inventory Scripts: (48)
Task Scripts: (478)
Data Scripts: (224)
Procedure Scripts: (356)
Assignment Scripts: (9)
Interact Scripts: (9)
Enchantment Scripts: (10)
Economy Scripts: (1)

#

How about that.

soft pewter
#

wow!

grim quail
#

Now granted a lot of my procedures are really simple returns because I can't be bothered to always check if someone has a flag when I can just write a procedure for it.

quartz wraith
#

@frozen brook <util.scripts.size>

frozen brookBOT
grim quail
#

And some of my item scripts are duplicates of vanilla for the sake of ... creating vanilla slabs?

#

Yeah I made recipes for slabs and stuff.

soft pewter
#

still a very impressive amount!

grim quail
#

And with slabs you can cobble em back together to make the full blocks like quartz, nether bricks, etc.

#

Maybe?

#

I'm sure I could probably shove some of those task scripts into some event scripts and reduce the amount, but it's not a priority.

#

Not to mention some of my scripts are old and could be replaced or are considered deprecated, haha. But I'm still over 1,000 because I like having procedures and tasks for things that are being checked a lot or are lengthy enough to require a task script for.

quartz wraith
#

Good programming mindset

unkempt torrent
#

always finding an old script with some (future)-deprecated tags

grim quail
#

I try to change my scripts as soon as tags become deprecated, and it's been relatively fine for the past month until I discovered something requiring the raytrace tag last night and I told myself "I better fix that later"

unkempt torrent
#

also I noticed the ray_tracing tag months ago, but haven't done it yet, just like you because I thought "oh that looks more complicated, I'll do it later"

grim quail
#

Now I have no idea where it is in my literal 1000 scripts, haha. I think it was some precise tag which I'll search my entire folder later.

unkempt torrent
#

!t location.ray_trace

weary mothBOT
# unkempt torrent !t location.ray_trace

Traces a line from this location, in the direction its facing, towards whatever block it hits first, and returns the location of where it hit.
This tag has also been referred to as 'cursor_on' or 'precise_cursor_on' in the past.
Using 'return=normal' instead replaces the old 'precise_impact_normal' tag.
Optionally specify:
range: (defaults to 200) a maximum distance (in blocks) to trace before giving up.
return: (defaults to precise)
specify "precise" to return the exact location of the hit ...

Group

world

Returns

LocationTag

Examples
# Destroys whatever solid block the player is looking at.
- define target <player.eye_location.ray_trace[return=block]||null>
- if <[target]> != null:
    - modifyblock <[target]> air
# Spawns a heart wherever the player is looking, no more than 5 blocks away.
- playeffect effect:heart offset:0 at:<player.eye_location.ray_trace[range=5;entities=*;ignore=<player>;fluids=true;nonsolids=true;default=air]>

and more... Check the website for more examples

grim quail
#

That does look complicated.

unkempt torrent
#

it looks complicated but this tag just combines several other tags into one

#

precise_cursor_on, precise_cursor_on_block, precise_target and so on

grim quail
#

I'll have to learn it soon enough.

unkempt torrent
#

meta provides sample inputs for ray_trace within the old tags

#

!t location.precise_cursor_on_block

weary mothBOT
old venture
#

wait, precise target is deprecated?

unkempt torrent
#

there are multiple that begins with precise_target

#

not all of them a future deprecated

grim quail
#

Considering my largest one is 102kb because that is where all of my claim commands are, because I'm doing a lot of sub commands too and it's probably my most complicated thing I've ever made.

unkempt torrent
unkempt torrent
grim quail
#

That's the thing.

#

This is one command.

unkempt torrent
#

OOOO

grim quail
#

I just got separate tasks for like /claim neighbors and other stuff.

unkempt torrent
#

one file for each possible outcome kekwcry

grim quail
#

I mean I could, I think I'd have a lot of files then.

#

Also it's a good thing I was looking at that file because I just found a line that wasn't going to work haha, I'm surprised VSC didn't catch it.

unkempt torrent
#

reminds me I have a monster of command which I should clean up soon

unkempt torrent
grim quail
#

Might have to write up a test file just to see if that is the case.

unkempt torrent
#

yeah, please make a post for it then

plucky ingot
#

you know

#

making these magicka inspired items

#

i thought lightning would be the hardest

#

now that i think about it

#

i should go back in time and KILL the person who added the earth element to magicka cuz this fucker took me a whole day and my head still hurts

#

there's so many weird fucking workarounds

plucky ingot
old venture
#

LMAO that's actually so cool!

fleet kernel
#

fake item?

unkempt torrent
#

!c itemcooldown

weary mothBOT
fleet kernel
#

thanks

reef wharf
#

Where's the documentation for -if x matches y. I assumed it would be in operators but it's not there.

unkempt torrent
#

Iirc that was requested to add somewhere

#

I think monkey also responded to that but not sure

reef wharf
#

lol

sinful spindle
#

!l operators

weary mothBOT
#
Possible Confusion

Did you mean to search for operator?

sinful spindle
#

i swore i saw it

weary mothBOT
# sinful spindle !l operators

An operator is a tool for comparing values, used by commands like !command if, !command while, !command waituntil, ... and tags like !tag ObjectTag.is.than

Available Operators include:
"Equals" is written as "==" or "equals".
"Does not equal" is written as "!=".
"Is more than" is written as ">" or "more".
"Is less than" is written as "<" or "less".
"Is more than or equal to" is written as ">=" or "or_more".
"Is less than or equal to" is written as "<=" or "or_less".
"does this list or map contain" is written as "contains". For example, "- if a|b|c contains b:" or "- if [a=1;b=2] contains b:"
"is this in the list or map" is written as "in". For example, "- if b in a|b|c:", or "- if [a=1;b=2] contains b:"
"does this object or text match an advanced matcher" is wr...

Group

Comparables

unkempt torrent
#

#helpers message

#

yeah look here

sinful spindle
#

"does this object or text match an advanced matcher" is written as "matches". For example, "- if <player.location.below> matches stone:"

#

ye

#

it uhh

#

is kind of entirely unhelpful

#

but it does exist lol

reef wharf
#

lol

#

Well, it uses the same logic as advance_matches, so I should be able to do mob matches *skeleton, correct?

sinful spindle
#

ye

unkempt torrent
#

yeah

reef wharf
#

rad

sinful spindle
#

i should probably look more into that operator lol

#

potentially omega-helpful

plucky ingot
#

charge based attack

soft pewter
#

oh that's cool haha

#

maybe you can increase the amount of particle effects as the charge increases?

#

just an idea 😄

plucky ingot
#

maybe

fleet kernel
#

you can also play the beacon charge sound

teal sedge
#

Ok that took 3 days instead of an hour but i got netblocks shared. I have a similar system I was going to use for custom spellcasting that I might go back and finish if there's any interest.

I'm moving on to figuring out a bunch of particle animations and stuff for use with these kinds of tools and scripts, so if anyone is willing to contribute to putting together a collection, gimme a yell.

mossy egret
#

it looks really cool

teal sedge
#

idk why the sound is missing from that recording, but that tool was put together to allow configuring and testing new spells or scripts or items without having to manually write them out as a script.

mossy egret
#

i really like it

#

is it possible for an item to cast multiple spells at the same time

teal sedge
#

Yes

mossy egret
#

ah thats great

teal sedge
#

but like

#

It's dodgy

#

I won't be touching it anytime soon but it's here if anyone else wants to take a crack at it on their own.
https://github.com/Baivo/SBG/blob/main/sandbox/Baivo/Energy_Manipulator_V2.dsc
Fair warning, I usually make jokes about my script quality, but this is literally taped together garbage that should NOT be used in a prod environment. I made this as a first time project with denizen, and there's a lot of bad practices and weird workaround even I don't remember or understand.

mossy egret
#

if this is your first project its insanely good

teal sedge
#

I have used it to make some cool stuff, this is a favourite stress relief of mine, lemme go get a recording

#

Oh it deadass recorded my shitty webcam mic

#

Trackpad sounds like someone using a nailgun lmao

fleet kernel
#

but holy shit

#

its like one of those premium click item plugins

#

its better than that

mossy egret
#

like executableitems but not shit

teal sedge
fleet kernel
#

oh thanks

teal sedge
#

Wondering if maybe this is better done as a command system instead of a GUI.

Then I can just make each option a subcommand with tab completion instead of drilling through a gui or entering text.

old venture
#

imo command -> admin friendly
gui -> user friendly

fleet kernel
#

yes

old venture
#

"yrd"

teal sedge
#

The whole thing was eventually going to be split, with the player version giving predefined options to act as a spell crafting system

fleet kernel
#

would rather be abble to see everything at once instead of having to scroll through options

sinful spindle
teal sedge
#

But it gave me a headache so I took a break and never went back

sinful spindle
#

so both are options easily

teal sedge
#

Alright well, I'll put this back on the todo list

#

See you in a month or something

fleet kernel
#

bye bye

teal sedge
#

Definitely spam me with ideas for netblock functions though, they'll get the same command+gui interface but I want to build out as many libraries and functions for them as possible.

#

Next update is going to allow attaching additional definitions for the configured function so you can customise scripts instead of hard coding

#

So let your imagination run free then send me a forceful dm kthxbye

teal sedge
#

Sorry for spamming showcase, I've just had the time today to clean up and post things I've had sitting around for a bit. I will hold off for a lil while before posting the next.

unkempt torrent
#

!guide Don't trust players @teal sedge

unkempt torrent
#

Your script you've posted on the forums will quickly break, if a player run /infobot

#

!t empty

weary mothBOT
unkempt torrent
#

!t n

weary mothBOT
unkempt torrent
#

these can be handy for empty new lines

#

Also Citizens doesn't require Depenizen

old venture
#

!t <&nl>

weary mothBOT
old venture
#

is there any difference between these two?

unkempt torrent
#

eh

#

no they're exactly the same

#

they used to be separated <n> for books and <&nl> for chat

#

but eh

#

just use <n> lol

teal sedge
#

I'll look into the first one, this was a remake of an existing script so I'm not surprised if I missed something really dumb

#

Citizens not requiring depenizen is new to me but makes sense

#

Ty for feedback

#

I'll have to see if I can find the original rtp as well, my first attempt managed to consistently crash the server

#

First and only time I've managed that so far

old venture
teal sedge
#

I also wouldn't be surprised to see some color tags like <red> instead of <&c> or hex

#

I had to remove a bunch, I was the one that put them there and even I was confused today seeing them there

unkempt torrent
#

there are also funky things like

teal sedge
#

oh dude trust me

#

80% of this is getting nuked

unkempt torrent
#

:D

teal sedge
#

but i've been using it in it's broken state for a while now and it's better than the alternative

#

that said

mossy egret
#

the better alternative is to fix it

teal sedge
#

yes

#

I stuggle from having a mindset of sharing anything that has potential value, as opposed to sharing only the things that reach mirror polish

#

However

#

I'm understanding the other side of the coin, and especially realizing the likelihood that sharing something that has flaws in this space is likely to cause more damage by demonstrating bad practices

#

let me take another crack at it now and lets see how mirror like i can get

mossy egret
#

i am the opposite

#

i dont post anything that i feel like is heavily flawed

#

thats why i was so hesitant to post my command manager thing in #showcase

#

(i did it anyways though)

unkempt torrent
#

sharing an in progress script in #showcase is fine for me, other people can take a look at code, might give suggestions and so on

#

only the discord denizzlins have access to #showcase

#

I wouldn't post an in progress script to the forums, since there are many outside denizzlins and beginners

teal sedge
#

That's a helpful solution to both aspects, thank you based diamond man

mossy egret
teal sedge
#

i urge you to judge my actual capability on something like the netblocks or the uhh

#

I should post my finished magnet here that one was a crowd pleaser

unkempt torrent
#

oh also *note; people should really make GitHub repos for their scripts

#

can't bear it to have to download a script everytime I wanna look at it kekwcry

mossy egret
#

i still gotta work on subcommands for my thing

#

its going to be so painful though

unkempt torrent
#

what's a subcommand

mossy egret
#

!c yaml

weary mothBOT
# mossy egret !c yaml
Group

file

Syntax

yaml [create]/[load:<file>]/[loadtext:<text> raw_format]/[unload]/[savefile:<file>]/[copykey:<source_key> <target_key> (to_id:<name>)]/[set <key>([<#>])(:<action>):<value> (data_type:{string}/integer/double/boolean/auto)] [id:<name>]

Short Description

Edits YAML data, especially for YAML files.

Description

Edits YAML configuration data.

This commands exists primarily for interoperability with pre-existing data files and other plugins.
It should never be used for storing data that only Denizen needs to use. Consider instead using !command flag.

Use waitable syntax ("- ~yaml load:...") with load or savefile actions to avoid locking up the server during file IO.
Refer to !language ~waitable.

For loading and saving, the starting path is within 'plugins/Denizen'.
The file path follows ...

mossy egret
#

this command is subcommand

mossy egret
#

basically one command that splits into other mini-commands

teal sedge
#

wait actually i wanna discuss this one

unkempt torrent
#

oh you talking about arguments?

mossy egret
#

yeah

unkempt torrent
#

ooooo

#

yeah

teal sedge
#
- if !<context.args.get[2].contains_any[1|2|3|4|5]>:
            - narrate "<red><italic>Please choose lines 1-5 to set the display"
            - determine cancelled

How would you make this more efficient to cancel the command unless it was specifically the numbers 1,2,3,4 or 5

unkempt torrent
#

!t element.is_integer

weary mothBOT
mossy egret
#

first check <[arg].is_integer>

#

then use operators < >

teal sedge
#

MIT license baybee steal that sh*t

#

look at all my dirty patchwork

teal sedge
unkempt torrent
teal sedge
#

who's xenforo

unkempt torrent
#

our forum software

teal sedge
#

do mybb

#

i still have gz setup files

unkempt torrent
#

talking about xenforo, @low radish when do you have to pay the license again?

mossy egret
# unkempt torrent yeah

so im thinking about adding a subcommands key for linear args

args:
  command:
    type: linear
    # example subcommands
    accepted: <list[add|set|remove].contains[<[value]>]>
    tab completes: add|set|remove
    subcommands:
      add:
        number: template=integer
        player: template=player
      remove:
        player: template=player
      set:
        value: type=linear
        world: template=world
#

but i dont htink this is important

teal sedge
#

I think i'm going to hunker down on that contains_any being a good simple solution to the problem until proven a dumb baby for it

mossy egret
#

i feel like most commands-with-subcommands should just be split into separate commands

unkempt torrent
mossy egret
#

yeah

#

i used to have like /worldmanager create|delete|load|4 other subcommands

#

now its /createworld /deleteworld etc

#

but i think its harder to find these commands this way

#

if only you could namespace command scripts so you can just /worldmanager: to tab complete them :(

unkempt torrent
#
        - <&[moneykey]>/shop <&[text]>- öffnet dieses Fenster.
        - <&[moneykey]>/shop create [id] [title]<&[text]> - erstellt einen Shop.
        - <&[moneykey]>/shop [id] close<&[text]> - schließt einen Shop.
        - <&[moneykey]>/shop [id] info ({all}/buy/fill/sell/take)<&[text]> - zeigt die Logs des Shops an.
        - <&[moneykey]>/shop [id] title [title]<&[text]> verändert den Titel eines Shops.
        - <&[moneykey]>/shop [id] open [time]<&[text]> - eröffnet einen Shop.
        - <&[moneykey]>/shop [id] extend [time]<&[text]> - verlängert die Zeit eines geöffneten Shop.
        - <&[moneykey]>/shop [id] fill [slot]<&[text]> - füllt ein Item im Shop auf.
        - <&[moneykey]>/shop [id] storage [slot] [storage]<&[text]> - verändert den Lagerraum eines Items.
        - <&[moneykey]>/shop [id] take [slot] [quantity]<&[text]> - nimmt Items aus einen Shop raus.
        - <&[moneykey]>/shop [id] remove [slot]<&[text]> - entfernt Items aus einen Shop.
        - <&[moneykey]>/shop [id] price [slot] [sellprice] (buyprice)<&[text]> - verändert den Verkaufs- und Ankaufspreis.
        - <&[moneykey]>/shop [id] set [slot] [sellprice] (buyprice)<&[text]> - stellt ein Item in den Shop ein.

I have this bulky thing

mossy egret
#

why.

unkempt torrent
#

idek

#

I have to clean the command script a bit, but that's the syntax

#

to manage a shop

mossy egret
#

let me guess

#

at least 300 lines

unkempt torrent
#

nope x)

#

285!

mossy egret
#

damn

#

youy know

#

technically you could already do subcommands with my system

unkempt torrent
#

only the command script though

#

whole system 624 + 172

mossy egret
#

ah i see

mossy egret
#

so instead of having an args data key you can just define an args

#
- choose <context.args.first>:
  - case firstsubcommand:
    - define args <script.data_key[subcommand 1 args]>
  - case secondsubcommand:
    - define args <script.data_key[subcommand 2 args]>
  - default:
    - narrate bad
- inject ...
#

something like this

#

but then again you should just make them separate commands at that point

teal sedge
#

I'm back in less than an hour to tell myself i was wrong

#

wow ok first of all rude

mossy egret
#

HAHAHAHAHAHAHAHA

#

!<context.args.any> can be <context.args.is_empty>

unkempt torrent
#

nice font lol

mossy egret
#

yeah

#

i personally dont really like it but its cool

teal sedge
#

ah but yours is longer

#

I made it more bulletproof please try and shoot it to death

mossy egret
#

- if <list[search/create/setline]> !contains <context.args.get[1]>:

#

@frozen brook <list[search/create/setline]>

frozen brookBOT
mossy egret
#

yeah

teal sedge
#

ok now

mossy egret
#

the /s need to be |

#

also

teal sedge
#

check the last commit time

mossy egret
#

!g constructor

teal sedge
#

and see how i did it

#

it's exactly like you just posted

mossy egret
#

can just be if search|create|setline !contains <context.args.get[1]>

teal sedge
#

Thank you though, I was 50/50 on if the tag was needed, but was duped by the vs code color formatting

mossy egret
teal sedge
#

oh I see

#

I just spotted, i must have hit it with a find and replace i was doing to the format

mossy egret
#

ah i see

teal sedge
#

absolute blunder

mossy egret
#

also the if <context.args.get[1]> == ...s can just be

#

!c choose

weary mothBOT
# mossy egret !c choose
Group

queue

Syntax

choose [<option>] [<cases>]

Short Description

Chooses an option from the list of cases.

Description

Chooses an option from the list of cases.
Intended to replace a long chain of simplistic if/else if or complicated script path selection systems.
Simply input the selected option, and the system will automatically jump to the most relevant case input.
Cases are given as a sub-set of commands inside the current command (see Usage for samples).

Optionally, specify "default" in place of a case to give a result when all other cases fail to match.

Cases must be static text. They may not contain tag...

mossy egret
#
- choose <context.args.get[1]>:
  - case search:
    ...
  - case create:
    ...
teal sedge
#

I feel like such a brainlet i'll brb

mossy egret
#

also determine cancelled in a command script?

teal sedge
#

how did that get there lmao

#

twice!

#

whipme ok both are swept under the rug I'm ready for my next bot command beating

#

not that it's expected, just encouraged

short pier
mossy egret
#

yes

#

i meant this command has subcommands lol

short pier
#

ah

#

internally they're called "instructions" lol

#

or in some cases "actions"

low radish
#

like, in that order

#

in terms of historical development and in terms of userbase lol

quartz wraith
#

I don’t even have citizens installed lmao

low radish
#

might be worth adding a dedicated WIP label or something that people can use

low radish
#

it's annual, only needed to download an update not to keep running, and cheaper to update a license than buy a new one

#

might be in the admin panel lemme see

#

side note: I want to punch the xenforo devs in the dick for their shitty TFA impl

#

forces re-auth every 30 days, which only serves to discourage people from using TFA

#

No TFA? No reauth, shit just works. Get TFA? Annoying constant reauth.

#

They make you pick between convenience and security when they could easily just let you have both

#

They intentionally don't provide an option to turn that off

unkempt torrent
#

As we started with xenforo I thought it's cool lol

#

but the longer you deal with it, the worse it gets

low radish
#

ye hold on lol

#

i checked admin panel and there's an update

unkempt torrent
#

oo

grim quail
#

Does the if argument support the ! prefix? As in you'd do
- run my_task if:!<player.is_online>

Or would you do
- run my_task if:<player.is_online.not>

quartz wraith
#

!tias

weary mothBOT
# quartz wraith !tias
Info: tias

Try it and see!

If somebody pulled this up for you, you're probably asking a question of the public channel that's easier and faster to figure out by just attempting your idea in-game and looking at the result of that attempt.

grim quail
#

You right.

unkempt torrent
#

in this case you should also read tags description

grim quail
#

Ehh, the if argument is a global, where even is that in the meta?

quartz wraith
#

!Lang global if

weary mothBOT
# quartz wraith !Lang global if

The "if:<boolean>" argument is a special meta-argument that is available for all commands, but is more useful for some than others.
It is written like:


- stop if:<player.has_flag[forbidden]>
# Equivalent to
- if <player.has_flag[forbidden]>:
  - stop

When the if argument is used, the command will only run if the value of the argument is 'true'.

The most useful place to have this is a 'stop' command, to quickly stop a script if a condition is true (a player has a flag, lacks a permission, is outside a region, or whatever else).

If you need more complex matching, especially using '&&', '||', '==', etc. you should probably just do an 'if' command rather than using the argument.
Though if you really want to, you can use tags here like !tag objecttag.is.to or !tag elementtag.and or !tag elementtag.or.

Group

Script Command System

unkempt torrent
#

should also make a post

grim quail
#

Yeah if I have more questions I'll make a post.

unkempt torrent
#

!makepost

weary mothBOT
# unkempt torrent !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

low radish
#

meta is searchable

#

go to the meta site, top right:

#

type in what you want, hit enter, and you'll probably find it

grim quail
#

Is it bad that I've never seen that until you pointed it out? I've always Ctrl F'd? Haha.

rigid idolBOT
low radish
#

you can't click high quality yourself but WIP you can I think

#

cc @teal sedge ^

low radish
wild mauve
#

hi i have problem with denizen i use citizens plugin and when i use it standalone i have the command /npc cmd and i also could use placeholders in npcs name but i want my npcs to mirror players skin so i downloaded denizen ver 1.0.3-b1670-REL and after that i can't do /npc cmd anymore also i can't use placeholder in npcs name

weary mothBOT
# foggy ember !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

old venture
mossy egret
#

@old venture quick question, do you have a custom /enchatn? if so, does your level default to 1?

old venture
#

i tried making one once, never got it to work xD

#

oh wait /enchant

#

not custom enchant

#

yeah it defaults to level 1. it should be on the github if you wanna take a look

#

@mossy egret pong

mossy egret
#

ok ty i will default it to 1

old venture
#

nah make it default to 255 xD

mossy egret
#

alright

#

love the auto syntax highlighting ngl

old venture
#

what doed that bypass do?

old venture
mossy egret
#

(/enchant aqua_affinity vs /enchant aqua_affinity -bypass)

old venture
#

oooo thats cool

#

make so you can do like enchant remove all, or enchant clear, removes all enchantments from the item

mossy egret
#

hmm maybe

wild mauve
old venture
#

oof

#

i mean, if its because of pvp you can disable holding shields and etc and toggle off the attack cooldown

wild mauve
#

@old venture how can i fix it ?

foggy ember
#

!1.8

weary mothBOT
# foggy ember !1.8
Info: 1.8

Minecraft 1.8 is a 7+ year old Minecraft version (released <t:1409643900:R>) that we cannot reliably support.
While Citizens and Sentinel in their latest versions will still run on it, we cannot and will not provide support on this Discord or other platforms for it.
You can and should update your server. There are plugins for clientversion support and older-style PvP available.

For more information, refer to https://wiki.citizensnpcs.co/Minecraft_1.8.

old venture
mossy egret
old venture
# mossy egret LMAo

lmao
the * thing is really cool, idk how i didnt think of adding that to my own

mossy egret
#

ugh

#

im just going to remove the * so people dont wonder why its not everywhere else

old venture
mossy egret
#

no

#

undoing as we speak

old venture
#

user friendly > dev friendly

mossy egret
#

so i will hold it off until command_manager is actually good

old venture
#

aww

#

are you focusing on developing just one of them or are you hopping back and forth between both

#

@mossy egret ... i always forget the ping

mossy egret
#

because i think thats the best way to find issues and know what features to make

#

which is actually using it

old venture
#

definitely! and now you have probably the biggest todo yet: accept the * everywhere

mossy egret
#

biggest todo is subcommands

#

😢

old venture
mossy egret
#

im just brainstorming atm

old venture
#

i wish you the best of luck

mossy egret
#

i have seo much stuff right now

#

im thinking about creating dLox

#

denizen implementatino of lox

weary pawn
#

I have a script that runs, but I am trying to get it to animate the npcs to make them swing thier arms but not actually break a block.

Does anyone know any tips that could help?

foggy ember
#

!makepost

weary mothBOT
# foggy ember !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

foggy ember
#

^

plucky ingot
#

funny little bug (i fixed it later)

fleet kernel
low radish
#

ye same

#

it happened for one other thread earlier

#

not sure what triggers it, it's not just a reply to the opening post cause other threads don't have that

plucky ingot
#

have you considered suggesting dscript highlighting for discord code blocks

low radish
#

Discord uses a public library for that, they just don't bother updating it ever.

foggy gorge
#

lots of us would love that and the furthest i think we've gotten is getting it added to Github

#

a lovely denizzle here PR'd it for us

soft pewter
#

fun thing that aya, acikek, tutzhino (before he was banned >.<) and I were experimenting with on my discord server a long time ago was using ASNII code blocks on discord to sorta "emulate" dsc highlighting and it looks pretty cool when you mess with it enough:

my_script:
    type: task
    script:
        - narrate "Hello, World!"

uses ANSII codes to change the color and weight of text. no italics though :(. was able to do so using this website https://rebane2001.com/discord-colored-text-generator/
pretty fun to mess around with

#

not very optimal for big scripts (or quick ones) because you have to highlight the text and click buttons and stuff but it's cool to showcase :)

foggy gorge
#

oh damn, that's awesome!

#

that has to be killer on the character count though right? lol

soft pewter
#

yeah

#

each ANSII code is like 7 or 8 chars each D:

foggy gorge
#

owww

foggy ember
#

You could probably make a bot to automate that with the existing C# highlighting stuff, right?

#

Sadly mobile still can't see these :/

soft pewter
plucky ingot
#

can u post a screenshot

#

im on mobile too

foggy ember
plucky ingot
#

oh cool

candid kraken
#

aww

#

that’s why I haven’t seen them around

low radish
#

Either ANSI codes or something close

#

Monkeybot had exporters for a bunch of weird formats

#

including IRC which is very similar to ANSI

#

not to mention ANSI codes is what minecraft server log files used to be before someone rudely stripped the colors out

acoustic socket
#

Hey that new grindstone event has perfect timing

#

Needed that

unkempt torrent
#

:D

acoustic socket
#

Now my vanity enchantment system won't be bugged when you use a grindstone 😎

#

Anyone know how I can contact the creator of denizen player models directly? I assume it wouldn't be acceptable to just ping them?

low radish
# acoustic socket Anyone know how I can contact the creator of denizen player models directly? I a...
  • Make a thread
  • Actually ask what you want to ask, not just "hey i want to talk to <x> person"
  • If it's genuinely something that only Max^ can answer, you can ping em. Chances are it's not. Because, yknow, A: lot of questions can be answered by anyone with Denizen experience not just the relevant script author, B: Max^'s script is heavily just copied out of my own DenizenModels so chances are whatever you're trying to do is something from my original script anyway
acoustic socket
#

Gotcha thanks

#

It's less of a question about Denizen more of a core shaders thing and the underlying method of using player heads to rebuild player models

low radish
#

#1027976885520584814 for that then lol, idk if Max^ can answer though iirc he yoinked the shaders from somewhere else

acoustic socket
#

Gotcha

unkempt torrent
#

made a thing which auto formats lore uwu

mossy egret
#

Nice :)

foggy gorge
soft pewter
#

👏

candid kraken
short pier
tepid hull
#

!m alter_uuid

weary mothBOT
# tepid hull !m alter_uuid

Alters the entity's UUID, changing it to the new input UUID.
This is very likely to break things and is almost never a good idea.
This sorta-works with players, with significant side effects that will need to be compensated for.

Object

EntityTag

Input

ElementTag

Tags

<EntityTag.uuid> Returns the permanent unique ID of the entity. Works with offline players.

tepid hull
#

Perhaps we were preoccupied that we could, and have not considered if we should ...

#

What could possibly be a valid use-case for this?

tepid hull
#

Why is the mechanism max_health, and the tag health_max ?

mossy egret
#

I’ve wondered that as well

reef wharf
#

They were made at different times

#

Does anyone know how to get the title of a potion? For example, a vanilla night vision potion has the title "Potion of Night Vision". But if I were to do <[item].translated_name>, I just get "Potion". I could figure it out from the potion type, but I wasn't sure if there was a more right way to get it.

sinful spindle
#

great question. Does .display return something for it?

reef wharf
#

nope

#

The problem is the name is somehow derived from the potion effects

#

Same way a water bottle would probably also return "potion"

sinful spindle
#

yeah, material name

reef wharf
#

Ya. They're all just "potions". I don't know how to get "water bottle" or "potion of night vision" or "potion of the turtle master" without just keeping a manual list.

#

Which, honestly, is probably what Minecraft does underneath the hood somewhere

#

The king of "screw it lets just hardcode everything"

sinful spindle
#

welcome to minecraft code lol

#

such a mess

#

!m block_strength

weary mothBOT
# sinful spindle !m block_strength

Sets the strength for all blocks of this material type.
This does not work for specifically obsidian (as it is a hardcoded special case in the Minecraft internals).

Object

MaterialTag

Input

ElementTag(Decimal)

Tags

<MaterialTag.block_strength> Returns the material's strength level. (Only for block materials). Th...

sinful spindle
#

^ i always find this funny when i see it

reef wharf
#

lol yup

#

Also, you can't get the sound of a block from the blocks material

#

Sometimes it's just <material>_block_break

#

But other's aren't, because some blocks share sounds

#

You just have to... know

mossy egret
#

!t material.break

weary mothBOT
#
Possible Confusion

Did you mean to search for materialtag.item?

mossy egret
#

weird, i remember a materialtag break sound thing

#

aha

#

!t block_sound_data

weary mothBOT
reef wharf
#

oh dang

#

oh it was added last month

#

I must've missed that

mossy egret
tepid hull
#

Interesting mech example for cannot_enter_hive
- adjust <player> cannot_enter_hive:1s

foggy ember
#

!m cannot_enter_hive

weary mothBOT
tepid hull
#

So not a copy/paste err?

foggy ember
#

These examples are automatic, they're usually helpful for understanding how would using the mech look but aren't always valid as there's no way for the generation code to know it's only valid for bees

#

Although Bread and 0tick have started working on PRing more examples to the meta (and anyone can help ofc), so the meta is getting more tested and descriptive usage examples :D

#

But yeah if it says Generated example then it's a computer generated one, if there's a mistake in a non-generated one should def report it though

tepid hull
#

I am under direct threat of Monkey not to touch source code. XD

foggy ember
#

Aw I forgot about that format

#

Never used IRC, but it looks really weird to me

tepid hull
#

That was in Discord :o

#

And to be fair, I have never really worked with Java in any useful sense, or with Git, for that matter, so I'd be next to useless. Anything I could contribute can easily be constructed by someone else.

foggy ember
tepid hull
#

I thiiiink that's a copy-paste, and put in a pair of ``'s

foggy ember
#

No like, the messages displayed without the user's pfp & all

tepid hull
#

Looks the same to me.

foggy ember
#

As opposed to this

tepid hull
#

Oh weird. Maybe because I am using the webapp at the moment.

foggy ember
#

It's a setting

tepid hull
#

Oh, seems you're right.

#

Now I've got pfp's

tepid hull
#

Should the meta's descriptions for mechanisms that are specifically for item frames, i.e. framed, perhaps note that they apply for glowing item frames as well?

foggy gorge
#

cozy is default and what most people use lol

foggy ember
#

Yeah ik, I remembered someone talking about that but wasn't sure, although looks like it has a #IRC in it's name lol

foggy gorge
#

oh lol

low radish
#

yeah that was very much born of people complaining that Discord was too chonky compared to IRC

#

which, to be fair, it is

#

i feel like there could stand to be a middle ground

#

where just like

#

these spaces get cut down

#

maybe make avatars a lil smaller

#

idk

#

(ie: all the same content visible as 'cozy' has, but eating less space)

#

it's a little annoying that even with a 4k monitor i can't fit as many discord messages on screen as i used to fit IRC messages on a 1080p monitor

small hamlet
#

Is this acceptable, or should I just make three different item scripts and choose one of them randomly?
rep_bonus_item_rare_book: type: item debug: false material: book_<list[red|black|blue].random> display name: <aqua>A rare book
(the three base materials exist elsewhere)

low radish
#

that's not technically invalid, lots of item scripts have dynamic details, might have side effects though

#

if those three base books all have the same book or written_book vanilla material, then you're probably fine

#

if they have different base materials, that'll prevent some matchers from working

fleet kernel
#

oops forgot disabe pings

#

with 4 px

low radish
#

oo

#

that is indeed an option, hell yeah

#

not the same as what I was suggesting as an option tho

#

meant that as an example of the types of lil tweaks they'd use

#

gets part of the way there but still leaves a lot out

#

definitely shrinking that space via the option now though, thank you for pointing out that out!

tepid hull
#

0px as well. That looks, smoooth.

fleet kernel
#

this red bar isnt really doing it

small hamlet
#

This might be a dumb question, but does it make sense to migrate all of my item and quest data from data key scripts to a massive server database flag? Is that just standard procedure?

old venture
#

nah, keep it in data

#

ive done that once and got almost yelled at xD

foggy ember
#

!makepost

weary mothBOT
# foggy ember !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

mossy egret
old venture
#

hello everyone!

#

anyone here can tell me if I can flag an inventory?

#

I'm using notes to make multiple player backpacks

short pier
#

since this will likely go into a bigger discussion

old venture
#

oooh thanks

#

sorry

#

^-^

soft pewter
short pier
#

funny trick

#

or even

#

_ _

soft pewter
#

Oooh

#

That’s cool

short pier
#

i use it for "referrals" which are prettier than direct links

#

#1027064108056580106 message who wants to click this

#

discord should make a better way to do this

foggy ember
#

Would be cool if they did something similar to GitHub, automatically embedding message/channel etc. links

#

Or at least let people do text

fleet kernel
#

_ _

candid kraken
#

_ _

#

anyone know that weird discord message that just hides whatever you put at the end of it

#

causes massive lag for me though

mossy egret
#

(credit nottexttospeech)

old venture
old venture
#

guys how do I run a script with definitions?

#

like

#

- run <script[create_ab_task]> def:<player>|test

#

I tried like this and it didn't work

unkempt torrent
#

please make a thread

old venture
#

create_ab_task is a task script, the log says it's not a script

#

oh I thought it was too small to a thread

unkempt torrent
#

!makepost

weary mothBOT
# unkempt torrent !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

old venture
#

it's pretty smart to make a command for that

#

since you guys probably hear it like 10 times a day

#

thanks

old venture
#

now wheres your post. i wanna answer you

old venture
old venture
plucky ingot
#

i love having to work around vestigial vanilla minecraft code!!! (my head hurts)

#

turns out whoever the FUCK wrote the code for falling sand and eventually other blocks made it so that any falling block that spawns, if the block its in has the same material as the falling block itself, it will erase the block it's in

#

however this is basically entirely useless? as normally it erases itself and spawns a block already

#

so i dont know what the fuck they were thinking coding it like that but it sure makes dealing with held blocks a HASSLE

#

it doesnt even properly remove them it makes like weird ghost blocks?
but those ghost blocks are different and NOOOOOO they cannot be affected by - showfake at all

#

like why why is this a thing?

fleet kernel
#

denizen rant moment

plucky ingot
#

so true

candid kraken
#

falling blocks are a pain

acoustic socket
#

OpenAI's "ChatGPT" understands denizen and can almost write you a script on demand

mossy egret
#

My github copilot can write scripts quite well

cursive tide
#

im trying to turn on a redstone lamp. and the mech just does not switch it. - adjust <context.location.backward[1].material> switched:true I used narrate and it is the correct material m@redstone_lamp[switched=false]

#

does it work a different way than im thinking?

acoustic socket
mossy egret
#

!c switch

weary mothBOT
# mossy egret !c switch
Group

world

Syntax

switch [<location>|...] (state:[{toggle}/on/off]) (duration:<value>) (no_physics)

Short Description

Switches state of the block.

Description

Changes the state of a block at the given location, or list of blocks at the given locations.

Optionally specify "state:on" to turn a block on (or open it, or whatever as applicable) or "state:off" to turn it off (or close it, etc).
By default, will toggle the state (on to off, or off to on).

Optionally specify the "duration" argument to set a length of time after which the block will return to the original state.

Works on any interactable blocks, including:

  • the standard toggling levers, do...
cursive tide
#

well shit....

mossy egret
#

Also you can’t adjust materials in locations like that

#

!c adjustblock

weary mothBOT
# mossy egret !c adjustblock
Group

core

Syntax

adjustblock [<location>|...] [<mechanism>](:<value>) (no_physics)

Short Description

Adjusts a mechanism on the material of a block at the location.

Description

Adjusts a mechanism on the material of a block at the location.
That is, an equivalent to !command adjust, but that directly applies a "MaterialTag" mechanism onto a block.

Input a location or list of locations, and the mechanism to apply.

Use the "no_physics" argument to indicate that the change should not apply a physics update.
If not specified, physics will apply to the block and nearby blocks.

low radish
#

oh wow holy shit it do

#

details are all wildly off but the structure and concept are there

mossy egret
#

Yeah

#

I find that when I have a massive script file open, copilot is much more accurate

#

Because more samples

low radish
#

it's so weirdly close

soft pewter
#

That’s scary

acoustic socket
#

Ask it "Can you rewrite this script in java using the paper API?"

cursive tide
#

huh duration does not seem to do anything. does this look right? - switch <context.location.backward[1]> state:on duration:5s ? The light flicks on and then turns off.

acoustic socket
#

Switch takes a duration?

#

I did not know that

cursive tide
#

well its not working. at least not for this lamp.

acoustic socket
#

I suppose use wait and turn it back off

cursive tide
#

It wont stay on at all is my problem

#

immediately turns off

acoustic socket
#

Hmm

cursive tide
#

If i cant figure it out i will just put levers under them and switch the levers instead lol

acoustic socket
weary mothBOT
# low radish !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

acoustic socket
#

LOL insult command when?

low radish
#

nice

quartz wraith
#

I should make a denizen java addon that adds in useless commands like that

mossy egret
#

not bad

sinful spindle
#

lol the not equals sign

mossy egret
#

Why is it in the utility category

mossy egret
sinful spindle
#

huh

quartz wraith
mossy egret
#

No

quartz wraith
#

ok

#

that’s your right and your choice

mossy egret
#

Thanks for respecting that

tender locust
#

is flagged:!flagname a valid switch

unkempt torrent
#

!makepost @tender locust

weary mothBOT
# unkempt torrent !makepost <@948186906322153482>
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

tender locust
#

👍 assuming no thank you for answering

unkempt torrent
#

You shouldn't assume. Your question is easy answered when you make a post and provide more information to the event you're using.

foggy ember
acoustic socket
brisk dust
#

Weird issue I'm running into. My VSC extension isn't color coding things. I turned extension on and back off. I reinstalled it. I disabled the only other extension I have. It's just showing as white.

#

Sorry if this should be a forum post ^. Just figured it's not directly Denizen related.

old venture
#

just anything is "forum postable"

low radish
low radish
# brisk dust Sorry if this should be a forum post ^. Just figured it's not directly Denizen r...

Neat feature of forum system: once you start typing vsc into the forum title box, it'll pull up all the other VS Code related forum posts (or, at least the ones labeled "vsc" or "vscode", not the ones labeled "vs code" unfortunately, search needs work).
At which you'll both
A: see that we do indeed allow VS Code forum posts
and B: see if there are any other posts that sound similar and be able to read through em before making your post in case there's already an answer for you

mossy egret
#

ive always wondered why elementtags werent split to stringtags, floattags, integertags, booleantags, etc

#

(not making post as imnot asking for help, nor do i need an immediate answer)

unkempt torrent
#

doesnt it overcomplicate things?

mossy egret
#

maybe, but i feel it makes things more secure

unkempt torrent
#

secure?

low radish
#

They were for D2 and FS

#

just not for D1

#

the reason they were split wasn't whatever "more secure" means, but rather for the performance benefits

mossy egret
#

wait doesnt splitting it boost performance?

#

oh nvm i thought you said "weren't split"

low radish
#

also are named TextTag (not 'string' cause that word is technobabble), and Decimal (not "float", which is also technobabble)

#

actually no FS does Integer and Number

mossy egret
#

and by more secure i mean its easier to find bad code so less problems in runtime

mossy egret
low radish
#

"easier to find problems" also means "harder to write working code" in many cases

#

there's a careful balance to be struck

mossy egret
#

i personally prioritize safety

#

its why i use typescript instead of javascript even if typescript forces you to type more stuff

low radish
#

Java as a language is infamously specific and safe, at the cost of ease of writing, conciseness, runtime performance, ...

mossy egret
#

so im definitely slightly biased here

low radish
#

part of the goal of Denizen is to not be java

mossy egret
#

for example ts, golang, nim

#

a lot of its because of type inference or whatever they call it i think

low radish
#

FS and random parts of D1 including the script checker do weak type inference

#

ie they infer types but don't care if they don't end up with an answer

#

the script checker actually knows if you have a number or not, it just doesn't really apply that knowledge much

mossy egret
#

ooo

low radish
#

because

#

!t elementtag.add

weary mothBOT
low radish
#

Returns ElementTag(Decimal)

#

that information is documented

low radish
#

auf made the choice to do it that way forever ago in like 2013 for simplicity

#

and it never got changed in D1

#

and in hindsight that choice gave us benefits that FS/D2 sorta lack

#

like:

frozen brookBOT
low radish
#

^ you can't do that with either an integer or a float

#

Having no particular definition of what types of numbers are actually supported, allowed us to seamlessly revise that tag to allow infinite scaled numbers

mossy egret
#

i see

#

i actually have so many questions about denizen's design lol, will probably ask them in the future

rose harbor
#

How can I define in Lore a colon?

sinful spindle
#

<&co>

foggy ember
tender locust
#

but they can just search the discord n find it in both

#

nice, now i know

foggy ember
# tender locust but they can just search the discord n find it in both

Yes, but if it's a long discussion it'll be confusing, if it's a term that's used a lot (I.e. you want to do something with an npc walk you'll finds thousands of messages), if there are several people asking questions at the same time (which happened a lot before we had threads) it'll be a mess, etc.

#

!makepost

weary mothBOT
# foggy ember !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

severe hornet
# tender locust but they can just search the discord n find it in both

when creating a post, you get prompted about related prior posts. the more posts we have about different questions, the better that tool works. please do not undermine the moderators - it is our policy that support questions should be asked by creating posts, and we ask you to respect this

tender locust
#

where 1.19.3!!!!!!!!!!!!!!!!

unkempt torrent
foggy gorge
soft pewter
gaunt marsh
#

When you open your inventory and you have an effect you can see the effect name with the duration remaining, is it possible to add custom ones of those does anyone know? Not alter existing ones but add new ones. No actual effect needed with it, just a name and a timer.

old venture
#

never thought about that, but i dont think its possible without mods

teal sedge
#

Status update for those involved in the deranged furnace burns event discussion
Now that I got all the backend working, new 'perks' or whatever I end up calling them can now be added in with no additional work other than the logic to run the 'perk' itself

fleet kernel
#

average baivo W

teal sedge
#

thanks king

teal sedge
#

Don't go in there to provide feedback though, it's still all in the 'get it working' stage

#

I'll probably end up splitting out this perks thing and giving it a config file so it's drop-in ready. Lemme know if you got any suggestions for things to add so you can make me do the work for you.

candid kraken
old venture
#

yeah but thats using the toast thing

#

it appears on the screen, not on the inventory

cold rock
#

Is it possbile to affect mining speed without applying haste or something? Like e.g. buff it for 5% instead of the fixxed 10/20/30% haste gives? Since it's not an attribute i can't think of a way

old venture
#

i thought it was an attribute, just hidden as an nbt tag

mossy egret
#

i dont think so

fleet kernel
#

if you search “custom break time” in the bar the look for jump she has made a proc for that

plucky ingot
tepid hull
#

Is there documentation which ! (or other) commands are available? i.

mossy egret
#

do you mean the !<tag> invert thing

old venture
#

i think he meant ! argument

mossy egret
#

because

#

!t not

old venture
weary mothBOT
# mossy egret !t not
Cannot Specify Searched Tag

Multiple possible tags: <ElementTag.not>, <MaterialTag.note>, <server.notes[<type>]>, <util.notes[<type>]>, <CuboidTag.note_name>, <EllipsoidTag.note_name>, <InventoryTag.note_name>, <LocationTag.note_name>, <PolygonTag.note_name>, <MaterialTag.note_tone>, <MaterialTag.note_octave>, <server.area_notes_debug>, <EntityTag.cannot_enter_hive>.

mossy egret
#

!t elementtag.not

weary mothBOT
# mossy egret !t elementtag.not

Returns the opposite of the element
IE, true returns false and false returns true.
You should never ever use this tag inside any 'if', 'while', etc. command (instead, use the '!' negation prefix).

Group

element checking

Returns

ElementTag(Boolean)

mossy egret
#

the negation prefix is only available in

#

!lang operators

weary mothBOT
#
Possible Confusion

Did you mean to search for operator?

mossy egret
#

iirc

weary mothBOT
# mossy egret !lang operators

An operator is a tool for comparing values, used by commands like !command if, !command while, !command waituntil, ... and tags like !tag ObjectTag.is.than

Available Operators include:
"Equals" is written as "==" or "equals".
"Does not equal" is written as "!=".
"Is more than" is written as ">" or "more".
"Is less than" is written as "<" or "less".
"Is more than or equal to" is written as ">=" or "or_more".
"Is less than or equal to" is written as "<=" or "or_less".
"does this list or map contain" is written as "contains". For example, "- if a|b|c contains b:" or "- if [a=1;b=2] contains b:"
"is this in the list or map" is written as "in". For example, "- if b in a|b|c:", or "- if [a=1;b=2] contains b:"
"does this object or text match an advanced matcher" is wr...

Group

Comparables

old venture
#

i think most, if not all commands with a matcher accept ! too

mossy egret
#

thats a diff system

old venture
#

ik but the question was vague so its better to just cover everything lel

soft pewter
#

!help

weary mothBOT
# soft pewter !help
Bot Command Help
**Available Informational Commands:**

help shows help output
hello shows a source code link
update [project ...] shows an update link for the named project(s)
github [project ...] shows a GitHub link for the named project(s)
issues [project ...] shows an issue posting link for the named project(s)
info <name ...> shows a prewritten informational notice reply
rule [rule ...] shows the identified rule
quote [quote] shows a random quote that matches the search (if any)

**Available Utility Commands:**

logcheck <link> gathers information from a server log paste
versioncheck <version text> checks whether a project version is current
script <link> checks a linked script for basic syntax validity

**Available Meta Docs Commands:**

command [name] [usage/tags] to search commands
mechanism [name] to search mechanisms
tag [name] to search tags
objecttype [name] to search object types
event [name] to search world script events
action [name] to search NPC assignment actions
language [name] to search language docs
guide [name] to search the beginner's guide pages
search [keyword] to search all meta docs

soft pewter
#

If these are the commands you are referring to ^^^

tepid hull
mossy egret
#

Oh

#

!info list

weary mothBOT
# mossy egret !info list
Available Info Names

Available info names: ask, thread, debug, scripts, channel, no_s, paste, pastelog, pasteconfig, pastejava, pastepom, citizensfree, getstarted, mcve, logs, restartlog, donate, timings, worksisnotcorrect, knowwhatyouknow, donttrim, cracks, skins, 1.8, plugin_conflict, guides, forum, hiring, clickcommands, iunderstand, tias, cantreadminds, faq, notspigot, toovague, xyproblem, seltool, npchealth, freeservers, forks, patchupdates, npcname, disablereplies, loadorder, piracy, crackedserver, crackedplugins, ancientversion, api, denizencitizens, invite, imnothome, leftclick, forumpostfaq, minimessage

tepid hull
#

Not all of them, but certainly a lot. A good start. Thank you :)

unkempt torrent
#

!makepost

weary mothBOT
# unkempt torrent !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

mossy egret
unkempt torrent
#

should make a post for your question

mossy egret
tepid hull
#

Really? For Discordbot commands?

#

Unique to this Discord server?

unkempt torrent
#

oh your question isn't clear

#

we all thought you meant denizen commands

#

because you asked in #1026104994149171200

tepid hull
#

No no no. My bad for not being more clear.

unkempt torrent
#

pinned post in #actives-only

#

to answer your question

#

(should ask in a non-project channel for stuff like this next time lol)

mossy egret
#

Aren’t those just everything in !info list + the aliases

foggy gorge
#

hey guys check it out

#

i have a video of icecapade and i dancing to some wonderful christmastime music

unkempt torrent
old venture
#

lmao

reef wharf
#

straight vibin

#

I've been thinking about making a system for VRmc, where you could cast spells by drawing sigils. I remember seeing this API that you could send it a collection of points, and then it would return the amount of accuracy compared to a preset drawing. and then all you would have to do is make it so that when you're drawing a sigil, instead of the sigil being in 3D space, the whole thing gets projected to a 2D plane, and then just send that to the plane to the API, and then as long as it was above a certain threshold of accuracy, then you will have cast the spell

#

but then I keep forgetting about it and doing other things instead

foggy gorge
#

if you have a VR, i'd totally contribute to that kekw_dog

old venture
#

holy shit that'd be so cool

reef wharf
#

I do have a VR. I've had a VR since the DK one days

old venture
#

as a mod or as a denizzle?

reef wharf
#

what?

old venture
#

the spell thingie

reef wharf
#

it doesn't exist yet but I was thinking a denizen thing

soft pewter
#

that'd be so awesome

reef wharf
#

I don't write mods, I'm not a big fan of Java

#

Plus Dennison makes things more accessible, because it will most likely stay available for a long time, through mc updates and stuff.

steady cove
#

what would be the easiest way to change the number of digits of a number. Like if I have the number 5 and I want to display it as 05?

foggy gorge
#

!tag elementtag.pad_left.with

weary mothBOT
foggy gorge
#

a post can digress some other tags that might be useful too tho

flint mist
#

I am posting on this channel based on mcmonkeys suggestion. I am new to Denizen, citizen and constructor. I am trying to find a way/how to set up an NPC so that players purchase it, probably with use of a for sale sign, take the NPC to there region, place it and allow constructor to do its thing. Is this even possible? I'm not a programmer. I've seen others guiding people how to set up scripts to do similar, but I don't know scripts either. New to it. "Hello, World!".. that's it.. lol.. I am trying to learn Denizen but its moving slow but going through the tutorials. But sofar I am not getting any ideas on how to go about this task.

old venture
#

!guide

weary mothBOT
foggy gorge
grim quail
#

I kept thinking gzip compress and decompress was for bzipping up entire directories, I think I need my eyes checked.

foggy ember
weary mothBOT
# low radish !help
Bot Command Help
**Available Informational Commands:**

help shows help output
hello shows a source code link
update [project ...] shows an update link for the named project(s)
github [project ...] shows a GitHub link for the named project(s)
issues [project ...] shows an issue posting link for the named project(s)
info <name ...> shows a prewritten informational notice reply
rule [rule ...] shows the identified rule
quote [quote] shows a random quote that matches the search (if any)

**Available Utility Commands:**

logcheck <link> gathers information from a server log paste
versioncheck <version text> checks whether a project version is current
script <link> checks a linked script for basic syntax validity

**Available Meta Docs Commands:**

command [name] [usage/tags] to search commands
mechanism [name] to search mechanisms
tag [name] to search tags
objecttype [name] to search object types
event [name] to search world script events
action [name] to search NPC assignment actions
language [name] to search language docs
guide [name] to search the beginner's guide pages
search [keyword] to search all meta docs

**Available Admin Commands:**

restart restarts the bot
reload reloads the meta docs

low radish
#

^ it's those + info list. You can view the aliases as a pin in #actives-only

reef wharf
#

"GENUINE"

old venture
#

actually awesome

#

share script 😏

cold rock
#

Could someone give me a hint how to delete a discord message via - adjust not sure how to define the message properly ? Also is small stuff like this worth a post? Something like - define removetrade "id:Chatbot channel:<server.flag[discord_tradechat]> edit:<context.raw_args>" - adjust <[removetrade]> delete

unkempt torrent
#

!makepost @cold rock

weary mothBOT
# unkempt torrent !makepost <@154284909542768640>
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

cold rock
#

aighty

#

I got a post open already, will post it there

plucky ingot
weary mothBOT
foggy gorge
#

but uh

#

in a post specifically also

#

it’s be good for the conversation on it :D

weary mothBOT
# unkempt torrent !makepost
Info: makepost

If you have a support question, please make a forum post for it!

"But it's just a yes/no question!"
We hear this from users quite often, and, frankly, it almost never is just a yes/no question - many seemingly simple questions lead to long answers or complex debugging or interesting discussions or...

"But you've probably gotten this question before and have the answer prepared"
All the more reason to use forum posts! When you're typing the title, it auto-searches existing posts, and thus if you're asking a repeat question, you'll instantly find the prior time it was asked, and the answer it had then, before you even press enter on your post!

"But it's not worth bothering"
Good news: it takes almost no more effort to make a post than to type in a channel! It's really really easy!

"But I don't want to annoy the helpers"
A forum post won't annoy us! We prefer it! Most of us don't get pinged or anything, it's fine!

plucky ingot
#

what do i even tag it with

old venture
#

discussion

plucky ingot
#

ok

old venture
#

gib idea what to do im totally bored and no ideas

#

denizen related, ofc

limber meadow
#

!releases

#

!update

weary mothBOT
#
Update Paper

Paper is a higher-performance alternative to Spigot that is 100% compatible with the equivalent Spigot version. It's much easier to update than Spigot itself, and carries a lot of performance and quality-of-life benefits.

Latest Paper builds are at https://papermc.io/downloads.

(If you would prefer to use a Spigot build, refer to !update spigot).

mossy egret
old venture
cursive tide
#

You can fake spawn an item drop right? What command am I looking for?

old venture
#

!c fakespawn

weary mothBOT
# old venture !c fakespawn
Group

player

Syntax

fakespawn [<entity>] [<location>/cancel] (players:<player>|...) (d:<duration>{10s})

Short Description

Makes the player see a fake entity spawn that didn't actually happen.

Description

Makes the player see a fake entity spawn that didn't actually happen.
This means that the server will not track the entity, and players not included in the command will not see the entity.

You must specify an entity to spawn and a location to spawn it at, or to remove a fake entity, specify the fake entity object and 'cancel' instead of a location.

Optionally, specify a list of players to show the entity to. If unspecified, will default to the linked player.

Optionally, specify how long the f...

old venture
#

uh. i think item is the correct entity. it could be like item_entity or whatever bs

#

create a post if it isnt!

grim quail
#

dropped_item

#

@frozen brook <server.entity_types.filter[contains[type]].comma_separated>

frozen brookBOT
grim quail
#

Er

old venture
#

lol

grim quail
#

But yeah, that's the entity type.

old venture
#

oh man i wanna do something in denizen

soft pewter
grim quail
#

oh that'd be why haha

soft pewter
#

haha

old venture
#

i even thought of recreating the entirety of warframe but then i reminded myself of whta nimsy has gone through to recreate valorant, which is definitely 1000x smaller

grim quail
#

As someone who is a warframe vet and even mods the official discord, you're better off not doing that because of the 50+ warframes and oodles and oodles of weapons.

old venture
#

imagine tho: WARFRAME IN MINECRAFT - COMING SOON

#

mineframe

#

lel

grim quail
#

I mean we got avatar in minecraft officially.

soft pewter
#

oh neat

grim quail
#

I've seen some cool unofficial servers do bending with different skills and abusing the scroll wheel, along with fake blocks.

soft pewter
#

Ooo

#

That sounds cool

sinful spindle
#

!c displayitem

weary mothBOT
# sinful spindle !c displayitem
Group

item

Syntax

displayitem [<item>] [<location>] (duration:<value>)

Short Description

Makes a non-touchable item spawn for players to view.

Description

This command drops an item at the specified location which cannot be picked up by players.

It accepts a duration which determines how long the item will stay for until disappearing.
If no duration is specified the item will stay for 1 minute, after which the item will disappear.
Use "duration:infinite" to indicate that the item should never remove itself.

old venture
#

oh i thought you meant the blue giants avatar

sinful spindle
#

ya'll are looking for this

old venture
#

oh dang

sinful spindle
#

i wouldn't use fakespawn for that

grim quail
#

Convenient.

old venture
soft pewter
old venture
#

see thats what happens when you put the ' in the wrong place >:(

old venture
#

please let the writing be good please let the writing be good please let the writing be good please let the writing be good please let the writing be good

soft pewter
#

Hehe

#

Guess we’ll have to wait and see when it comes out

old venture
#

@foggy gorge beeeeehhhrrrrrrrrrrr give me denizen ideas, something COOL not nasty stinky command manager like tick told me to make

soft pewter
cursive tide
old venture
#

i'll try!

foggy gorge
cursive tide
foggy gorge
old venture
sinful spindle
#

if it's in VR, why use a gun

#

use hand motion or something

#

telekinesis!

old venture
#

i just wont do it in vr bc i dont have one xD

old venture
#

😱

#

aim at a block/entity
do fancy magic sigils
voila!

#

who was thinking of doing magic sigils again? aya?

foggy gorge
#

jumpsplat mentioned it

#

i couldnt create something like that though lol

old venture
#

lmao

grim quail
foggy gorge
#

in VR, your <player.location>'s yaw/pitch are determined by just the left handset kekw_dog

#

the new vivecraft tags add full x/y/z/yaw/pitch locations for both handsets and the headset

#

so you'd get the real feel of "drawing" a square, or something

#

but to be able to detect that someone drew like, a star for example, i have no idea how you'd scale and determine the "difference" between what the player's star looks llike and what we define it as

#

and that's the part that i back down on currently KEK the hard part

#

i'd ask ChatGPT but it's more focused on telling me it's status kekw_dog

foggy gorge
#

kekw_dog i only know how to use the easiest web based 'enter chat and press enter' AIs currently

#

i do wanna make some cool weapons and vr mechanics before i get into that crazy stuff anyways

reef wharf
foggy gorge
#

bark

unkempt torrent
reef wharf
#

give me a sec and I'll find the repo I was looking at

foggy gorge
#

kekwcry i came back to this and was like "shit did i just start an uproar barking for jumpsplat"

soft pewter
#

lmao

reef wharf
#

found it. https://github.com/jmiskovic/lua-gestures

basically, take the pose of a players hand while they're pulling a trigger, flatten the set of points to a single plane, pass them into either a locally running or cloud running version of this algo (or one like it) and then POST the result back to the server (or waitable it)

GitHub

A lua port of the JavaScript $1 Unistroke Recognizer - GitHub - jmiskovic/lua-gestures: A lua port of the JavaScript $1 Unistroke Recognizer

unkempt torrent
soft pewter
foggy gorge
#

wow so tbh, chatgpt kind of made it feel like i might actually have an idea of how to do the thing

quartz wraith
unkempt torrent
#

yes

foggy gorge
#

does it work for tridents

unkempt torrent
#

can you load tridents with arrows?