#dev-general
1 messages ยท Page 153 of 1
imagine not having a 4k tv
1080p :(
shut your mouth little kid @onyx loom
My phone is 1440p I think
sure the dpi is higher, but in the grand scheme. yuck
1080p is literally fine
I've never ever had a problem with it
4K literally offers 0 bonuses for me
4K is something
8k is just 7head level
a waste of money
I mean mobile lets me watch Netflix while making a sandwich
anything above 1080p is a scam
Can your TV do that?
yes
4k monitor is good
no but who tf watches Netflix whilst they're making their lunch????
who needs wires amirite
is watching the film not enough for u?
@errant geyser wakey wakey I got something to tell you btw
Octo's now on version 2
streaming services ๐คข
the CommandManager has been made abstract so you can write your own implementations of it to choose how you want to handle commands (useful for BardyBot's almost ready prefix-per-guild system that uses PostgreSQL)
good old traitional TV
i bet niall watches tipping point and pointless
oh yeah, how could i forget bullseye too
tipping point was a decent show when I used to watch it
pointless is, well, pointless

bullseye is brilliant

with ol' what's his name
how many people said "kotlin" for the worlds best programming language?
Me
pointless answer!
And The Chase
my man
SHUT UP
๐
good ol' Bradley Walsh
national treasure
speaking of Bradley Walsh
emoji movie
A compilation of hilarious moments from the British television show The Chase. Enjoy! (Footage credited to ITV)
Like This video?
Feel free to Like, Comment, or Share it!
Follow me on: Twitter at:
https://twitter.com/Th3M0nst3rMan
jesus christ u guys couldnt get more biritish
cheers mate
Cheers twat*
ngl tho whens bradley walsh getting knighted
idek know where smethwick is ๐ฌ
Birmingham
and i live there ๐ฌ
hes gonna break your legs
pls no ๐ญ
does jetbrains toolbox offer anything other than auto updates? and is it worth getting it just for intellij?
Yes
It has project management too
So you can open a specific project from the toolbox
Even if you only use intellij it's still useful to have
clojure...
no
Why
What would you guys use to get data from a server using a discord bot? I need the value of some papi placeholders from the server
Like, how do I make a get request to a plugin ๐คฃ
jda?
Oh shit, it's actually working
They are all bold for some reason though
epic times infinity?
while(true) {
while(true) {
final Method method;
EventHandler eh;
do {
do {
do {
if (!var16.hasNext()) {
return ret;
}
method = (Method)var16.next();
eh = (EventHandler)method.getAnnotation(EventHandler.class);
} while(eh == null);
} while(method.isBridge());
} while(method.isSynthetic());
``` noice
๐ฌ
jda?
@steel heart ya
eventually you'd need the bot to have the expansion as dependency
How so?
what exactly do you want?
as I'm using kotlin/intellij and it seems like they're pushing to not using get and (), ex:
file.getParentFile().mkdirs() -> file.parentFile.mkdir()
(Main class extends JavaPlugin) getDataFolder() -> dataFolder
is kotlin's/intellij's meta to use get / () minimally?
Guys how would you go about making a model with armorstands?
Like posing the armor stand?
there is websites that can let you do it more easily
No like making models like cars and such with blocks
that is a hell to do
yea getters and setters arent really a thing in kotlin @obtuse gale, i mean they are, but property syntax is preferred
ah
It's done with falling blocks on armorstands though right?
I believe so, just falling blocks on armorstands with no gravity
Okay will try it then
Ugh, why MD why
Could have made the click and hover event implement event or something, not be 2 separate things >.<
@obtuse gale functions still exist, mkdirs and things are perfectly fine, but like Kali said it's more idiomatic to just use property access than getters and setters
makes sense
yeah they're kinda pointless when you think about it
What version of spigot, paper do you recommend for survival?
latest
Always paper
unless you're in 1.8.8
is there a way to change where the index.html will be with dokka?
Guys why does a falling block with no gravity just disappear after a bit?
anyone know what list it is looking for?
for a multimodule project
dokka 1.4.0-rc
Yo! i wanna make a plugin for a youtube video and have the idea and everything. Can someone DM me about this? Im kinda confused on how i would do it. I do have experience thought
https://www.mc-market.org/threads/617935 lombook ๐ข
Look what else is using lombok https://github.com/SpigotMC/BungeeCord/blob/master/chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java
Guys why does a falling block with no gravity just disappear after a bit?
@obtuse gale Anyone knows why?
lol just was looking at what lombok is. data class ftw lol
That is just poorly trying to copy Kotlin data classes
but what came first
Kotlin lol
lmao
lomb๐คขk
How do I check if a player is in a certain group?
Example, check if the player is in the VIP group
probably the api - unless theres another way to do it with luckperms
anyone see the real usage of p.updateInventory?? I'm really curious because 99% when I use it, it doesn't solve my problem ๐ค
Maybe because it's not a solution to any arbitrary problem
I agree
I agree
*** N E T B E A N S ***
Execute this heretic
Hello fellow bluej users
"everything else" doesn't include clojure ofc
everything else is bad in comparison
Odin
Odin bad
frigga bad
Frigg off
clojure sucks
Cornelius 7:11 Thall shall not use the Odin language
We must document all these quotes
Hickey 4:20 Java Bad
โน๏ธ
English
Nigel 19:2 - "any man whomst shall say Clojure bad declares that he is too stupid to comprehend thine language"
๐
D.C. Nigel
that's wrong bm
you misspelt a word
Nigel 19:2 - "any man whomst'd've shall say Clojure bad declares that he is too stupid to comprehend thine language"
Ofc it was about clojure
whomst'd've
oh yeah sorry my bad
must use correct english frosty
Can you type out the full word of that
It doesn't really exist
whomst'd've'ly'yaint'nt'ed'ies's'y'es'nt'ed'ies's'y'es'nt't're'ing'able'ric'ive'al'nt'ne'm'll'ble'al
is the full word
Oh I see what you mean lol
we just shorten it for normies
#49 #12 #304
๐ ๐คทโโ๏ธ
๐ฌ


๐ณ
The only emojis you need
๐ค 
Lmao #738969308746612766 wants to give 2-3 dollars for a big fork
who work for money these days
ikr, imagine not making a complete core for free
Same
I mean do you want kotlin or java?
You decide
well when your asking for syntax...
also intellij can generate it for you if you implement CommandExecutor
onCommand i guess
kotlin good
Java good
All languages good
rust superb
but...but java
java bad
kotlin good
java bad
Lmao #738969308746612766 wants to give 2-3 dollars for a big fork
@analog crater wait why is that fork literally removing like 10 features and adding aliases
Because big brain moves
What they requested:
Remove entirely.
-Warnings entirely
-Mentions system entirely.
-Remove Staff tp
-Remove /strip command
-Remove the command /staffplus
-Make plugin named /MrStaff leave author the same but say its forked
-Remove ip being shown in /examine.
-Remove miner gui out of gui and instead make the gui hub straight up open unresolved reports.
-Remove command /eview
-Remove /clear
-Remove /lockdown
๐ค
Still takes time
true
I am very confused though
why would you request a fork that removes half of the commands or something
I told you, big brain moves
I will do that for free but it goes at the bottom of my todo list
my todo list is infinitely long
CircularQueue
@prisma wave why are you not kotlin mitten
have you betrayed our Jetbrains overlords
cm*
Because I have seen clojure
It is superior in every way
Functional programming is the future
doubt
clojure ... overseen by Rich Hickey as its benevolent dictator for life.
hmmmph
He would definitely beat Andrey and James in a fight
andrey
ah
bdfl?
sudden wall of text
wrong chat lmao
=paste
Please use a paste service to share configs, errors, code and long logs.
โข HelpChat Paste
Never tell someone to use pastebin, ktnx
=howto
wut r u trying to do epic
Never tell someone to use pastebin, ktnx
@hot hull I said "or whatever barry's one is called"
is it just called HC paste
lol
I know but still, pastebin shouldn't have even come to your mind :((
Can we go back to circlejerking
you shouldnโt have included pastebin
#development pls
you shouldnโt have included pastebin
@quiet depot i'm sorry almighty piggy
I shall repent
All hail HC Paste
I would like to see you try
Better make an AbstractExecutionerProvider
OOP weaklings
:(
My javascript weak typing and horrible code without any real standard will mess your life up so much you'll wish you never mentioned clojure
I see your JavaScript and raise you ClojureScript
uh oh
oh no
you can defend against horrible javascript code
I thought only kotlin and typescript could do that
damn it
I use python
And I oop
python bad
Uh
Clojure doesn't have indentation
Well it does
But not like other languages

we need to work together to enlighten this heretic
okay can we go back to circlejerking about kotlin
kotlin good java bad
true statement
is okay okay
Circlejerk bad
Petition for ?java-bad and ?kotlin-good ( Can both redirect to same FAQ)
3 4 people here have sinned
I execute my veto power to declare the result of any petition relating to such, as invalid.
ah, your gonna add one anyway :))
no nothing will happen
I can see such faqs being abused in a support context, which I am not a fan of
idc about your circle jerking
touche
but I hate it when it comes into a support convo
nah yeah jokes aside it's a bad idea
^
you are circle jerk
silence rust user
wtf bro
human rights don't apply to rust users
i was asking for support with minecraft and you hit me with that
reported!
my dad owns discord btw
he is banning you know
oh no
hello sorry my brother was on my account
im---breaking up -- ..
its nice to have a dad that owns discord. You can send messages without having access to internet xD
can you unban me pls it was my brother and my dad has sent him into the basement as punishment
i would never say something like that
thank you !!
i will never let my brother on pc again
i dont even know what rust is !!!
haha
eliminate your brother
we will

this incident will not occur again
no food or drink
My dad actually owns internet so if your brother gets food i will make him ban
ok don't worry!
ask your dad to ban pro-java propoganda
yes !
Lol
in places like china they can probably just say "you are not going to use java anymore"
and they literally cant
excuse me my dad owns china
๐ณ
๐
smh

no

no

๐

yes

kotlin
give me emoji of kotlin please
sooo to use ViaVersion etc etc... do I need to put the plugin in each server or can I just put it in Velocity plugins folder?
oof
sooo to use ViaVersion etc etc... do I need to put the plugin in each server or can I just put it in Velocity plugins folder?
@pastel imp just use version connector on velocity
wait what?
and put viaversion on all spigot server
version connector?
basicsmenu
advancedmenu
that does look like a bug lol
I just realized I have no idea how BungeeCord works. Do you have to install plugins on each server on your Bungee network for it to work? Or can you just install it once and all the servers run it?
How do you guys work with bungee plugins?
It depends on the plugin
Most plugins you keep on each individual server
Some can run on bungee as well, some can only run on bungee
As Niall said, depends on what the plugin does
Noice
Is there a type of HashMap that takes multiple keys as input?
MultiMap
I would like to avoid doing HashMap<Key1, HashMap<Key2, Value>>
MultiMap
@ocean quartz Hm no that's something different though
MultiMap has multiple values for each key. I want a sort of n-dimensional Key/Value map.
Something like Map<Dimension, Key, Value>
Can you elaborate?
Oh yeah you're right mb xD
Noice
@ocean quartz Can you make that into a library? I would love to steal that piece of code.
That is a lib :p
Just make your own object, which stores let's say two strings, which are key and value and then just use Map<Dimension, Object(this being your object)>
Frosty i'll fix it when i do this https://discordapp.com/channels/164280494874165248/695431668944732270/741857486918778960
kk
And it'll be a public lib yeah
[16:15:14 WARN]: [SpawnerMechanics] Could not save types.json to plugins/SpawnerMechanics/types.json because types.json already exists.
[16:15:14 WARN]: [SpawnerMechanics] Could not save blaze.json to plugins/SpawnerMechanics/attributes/blaze.json because blaze.json already exists.
[16:15:14 WARN]: [SpawnerMechanics] Could not save iron_golem.json to plugins/SpawnerMechanics/attributes/iron_golem.json because iron_golem.json already exists.
[16:15:14 WARN]: [SpawnerMechanics] Could not save pig.json to plugins/SpawnerMechanics/drops/pig.json because pig.json already exists.
[16:15:14 WARN]: [SpawnerMechanics] Could not save skeleton.json to plugins/SpawnerMechanics/drops/skeleton.json because skeleton.json already exists.
[16:15:14 WARN]: [SpawnerMechanics] Could not save zombie.json to plugins/SpawnerMechanics/drops/zombie.json because zombie.json already exists.
Any way of suppressing these?
Just make your own object, which stores let's say two strings, which are key and value and then just use Map<Dimension, Object(this being your object)>
@hot hull That's just using Map<Dimension, Map<Key, Value>> with the latter being my object. Don't like that particular approach very much.
I will probably end up doing it this way but I really don't like it...
:what:
Settings per world? e.g
Id just wrap the map in its own object
Map<Key, MyObject>
class MyObject {
stuff = Map<Key, Value>
}
Yeah basically. But with the crux that one Dimension has higher priority over the other
So say if you have settings in the Overworld, those are valid everywhere. But if you override those settings in the Nether, those take presedence in the Nether
@hot hull check if the file exist?
But the Overworld settings still hold true in the Overworld
But that's ew Gaby, more lines :p
bruh
Come on, look how clean this is :((
private void saveResources(final String... resources) {
Arrays.stream(resources).forEach(resource -> saveResource(resource, false));
}
now you want me to add in more lines
Wow Frosty not using allman
@empty flint Table
I'm sorry, but it's a commission :((
Why does that matter
The fuck is that
imperative code good, declarative code bad
KM, I've made all of them in k&r so far, would be kek if I switched it now :p
cant borrow variable, value already moved ๐ฆ
error[E0507]: cannot move out of `track.emergency_status` which is behind a mutable reference
--> src/network.rs:54:36
|
54 | println!("{}", track.emergency_status.unwrap().get_name());
| ^^^^^^^^^^^^^^^^^^^^^^
| |
| move occurs because `track.emergency_status` has type `std::option::Option<mode_s::EmergencyStatus>`, which does not implement the `Copy` trait
| help: consider borrowing the `Option`'s content: `track.emergency_status.as_ref()`
k&r good ๐ฆ

Lol
Couldn't think of a better name for em
@heady birch did you send that error randomly or
yes
@lunar cypress Actually if you fancy helping me on something
ExtendedSquitter::AircraftStatus { emergency_status, squawk } => {
track.emergency_status = emergency_status;
track.squawk = squawk;
println!("{}", track.emergency_status.unwrap().get_name());
}
Cant borrow last line track.emergency_status
What can I actually do to solve this
Oh
.as_ref()
I would like to try and learn the proper way of doing that
I try unwrapping it earlier but no difference
Would copying be the preferred way?
Problem is that track.emergency_status owns its content
Ok
And you can't just take it from it
But i can take a reference from it
Yes
That way track still owns it
Copying is rarely what you want to do
Or rather cloning
Because Copy means it's copied on assignment (the number types fall into that category for example), cloning is an extra function
Exactly like Discord now!
Epic
Frosty then you can fix that thing right?
Which stripe?
The tab completion thingy
Conclure, huh?
Better?
html
Perfect Matt 
Being able to send messages via JSON
is Char = String + Int (I forgot ๐
)
@lunar cypress My second question is use of Option/Result (im using it quite alot, for most of my function return types and structs), is it going to effect performance much?
ok thx
I can't speak much about performance, but using those types is very idiomatic @heady birch
So don't worry about it
They're the standard way of expressing optionality and errors
๐
That #738969308746612766 lmao
they just get better and better
Can someone do my #738969308746612766 ? lmao
I can't figure if that's a legit request or not
You could have asked for a custom game
@obtuse gale i will do it in clojure
Lol
Spigot-API is getting so boring that I'm creating my own server without it
EWWWW
silence
@obtuse gale Can ya yeet your joke request 
Yup
Or ya know, bump the budget to like 500 so people see you mean bussiness 
I mean I would never pay that kind of money for a plugin if I can make it myself but I will consider ๐
Will definitely keep you updated on this
@heady birch Can you not smh
I still can't figure out if that's a legit request or not
the 2-3$ one?
The custom bungee
Btw so all the ones that don't have Taken are available?
The gist is to not edit and say taken, and just remove it
If they don't complete it, you can just repost it anyways
A bit of a mess
@lunar cypress When I spawn a thread (with loop) in, my application just closes. Would you know why that is or?
Outside the thread its fine
wdym outside the thread
I mean assembly fixes mess ๐
no it doesn't
I mean
thread::spawn(move|| {
network::connect(&mut track_list);
});
Application closes straight away with this ^^
network::connect(&mut track_list);
Works like this
Interesting
It can outlive the parent
let mut track_list = track::new_track_list();
let net = thread::spawn(move|| {
network::connect(&mut track_list);
});
loop {
for (address, track) in track_list {
println!("{:x} {:04x}", track.address, track.squawk.unwrap());
}
sleep(Duration::from_secs(1));
}
I cant borrow track_list in the for loop
@lunar cypress How would I go about approaching that
you really think that rust is more readable than clojure
they both look atrocious ๐
lmao
end of story
Do you read clojure from center to sides?
because reading it from left to right makes even less sense
:)
we all do
me yugi and katsu
you wouldn't read println(multiplier.apply(adder.take(3)))) from center to right
^ that
the same goes for clojure
talking about programing switch to old style akari pcs
I want to peck my eyes out
howl frik
Yeah lmao that theme
who da fak doesnt use folders
where are the folders?
yeah when its bright
white?
Atom One Dark in high contrast is wayyy better than whatever that is Frosty I gotta say
Darcula is fine
i have better theme
I use Material Oceanic
i use material something
Material is trash
gross
idk the name
No wonder your IDE crashes every 5 min frosty
Material is good
No
thats his pc being bad
No, no, no, no, no, no, no, no, no, no, no, no, no
@errant geyser The actual code screen is more contrast, I just like this cause it doesn't pop out so much when actually focusing on code
ew
No finals
cropStorage
What is this bullshit
thats good
theme is friking good
@prisma wave that is so kind of u to take up on nialls request
ur theme bad
group by feature
Also packages should be lowercase not cropStorage
i group like i want.
Can we talk about that for a sec
It should be lowercase
stfu
But wait

And it should be a single word
i name my interfaces how I want
lowercase good
@onyx loom thank you, i always try to help people who are dumb rust users :)
Ecloud rebuild in Rocket + rust
lovercaseiswierdtoreadgoahheadreadthisshit.
let's not
Lemmo is making it in vue ๐คข
a rewrite in clojure however
do you name your packages like that'
now that would be nice
yeah but not vue
true
But that is just my 'vue' on the situation
anyone who uses camelcase for package names should be shot just like the rust users
Plural package names
^
Is it just me, or is this not a word?
Accrue
context: AccrueClaimBlocksEvent
cropDrops
wait
im outta here
@hot hull it's a word, just a very obscure one
kotlin doesnt say im not allowed to use uppercase it just says its not recommended
so go away
I'm assuming it's similar to acquire (if I spelt that right)
similar
accumulate or receive (payments or benefits) over time.
"they accrue entitlements to holiday pay"
Gasper do not contest the laws of HelpChat. Good laws they are, some of the best in american history. The HelpChat community are true heroes.
dont ever mention america to me
not realy
Yes
america invented rust
World superpower
specialy trump
bruh how the fuck does this person even manage to find anything in this plugin...
most pepl that have iq in amerca are from EU
Like damn
Atleast it's allman 
Probably no australia
yay
Australia would be long gone without america
bruh how the fuck does this person even manage to find anything in this plugin...
do you mean m,e?
This user uses eclipse
IJ yells at you for this kinda shit, in eclipse it doesn't even warn you
XD
Look at Scholtes' code, he still uses
Map<String, String> map = new HashMap<String, String>();
cause eclipse doesn't tell him the second param declaration or whatever tf it's called is unnecesarry
ikr
Johnny
@lunar cypress Hello
Would you be able to take a look at my question when you are back on-line
bruh I can't even move these classes into a package
hashMapOf() 
what even is that plugin?
GriefPrevention
hashMapOf()
mutableMapOf()*
Trynna fix some jank
well yea true
whats worldedit/ worldguard code like
can someone help me ?
Don't ask to ask, just ask
Also KM, speaking of SRP, take a look at this bad boy :kek:
https://paste.helpch.at/ibobeguduq.cs
hm well idk if this is the right channel
aight
#development for dev help
3807 lines huh
I need bleach after this 
this guy never heard of avoiding nesting
this guy never heard of anything
this looks like great code to me
And also the inconsistency
thats why you encrypt plugin so pepl cant read you ugly code hehehhe
no i like getting bullied for my code
It's annoying cause if I change 1 list to abide by liskov, I'm gonna have to change all of them..
ha
Gasper, if you obfus your code, you're never gonna improve
if (claim.siegeData != null)
return false;
if (player.isOnline())
{
player.kickPlayer(reason);
}
That's why I keep all my shit OS, so people can judge, and so that I can approve
approve?
improve
okay
soz can't type today
Y'all ever noticed how messy mc protocol is
There are like 7 steps for handshake
its bad
Yeah
tell me about it
if (packet instanceof ) {
} else if (packet instanceof) {
} else if (packet instanceof) {
} else if (packet instanceof) {
} else if (packet instanceof) {
} else if (packet instanceof) {
} else if (packet instanceof) {
rewrite mc into kotlin
or rewrite mc into kotlin
i'm doing that
bungee visitor pattern ๐
Took me like 4 hours to write a simple jar that has a colorful MOTD
for the server anyway
XDDD
servers are fun
then make c# version
absolutely not
No
then c++
Imagine if MC wasn't obfus, all the nice shit we could've had
Yes
forge is basicly opensource mc isnt it?
then c++
that's bedrock
ye
bedrock is doodoo
I'd rather code a mc server from scratch than to recode the mc server
Which I'm already doing
^
also sorry ik this is mc question but yall are active, 1.8.8 jar version is 1.8.9 basically correct?
if (packet instanceof ) {
} else if (packet instanceof) {
} else if (packet instanceof) {
} else if (packet instanceof) {
} else if (packet instanceof) {
} else if (packet instanceof) {
} else if (packet instanceof) {
@heady birch ah yes, brilliant
Oh yea, Mineplex code got leaked a few days ago
1 question what would be better reading from configurationsection (config) every some time or just cache data from config into mutablemap?
It's a kek
A
1 question what would be better reading from configurationsection (config) every some time or just cache data from config into mutablemap?
personal preference, using a map gives type safety but no real performance gain
okay
eh i've already changed it into hashmap
watever.
mutablemap*
i love to get baseblock of multiblock crops
its just so fun
idk why doesnt mc have that built in
no youre gonna go thru blocks to get the source one.
Well no choice haha
having to deal with version supports
It's what makes spigot fun
K rece v slo fuj, ker weeb
code your server then
solution:
fun getBaseBlock(block: Block): Block{
var bdata = block
while(bdata.getRelative(BlockFace.DOWN).type == block.type){
bdata = bdata.getRelative(BlockFace.DOWN)
}
return bdata
}
I don't speak ancient runes
its not runes
I cant borrow track_list in the for loop
@heady birch you can't?
slovenia
yes
you should be able to
i love how google doesnt have voice for our language
My bad wrong
borrow of moved value
because I give that variable to the thread
move || {
}
what's that
use something else
No
well have you tried borrowing?
I am arnt I
Niall join the dark side ๐ข
seems like you're confusing borrowing and moving
well once you've moved the value to the thread that's that
can't use it outside anymore
what are you trying to do anyway
net handler populates the track_list
what's the purpose of the loop
and I want to print out everything in the track_list every 1 s
well that is not at all thread safe
that wouldn't even work in java
yeah... but that is an extra step
first of all, what does new_track_list() even return
pub fn new_track_list() -> HashMap<i32, Track> {
return HashMap::new();
}
One could say its unneccesary
i guess the rust way would be quite different
yeah
you can use hash map
but you need some extra reference types
Arc<RwLock<HashMap<i32, Track>>> try this
in the future
i will also be sending the contents of that map to alot of other connections
should be covered by this
the Arc allows for shared access and the RwLock allows for n readers / 1 writer afaik
Okay
when is github gonna release a dark mode lol
Because I wouldn't really want the rest of stuff getting held up
the writer will be writing constantly in short bursts
should be fine
if you want to mutate Tracks across threads you may need some additional measures
piss off
I was trying to see how long I could go before someone noticed I was using ๐ instead of ๐
Lol
Looks like a sick emoji
A tad better :((
is it though
just recode it
ain't nobody got time for that
XD
anyone know how to remove the last element of a vector java without vectorname.remove(vector_length);
Why are you using vector
not my question
um right
or are you talking about something other than java.util.Vector
the data structure vector
because if so you do need to clarify
Bad, where's that sexy completion
No
Gotta fix a few issues now, apparently 2 actions with no normal text in between breaks it xD
Also suggest and command are not compatible, I'm assuming only one click event is allowed
Also what syntax should I use for Obfuscated text?
/*
Like /*text/*?
Lol
How about ||text||? @ocean quartz
Ooh i like that, thank you!

