#dev-general
1 messages · Page 217 of 1

🐷
@frail glade Damn, good luck
@safe lily work with nbt
ItemStacks are mutable and you won’t be able to keep same instance all the time since it clones itself in most operations
Namely when adding it to an inventory
so a superclass is a class that doesn't inherit any other class but is inherited by other classes in java?
I believe that would be the definition yes
bcz I saw someone saying their main class in a plugin is a superclass but if it can't inherit other classes how can it be a superclass.
Where'd you see someone say that
dont trust anyone if they say something in plugins 
I think it was here or in #development . Yesterday pretty sure because today I slept the entire day xD
oh I think this was it https://discordapp.com/channels/164280494874165248/165129131770511360/775748912832839751
and seems like they asked in both channels
oh wait. I think I've red it wrong LOL
welp anyways I still needed to know that
since I'm trying to learn java xD
just create a new instance of ur main class 
@steel heart so CraftItemStacks?
Well yeah but just use nbt
It will be your best friend in this project
@forest pecan
@steel heart
@obtuse gale
Lol that pfp
He has Skype as well
Lol another peppe squidward
where?
Ur brother dumbo
oh. he's a squidward peppe tho
ye
Imagine baby blitz
┬─┬ ノ( ゜-゜ノ)

@forest pecan Idk
@steel heart @steel heart @steel heart @steel heart @steel heart @steel heart @steel heart
join vc
yessssn't
Hello! I want to use the Pathfinding API, to make an entity go to a player, but i want the entity to keep a distance of X blocks, so i need to calculate the position to the player with an offset of X blocks, but I am not good at math so i need some help
Please @ me if you have an idea
lmao
Haskell
good language
you know it?
Clojure still best lang
Nice
it was my first real fp language
true true
Seems cool though
it's fun to play with
frosty dont joke about that.
Haskell is as functional as possible
If it was "purely" 100% functional then most things wouldn't be possible
No printing, no file handling, etc
They’re cool
This guy need to be punished
agreed
He is notoriously known for that
Ye
Guy how do i cancel this runnable:
public void startMagic() {
taskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(Main.class), new Runnable() {
double var = 0;
Location loc, loc1, loc2, loc3;
final ParticleData particleData = new ParticleData(player.getUniqueId());
@Override
public void run() {
if (!particleData.hasID())
particleData.setID(taskID);
particleData.removeID();
particleData.setID(taskID);
var += Math.PI / 8;
loc = player.getLocation();
loc1 = loc.clone().add(Math.cos(var), 0, Math.sin(var));
loc2 = loc.clone().add(Math.cos(var), 1, Math.sin(var));
loc3 = loc.clone().add(Math.cos(var), 2, Math.sin(var));
player.getWorld().spawnEntity(loc1, EntityType.ENDER_PEARL);
player.getWorld().spawnEntity(loc2, EntityType.ENDER_PEARL);
player.getWorld().spawnEntity(loc3, EntityType.ENDER_PEARL);
}
}, 0, 1);
} ```
because
ah but thats dev general-
ah but thats dev general-
@drowsy bay see the channel topics :))
okay thank you!!
More circlejerk relaxed area to discuss development topics
Is this that "paperspigot" discord I hear so much about
nah this is the spigotpaper discord I'm afraid
The paper spigot is kind of deliberately talking about controversial things about the spigot discord so probably gonna be beef soon
Btw paper is also going to make a hard fork I believe so they won’t be dependent on spigot :0
Sick of hearing about this "paperMC". Soon they'll want to be called PaperMojang the way this is going
oh wait aren't they called like that already?
Utterly ridiculous
Will be fun to maintain a plugin to support both
the more you know.
oh wait I just thought about that. Now you have to make 2 plugins to support spigot and paper 
ma plugin works fine on paper tho?
Btw paper is also going to make a hard fork I believe so they won’t be dependent on spigot :0
I don't think that's how it works
They will still use the same API, but paper won't need to wait for spigot to change things anymore if it's not using spigot as an upstream
it won't
they'll probably keep support for spigot plugins but make the API more attractive so people switch
which in turn forces server owners to switch too
which probably most already did anyway but still.
Imagine using spigot
imagine
Why do meteors always land in craters?
I'm here asking as well. I don't have an answer
Maybe you can infer something about this :0
I don't have conversations. I'm lonely 😦
im not even in spigot/paper discord 
So this person asked about support for 1.8.9:
https://imgur.com/a/FePrYx2
https://imgur.com/a/5UD2ApZ
Telling me I'm mini-moderating
This is very dissapointing
The staff response?
They just said alright you should update

And kinda like
"padded" it down
Like
I don't get it
Why are they like this?
Being a new member there -- you get called a non and thrown around like shit
@frail glade Damn, good luck
@hot hull
Just saw this. Thanks, haha. I ended up going on an 8 hour homework grind. I got a paper done, chem lab, 2 quizzes, and a test. Today I just have to design a 30 minute presentation on homelessness in America. Hopefully only taking 5 hours or so today. 😂
because nobody knows who you are
Yeah I mean there software might be good but community definitely need better staffs in my opinion
yea that's what being a non means
@normal talon indeed
In which community
everyone is a non
Civilization
same
Pulse why 1.16.4
wait did i
Build tools :/
Also nms changed between 3 and 4
Just made myself an egg cheese sandwich, this shit is so good
Lol
Yasss egg sandwiches are amazing
🤨
what
idek lol
😳
camo memes programming edition 
kek
Can someone test this for me?
maven { url = 'https://repo.mattstudios.me/artifactory/public/' }
implementation "me.mattstudios:triumph-config:1.2"
For some reason it's not importing even though it's on the repo
Doesn't show with errors on the gradle panel but does in the dependencies
Oh Library Gradle: me.mattstudios:triumph-config:1.2 has broken classes path
Oh i think i found the problem
\o/
- Required org.gradle.jvm.version '8' and found incompatible value '15'.
- Required org.gradle.usage 'java-runtime' and found incompatible value 'java-api'.
Yikes
Ayy fixed, was java version problem
split an already small community into pieces.
he influenced TENS of thousands of young lives
doesn't sound like a small community to me.
Berry small
:))
LOOK AT THAT CHAD
@hot hull use ur sharex profile on that image
Beautiful
amazing
Jokes on you because hes just paid me 100$ to put COMPULSORY server announcement ads every 5 minutes in KiteBoard 🙂 (joke)
Is there any combination of regex split + match?
for example, I want to replace text surrounded by <b> with some other text. I can use a regex to find every occurrence of <b>, but that won't tell me where it is so I can't replace it, and if I split, I can't extract the data from the <> tag
this is possibly an xy problem
I want to do simple html inspired parsing for message colours. eg ```
UnknownCommand: "Unknown Command. Type <2>/fpm help</2> for help"
obviously including a full markdown/html parser wouldn't be ideal.
so any other suggestions?
who cares?
👍
oh seems like cube made a post about this as well LOL https://helpch.at/blog/why-luckperms-is-not-open-source-anymore
It's been posted on spigot as well https://www.spigotmc.org/threads/luckperms-is-no-longer-open-source.447014/
oh shit
Damn
Wait what why is it not os anymore
Oh wow you fucking assholes

xDDDD
read articles...
Ok brb
Fuck u
I hope you stub your toe.
just copy paste this
in every discord channep
discord server*
including spigot, LuckPerms and others
he fell for it as well
broh
lets create some chaos
unbeliavable
Go away
xDD
I wonder if there are people who will fell for this in #off-topic bcz they muted #dev-general
time to find out
Blitz sotp overusing bad trolls
should I just paste it in the LP discord server? probably going to get banned tho
should I just paste it in the LP discord server? probably going to get banned tho
don't worry
here I'll give you a copy paste
Guys you heard about this? :
<https://www.spigotmc.org/threads/luckperms-is-no-longer-open-source.447014/>
<https://helpch.at/blog/why-luckperms-is-not-open-source-anymore>
<https://www.latlmes.com/breaking/luckperms-is-no-longer-open-source-1>
LuckPerms no longer OS :(```
I'm going to do it in general xD
did it in general-1
bcz @steel heart stupid and codeblocks it...
U dum
posted it in #off-topic in LP server as well
they'll probably never admit it but I bet at least 10 people fell for it
True
welp @umbral mica fell for it and also another person
No I didn't fall for it
I was well aware it was a meme, I just wasn't sure of what variety
oh I see.
anyways
this made my evening fucking amazing.
had a good laugh. time to go back to work
Lol
look guys hulu is funny as well https://i.imgur.com/9x4BdaY.png
dev-general
Unless you’re genius no I don’t think that is possible. Idk maybe you could work around it with groups
Go
sadly i do not know enough
although apparently haskell is very good for lexers and parsers
no
it has some uses
same with clojure
clojure is great for backend because of JVM + its multithreading capability
Ah yeah
😦
i might just use a different format for now
cba to make yet another useless library for a simple task
Lol
@prisma wave #772310218104897580 message bruh xD
can you help
mm you should probably do something like a replaceAll, from the match you extract the group/s and as a replacement you return the replacement you need ig
should = could
idk lol
hmmm
idk
the problem is it's not as static as that example
there will be different tags
and i need to extract the tag
so it isn't like you have one regex pattern to match all
no not exactly
the format is <some-number>
and i need to extract the number
I'm currently using <(\/)?\d> for the regex
and what do you need to replace with what?
so for example, hello <2>world</2> lol should replace with basically HELLO_COLOR + "hello " + COLOR_2 + "world" + HELLO_COLOR + " lol
it's for a dynamic colouring thing
so <2> refers to the configured "secondary colour" but then after closing, the default colour will be returned
i could always change it to just be like hello $2world $1 lol, but that seems like more effort for the end user
if you want to extract the number couldn't you <(/)?(\d)>? the first group tells you if it's an opening tag or a closing one, and the second group is the number you are extracting
seems.... overly simple lol
unless I'm missing something
yeah, the problem is associating that with the surrounding text in the right way
i think i'm on to something
how does a stack for every color used sound? push on <> and pop on </> 
so when popping, you peek and re-color it to that
lmao i've done exactly that
great minds think alike 
UnknownCommand: "Unknown Command. Type <2>/fpm help</2> for help"
&aUnknown Command. Type &c/fpm help&a for help
seems to work well
thanks for the assistance
:D
Only thing you'd need to make sure is that the closing tag corresponds to the one on the top of the stack
Otherwise, throw runtime exception LAFF
yeah working on that rn
<2 suggest='/fpm help'>/fpm help</2> mf-msg 2??
it's like shittier html
Lmao
🥲
ik u wanna change up the elara syntax a little bit... but what about having that for the syntax????????
😳
That is like MiniMessage, basically more bloated syntax
Ikr 
🥲
what do you guys prefer?
[2 suggest='help']/help[/2] 
<2 suggest='help'>/help</2> 
get a better phone
2
It’s more ml like
i think the second one looks horrible lol
I mean I like ml so just a preference
I kinda prefer 1
Though tbh [/help](suggest: help) better ;p
I just really don't like the closing tags
It's like boilerplate having to repeat the tag to close it
^
That's what my lib does which is literally markdown, much simpler than html
yeah markdown is nice
So what about tomlxhtmlhtmlyaml

i was hoping to only have to use regex here but probably not 🥲
[/help](suggest: help, hover: Click for help) ?
What i do is [/help](suggest: help|hover: Click for help)
hmm
I've just realised this isn't even what I wanted to originally do lol
i want colour placeholders, eg [error]You did something wrong![/error]
this has mutated a little bit lol
so with that in mind, any suggestions?
maybe i'll scrap the closing tags and just make people do it themselves
Back to working on gradle plugin and back to suffering, great
So, let's see if i understand, I have extension A, i create it, works fine
I copy A and name it B, now I have A and B both the same code, both same creation, A works, B doesn't..
Thanks Gradle
Soooo someone hit me up for a business inquiry
They wanted me to be lead dev on a (very) small network, but I'm so full of things to do and so little time to spend
So I naturally said yes
Someone send help ;-;
help is on its way
oh no we just got a S.O.S from the help team. seems like their boat is sinking. I'm afraid you're going to have to handle your problems by yourself.
;-;
hehe
I'm fucked lmao
how much is the guy paying? I can take your job if its paying well. but they need to know I'm a very good dev
omg. I didn't even realise. In the club is almost at 1B views
time to get it 3mil views by myself.
Anyone know of a modern version or a replacement for redisbungee?
=stats
Command Usage: =stats <object> [days]
Currently Tracking Stats for:
messages, commands, images, words, xp, levelups, wins, daily, users, ecloud, ecloud_breakdown, top_channels, top_users
=stats messages
If you mean users with most messages I don't think there is one
=stats top_users 30
Top users based on messages in the last 30 days:
8,049
4,631
4,483
4,338
2,959
2,655
Okay yea don't mind me today, I'm retarded
Can you see how many messages if youre not on the top 6?
I havent been that active recently tbh
i think mystats does
=mystats
Your Chat Stats for this month so far are:
:fingerguns: • 4 Uses
=daily • 15 Uses
• #cubes-pings 189 Messages
• #staff-chat 40 Messages
• #off-topic 29 Messages
Only since the first
actually that shows top 3 channels, not too accurate tho
I love how I have the cubes pings role but I don't have the channel ;C
=mystats
Your Chat Stats for this month so far are:
:fingerguns: • 3 Uses
=remindme • 2 Uses
• #off-topic 131 Messages
• #cubes-pings 125 Messages
• #dev-general 21 Messages
also probs should move channel
pain frosty.
what Item Builder lib would ya guys recommend to me?
Literally any
lol
they all do pretty much the same thing
is there any which supports PDTs
but it doesnt have PDTs?
Pdt?
wait what's PDT
PDC?
do you mean PDC?
ItemBuilder is only on the GUI one
ah
Pdc?
yeah I meant PDCs
Ah
no it aint the same thing
Well, it kinda is lol
isn't PDC just a wrapper for NBT?
PDC is just the API's version of an NBT editor
@prisma wave Do you know by any chance how to make gradle do something like:
implementation core("1.0.0")
Without needing static imports?
The idea is to do something like ManaDrop does with
compileOnly spigotApi("1.16.4")
Though mana drop needs static imports for it
PersistentDataContainers are way better than NBTTags
Consistent API, will be better supported by mojang and spigot in the future
Mate, PDC is a wrapper for NBTTags, differnt things lol
any other storage > nbt
yes
NBT means Named Binary Tag, it's minecraft's "storage" system
@ocean quartz you might be able to do some groovy hacks to define a function, or you can use apply from: 'something.gradle'
PDC is only there to access and edit them
It has the ability to store more types of information easily
@prisma wave Oooh let me try
It stores the same as any NBT lib
It's the official one
Nothing more
It literally is an NBT lib
It has the ability to store more types of information easily
The fuck
It is literally the exact same thing
Because pdc is the way you access nbt
The underlying system for pdc is nbt
Yeah pdc is just some interfaces 
What version would look better? 
1️⃣
dependencies {
spigot "1.16.2"
commands "1.0.0"
...
}
2️⃣
somethingElse {
spigot = "1.16.2"
commands = "1.0.0"
...
}
3️⃣ (Not sure if i can make this one)
somethingElse {
spigot("1.16.2")
commands("1.0.0")
...
}
1
1
4️⃣ (gay people dependency)
Shade the fucking jar into your plugin bitch. You scared of size? Well guess what I don't give a fuck on what you say and shading the spigot jar is certanly the most best and better the greatest and biggest and the fattest and litttlest and fattest jar in the entire world travis scott maybe idk
Huh? You doing alright buddy?
Travis Scott burger
What does this have anything to do about jar size? 
Yes i know, you're stating the obvious, i don't understand what that has anything to do with my question lol
it makes very much sense
yesnt
He's an idiot that's what 
Aight lol
Time to copy what PDM does for registering configuration 
Does it work yet
Eventually yesnt
Can someone tell me what the fuck causes this, because it happens way too often and I've no idea why
Caused by: java.lang.IllegalStateException: zip file closed
Gonna need a lil bit more context, frosty
Is it a jar file that's being read?
If the classloader was closed after unloading the classes... yeah gl
Ah okay so it is what I thought it was
Paper closes the classloader if the plugin fails to initialize/load/enable (i.e. if it throws on any of those stages)
because they have that ability 
Epic
One question, using java, how to open a connection using url1 and then get updated url?
Example: I open connection using https://youtu.be/ and i want to get https://www.youtube.com/?feature=youtu.be since thats the new url after web is loaded
redirections are usually handled with a 302 response iirc
although it doesn't look like this one is
Yep
yes
Faster than a HashSet or any other set I believe
definitely constant time at the very least
public boolean contains(Object e) {
if (e == null)
return false;
Class<?> eClass = e.getClass();
if (eClass != elementType && eClass.getSuperclass() != elementType)
return false;
return (elements & (1L << ((Enum<?>)e).ordinal())) != 0;
}```
Or has the highest probability of the lowest time complexity
it is at least as fast as a hashset
but there are no guarantees that it will be faster
whats the slowest reflection operations, getting the fields and stuff or invoking the methods and constructors
that's what the javadoc states ¯_(ツ)_/¯
lookup is slower than invocation
Not faster but higher probability to not lose time complexity
yeah, everything in an enumset is going to be at least as fast as a hashset, if not faster
Wouldn’t be surprised
Would this be fast
why not just Class#getDeclaredField(String)?
Im trying to cache it
if speed is 100% important then use a Table
A common class to provide caching instead of (currently) my 100 or so static fields of methods
since then you can have constant lookup for both the fields and the name
Only if its not guava
Isnt like 1.8 not have guava or somehitng?
Guava Tables are great
Is a table more performant than that nested map BM?
Depends
It consist of Cells similar to Entries as well as a backed row and column map
So.. which is best?
table.put(a, b, c)
rather than ```
Map<B, C> map = table.get(a)
map.put(b, c)
table.put(a, map)
It’s rather awkward doing that manually
And the hash based table has some optimizations for that
Rather good and convenient ones
But considering the classes im looking at may have like 1-8 fields probably less methods <Class<?>, Field[]> could work?
why not map them by name
if you're trying to optimize, the tiny benefit of constant lookup might be worth it
maybe, maybe not
Perhaps
Niall try the different things
TIME
It will give you the best perception of which one is the best
Make them final?
And what is this computeIfAbsent, slower than a simple null check from hashmap?
No they cannot be made final
Why not
Each section there can fail, in that case they remain null, and the rest would be initialized for example
If the specified key is not already associated with a value (or is mapped to null), attempts to compute its value using the given mapping function and enters it into this map unless null.
If the function returns null no mapping is recorded. If the function itself throws an (unchecked) exception, the exception is rethrown, and no mapping is recorded. The most common usage is to construct a new object serving as an initial mapped value or memoized result, as in:
map.computeIfAbsent(key, k -> new Value(f(k)));
Or to implement a multi-value map, Map<K,Collection<V>>, supporting multiple values per key:
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
What
Improper naming if they aren't final <o/
That’s not a reason not to have it final?
You know you can use multiple static init blocks
static A a;
static B b;
static C c;
try {
a = ...
} catch (..) {
}
repeat for b, c...
a can be null
So?
more declartion required
try {
a = ...
b = ...
c = ...
} catch (..) {
a = null;
b = null;
c = null;
}
Quiete a bad reason still
@heady birch nested map seems to be about 8 times faster for a slightly-inaccurate benchmark
Than table?
Could u show code?
yeah 1 sec
it's a mess, but should mostly accurately represent it
import kotlin.system.measureNanoTime
data class A(val a: String, val b: Int)
val map = mapOf<Class<*>, Array<A>>(
String::class.java to arrayOf(A("a", 1), A("b", 2), A("c", 3), A("d", 4)),
Int::class.java to arrayOf(A("e", 5), A("f", 6), A("g", 7), A("h", 8)),
)
val nested = mapOf<Class<*>, Map<String, A>>(
String::class.java to mapOf("a" to A("a", 1),
"b" to A("b", 2),
"c" to A("c", 3),
"d" to A("d", 4)),
Int::class.java to mapOf(
"e" to A("e", 5),
"f" to A("f", 6),
"g" to A("g", 7),
"h" to A("h", 8)))
var totalTime = 0L
repeat(1000) {
totalTime += measureNanoTime {
val x = map[Int::class.java]!!
for (e in x) {
if (e.a == "g") {
e.b.hashCode() //prevent optimization
}
}
}
}
"Comparing strings linearly: " + (totalTime / 1000).toString() + "ns"
totalTime = 0L
val hash = "g".hashCode()
repeat(1000) {
totalTime += measureNanoTime {
val x = map[Int::class.java]!!
for (e in x) {
if (e.a.hashCode() == hash) {
e.b.hashCode() //prevent optimization
}
}
}
}
"comparing hash codes linearly: " + (totalTime / 1000).toString() + "ns"
totalTime = 0L
repeat(1000) {
totalTime += measureNanoTime {
val x = nested[Int::class.java]!!
val y = x["g"]!!
y.b.hashCode()
}
}
"Nested hash maps: " + (totalTime / 1000).toString() + "ns"
sorry wall of text
import kotlin.system.measureNanoTime
data class A(val a: String, val b: Int)
val map = mapOf<Class<*>, Array<A>>(
String::class.java to arrayOf(A("a", 1), A("b", 2), A("c", 3), A("d", 4)),
Int::class.java to arrayOf(A("e", 5), A("f", 6), A("g", 7), A("h", 8)),
)
val nested = mapOf<Class<*>, Map<String, A>>(
String::class.java to mapOf("a" to A("a", 1),
"b" to A("b", 2),
"c" to A("c", 3),
"d" to A("d", 4)),
Int::class.java to mapOf(
"e" to A("e", 5),
"f" to A("f", 6),
"g" to A("g", 7),
"h" to A("h", 8)))
var totalTime = 0L
repeat(1000) {
totalTime += measureNanoTime {
val x = map[Int::class.java]!!
for (e in x) {
if (e.a == "g") {
e.b.hashCode() //prevent optimization
}
}
}
}
"Comparing strings linearly: " + (totalTime / 1000).toString() + "ns"
totalTime = 0L
val hash = "g".hashCode()
repeat(1000) {
totalTime += measureNanoTime {
val x = map[Int::class.java]!!
for (e in x) {
if (e.a.hashCode() == hash) {
e.b.hashCode() //prevent optimization
}
}
}
}
"comparing hash codes linearly: " + (totalTime / 1000).toString() + "ns"
totalTime = 0L
repeat(1000) {
totalTime += measureNanoTime {
val x = nested[Int::class.java]!!
val y = x["g"]!!
y.b.hashCode()
}
}
"Nested hash maps: " + (totalTime / 1000).toString() + "ns"
Xp
so basically make a kotlin scratch file (scripting), and paste that
the A() class is supposed to mostly replicate what you'd have - String key (field name) and some arbitrary value
Comparing strings linearly: 5057ns
comparing hash codes linearly: 1777ns
Nested hash maps: 188ns
this is what i got
obviously not gonna be 100% accurate, but it seems like the hashing is worth it
although JIT seems to get involved when you repeat more than 10000 times
@prisma wave @hot hull 1 is not possible 
spigot "1.16.2" is invalid syntax, needs to have group:id:ver
It's a configuration
Can you have functions in the dependencies?
I believe so
This would be perfect
But to do it with a plugin seems like it'd required to have a static import
@prisma wave Cool results but how many things did you have in the maps?
Cos I'm looking at 8 max I think
Wow and the hashmap was really ~8 times faster?
for 100 invocations, yes about that much
it evens out a bit more with 5x faster at 1000 invocations, and only 2x faster at 10000
roughly
they're microbenchmarks
don't trust them too much
i don't think spring has speed in mind
idk, you can do your own tests, but mine gave fairly consistent results
this gets tricky if you start having multiple methods with different args
yeah you might want to have a Map<Class, Map<String, Method[]>> or something
or make some hashing function for the method's signature
Now whats a nicer name ColourConverter or ColourTransformer
what does it do
set color
transformer probably
Yeah I like that better too
is this some sort of trick
kotlin + coroutines + adventure + minimessage = 2.5 MB...?
👍
start screen
So i
imported my first project
from github by linking
the problem is now
when i import second project
first one dissapears?
nani
from where
o
it was literally the very single thing that every time I tried it made me stay away
lol
@quiet depot sorry for ping but you may know this
how can i exclude a module from shadowjar minimization, but not the module's dependencies?
nvm i think i got it
is there any way to group them so i can switch between projects easier
is there any way to group them so i can switch between projects easier
run two instances?
lol
gayyyyyyy
😊
theres gotta be a way
lmao
Oh wow
compiling though however
is easier because you can compile them based from a list
instead of manually click on a project in eclipse and run as
and the options are already there
pog
i think imma become hybrid
intellij for plugins
eclipse for competition 😊
fuck
who 😉
thank you mr dalek
oh
uwu
oh god though
the colors
xD
why does it say
i have 69 errors
in one file
lmfao
oh
bukkit dependencies
and spigot api
why it no work tho
i have my pom.xml good
but it cant recognize dependency
?
it says errors in dependencies
cant find spigot repo
jetbrains annotaionts repo
matt repo
and security cams repo
oh wiat
i realized
i need to set it up very differently
not sure what you mean by that lol

Hey can someone help me figure out how to make custom head as item stack (like the ones with value) ?
Like this :
JhZnQubmV0L3RleHR1cmUvNGVhOTZjNDkzMDIxMzIxNjdjODFjODdiNzllMDZkZDM0MzAyMGZmMjA5MjNmY2U4N2QzODhjNDYyNDA5MjYxYyJ9fX0="}]}}}```
Yeah
'cause all i can find is people using skullowner :/
With code?
what with code ?
You realize this isn’t a command thingy stuff it’s for general development talk
People who code java etc
But ofc I can help
Okay then we’re good
You have to do base 64 with reflection or does it exist in api?
Yeah reflection pretty sure
im so shit at it
today we learn code guys
Hello, I am searching for a way to easily store class objects to files, eg json or yaml
Gson
okay basically i want to store a list of Objects in a file with a section, just like in spigot, but without spigot
its a list of the Object class named PendingGiveaway
This is my current Solution: https://paste.sentinalcoding.eu/7MoBHSxITO
using this class: http://paste.sentinalcoding.eu/5oyfG0pX9i
memory usage on my server is getting dangerously close to the max :)
Anyone use ${project.version} for version in their plugin.yml with maven? I've notices that its not always replacing the version when I compile my plugin anyone know why?
anyone used android studio before?
frosty I think
yes need help frosty please how make text input that only accepts x amount of characters
I made text input but if you type too much it goes offscreen
and the text is like centred and doesnt go down
[ ]
[ This is how it types and if you type too ]much it goes offscreen
[ ]```
[ This is how it should ]
[ and if it goes over it ]
[ should go to a new line ]
make a limit for the number of characters that are imputed xD
thats not gonna stop it going offscreen
Attach an edit listener or whatever it's called to the text box, and cancel the event if the characters are more than X
No clue Aj, wouldn't it be smarter to check the pixel width? Since character amount won't really be all that accurate
I mean thats not really user friendly is it
"oh yeah you can use the character I here, but not B b ecause B takes too many pixels`
anyway thats not the main problem rn
the main problem is thnis
That being?
one sec
see how it all just goes on the one line
this wasnt the best video tbh
This is the layout, but it stays at the top line
got it a bit better, still not 100% fixed
Well I mean yea check for the entire words pixel length, if it's too long than the available space, next line that bitch
Are you not using a multiline text?
Seems to work just fine for me
Make sure to set layout height to wrap
lel this is a funny
If Java had true garbage collection, most programs would delete themselves upon execution.
o.o
<EditText
android:id="@+id/bottomText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:background="@drawable/border"
android:ems="10"
android:gravity="top"
android:hint="Enter bottom text"
android:inputType="textMultiLine"
android:minHeight="150dp"
android:padding="10dp"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />```
thats all right isnt it?
imma just come back to itlol
it was the ems="10"
👍
Daily food update, made homemade tortillas, this is was delicious AF
So you see I had some nice MyClass.of(String) methods but now I need a singleton in them
so its gonna be
MyClass.of(String, DependentComponent) 😦
😦
this is so sad.
it's the fp equivalent of looping over a list and reassigning a variable
lemme get an example
are you using Matts Command Framework elara?
nah
for (placeholder in placeholders) {
message = message.replace(placeholder.key, placeholder.value)
}
return msg
this would be the code imperatively, and with fold it's just kotlin return placeholders.entries.fold(message) { acc, entry -> acc.replace(entry.key, entry.value) }
it's like reduce but with an initial value
wdym lol
it's the declarative equivalent of that first code
i just like the convenience of it
aight
https://pastie.io/gigbss.java
Does anyone understand, why this command does nothing; no errors?
it's the fp equivalent of looping over a list and reassigning a variable
I said that because you said it's the "fp equivalent", so I assumed it'd be something only implementable in functional programming
@safe lily if you cant find help you can dm me
final CommandSender sender {
Player player = (Player) sender;
```this seems risky
also have you registered the command?
where lol
in the framework
also have you registered the command?
yes
commandManager.register(new ItemCommand(this, itemRegistry));
commands:
item:
aliases: [items, itemsystem]
description: Manage the item system.
usage: /item <create, get> [ID]
you don't need to include it in plugin.yml i don't think
that's the point of a command framework
oh
ive never actually used mf-cmd lol
Ima check
so maybe now's a good time to @ocean quartz

real pretty framework
@quiet depot That is copyrighted sir, you shall be sued.
o
Does anyone know a way to crunch disk space without wiping player data and claims from griefprevention and player data overall?
Appreciate it :D
fuck i really need to make that javadoc bot
@quiet depot do you think?
I made one for spigot, just need to clean the code a little bit
is a block snapshot thread safe?
logically I'd say yes but since it's bukkit idk
yeah idk
just trying to think of a way to concurrently iterate over blocks in a region without needing nms
oh blockstate*
so probably not
huh
it seems like World#getBlockAt doesnt actually trigger the async catcher
not on 1.8.8 at least
so theoretically i can just parallel stream it
Why you on 1.8.8 is the real question
compatiblity
screw that, latest or nada
most people want 1.8, so i've got to give it
bruh who's running a 1.16 prison server
I mean I don't know what plugin we're even talking about so 
Yea you kinda can't effectivelly run it on any other version
Anyhow if you're just checking the block's type, there's a getBlockType method which is supposed to be faster
on world?
No clue, I can't remember
there's getBlockTypeIdAt in world
but that's magic values
anyway no need to prematurely optimise
Who doesn't love some magic values amirite
is a block snapshot thread safe?
You mean chunk snapshot?
Are there single block snapshots? 
yes
Same shit



