#help-development
1 messages · Page 517 of 1
anyway, only reason why I try out gradle is just to learn how it works
I'd like to know how it feels to take heroin. Never going to do it though 😉
I've known a few.
a few what lol
addicts
oh yeah me too
I am only addicted to alcohol and tobacco
that's bad enough already haha
better don't let me try heroin
yeah wife ended up in a real bad way from booze. Leached all teh calcium from her bones.
damn yeah alcohol is nasty, and especially dangerous cause you can buy it like everywhere
I got my next appointment for detox on may 30th, after that I'll do long term therapy and hopefully, never drink again then lol
I stopped drinking when I started driving, so 40 (ish) years ago
I was born in the 60's 🙂
damn, didnt know
a proper Granddad.
I know a woman who became a grandma at age 36
that takes some dedication
I was a dad at 22
yeah she got a son with 18 and he too got a son with age 18
damn, can't happen to me though, first of all I am already older, and second of all my boyfriend doesn't have ovaries lol
alex, i couldn't imagine you being a parent
me neither
icl but same
I can hardly handle my own life
at least I am not broke haha
that's the only thing I managed
You never know with booze. One drunken evening and you wake up with a whole different future
yeah but I am simply not into women, this cannot happen to me
sounds like it comes from experience... or just generally wise
I'd not be too certain about hat
but I get the idea that this can happen to hetero people
I was an accident too I think haha
I've known a few only attracted to men end up in bed with women after a night out
my parents always tell me "you were planned" but they only got me when they were 40, I am 100% sure i was an accident lol
I thought I was hetero for 24 years but this never happened lol
my cousin was born when parents in their early 40's
somewhat normal
from what I learnt in biology, once you turn 40 it's like "last chance" to get kids
at least for the woman
you dont save it
configFile.save(nameConfig)
man what a monstrosity
also you don;t need to get parent
you can mkdirs() on the file and it will only create folders
on the parent, you mean
heehee
if you mkdirs() the file, it'll create a folder called "myfile.yml", iirc
nameconfig.getParentFile().mkdirs(); only needs to be nameconfig.mkdirs();
are you sure about that?
only if it has no extension, I believe
what assembly is that tho? doesnt look like x86
has to be to be a folder
that x86 SIMD extension instruction set
ah simd 🥺 imma not touch that
I am like 90% sure that mkdirs() creates a folder called exactly like that, so I'd only mkdirs() the parent
basically you can perform the same operation on 4 single precision floats at the same time
ignore me then 🙂
I might be wrong
its not that hard, but you need to get used to
I can test, sec
there are only 2 reasons in 2023 to use assembly:
- you make over 500k € per year doing it
- you are only using it to learn new things
for everything else, just use an actual language
I mean this type of assembly is useful, it allows you to process data 4x times faster than regular
and its not utilised much by the compilers, since compiler devs dont know how to implement those into compilers properly yet
wdym (Is a directory)
its a folder not a file
you are correct, it created it
basically instead of you multiplying let say value each by one, you can use
movaps xmm0, memory128bits
mulps xmm0, xmm0
would instantly return you 4 squared numbers at once without any performance drop (basically free 4 multiplications for one's price)
nameconfig.getParentFile().mkdirs(); whats wrong with nameconfig.mkdirs()?
that creates a folder from what elarl just said
try with the getParentFile().mkdirs()
💀
yeah
im not watching minecraft news sorry
rip
I thought it got closed like 2 years ago or smth
it was pretty much dead, but there were players who played it
damn
the most interesting thing about it that they've closed it without announcing anything to the public officially
discord mod literally made a statement
that the mineplex is being closed lol
Does anyone know a library to create custom entity name tags with armorstands?
a bit, but mostly to give entities a name that you can see from far away, and not just when close
and if possible compatible with 1.8 (please don't hate me)
not different
Last time I checked players and armorstands you can see their names from far
and for entities you have to get close to them
shh
no
WHAT
DID HE SAY STH?
that's the code i've literally made
sure, use it for whatever you need it for, idc
HE SAID SOMETHING BUT IDK WHAT
well ye figured that out
here
it generates pythagorean triples via brute force
3^2 + 4^2 = 5^2
oh i thought there was more
nope
it needs visual c++ compiler tho
but it could be easily converted to gcc assembly logic
and you dont primarily need inline assembly to use SIMD instructions
there are premade internal intrinsics that lets you access the instructions like in assembly but in more c/c++ like form
hmm
actually it is discouraged to use inline assembly for that
since it removes the portability
of any sorts
im just practising so I do use that
for the time being
I actually started to look SIMD just because Purpur or Paper started to encourage people to enable experimental java SIMD support flag to get some performance gains in some areas of the native minecraft server code
oh thats a thing
i heard you could use a simd based vector with the jdk.incubator.Vector or smth
just create a new one
yea
new YamlConfiguration()
What is "SIMD"?
Single instruction multiple data
These are machine level instructions that allows you to process multiple data at the same clock cycle
4 multiplications, divisions, additions at the one's cost
it could easily boost performance of an application if those instructions are used correctly
lets say you need to raytrace something
with SIMD operations you can calculate multiple rays at the same time
Cool
But would java be able to automatically optimize it?
well i dont actually know about it
what I know that even compilers struggle to use those instructions
due to how is it to hard to convert code to support those instructions with performance gains
i mean converting bytecode to simd would probably go brr
you already have an intermediary presentation
for example text editors like sublime text iirc uses SIMD operations to convert text encoding fast in real time
Which jvm supports it?
its mostly used in algorithms where smaller decoupled units are being calculated intensively at big costs
well according to the internet JRE 17 supports it
this is great to see https://www.youtube.com/watch?v=DMQ_HcNSOAI
I had a week of fun designing and optimizing a perfect hash table. In this video, I take you through the journey of making a hash table 10 times faster and share performance tips along the way.
00:00 why are hash tables important?
00:31 how hash tables work
02:40 a naïve hash table
04:35 custom hash function
08:52 perfect hash tables
12:03 my p...
dont talk about the picture
but --add-modules=jdk.incubator.vector you need to add this when compiling your code
uhu
you can do that on startup of the jar
this seems like a good tutorial on that
You can consider this post as an extension to previously written SIMD usage in C++, C# and Rust.
Pufferfish uses that in some places I think
there are really some performance gains from these types of operations
lets say i have to do operations on 1 million elements
floats
Yea just, not really a lot of places in the server code to apply
it uses what? a tnetennba?
i could cut iterations by 4x times
SIMD
AH OKAY
vector api is finalised in 21
1 million iterations would turn into 250 000 operations with SIMD
so we will see if mojang makes use of if
pufferfish being another spigot fork?
yea
I can also easily turn 1 million into 250k. Should I DM you my IBAN?
well paper
people aint really original with their names
alex how did you call nms again?
slughorn
slughorn
lmao
longhorn

nm & s - @young knoll
oh wauw
is that even a word
google translate freaks out for my language
It's a word now
ofc, it translates to "minecraft internals but not API"
it's a common word in spanish, german, and english. idk about other languages
no, why would there? every command only has one executor
I assume they want to override the command from another plugin
hacky way: depend on the plugin
or commandmap stuff ig
load the commands in a scheduler#runTask
THEN THEY SHOULD JUST DO PLUGIN#GETCOMMAND
AND THEN SET THE EXECUTOR
@EventHandler
public void onCommand(PlayerCommandPreprocessEvent event) {
if (event.getMessage().equalsIgnoreCase("/plugins") || event.getMessage().equalsIgnoreCase("/pl")) {
event.setMessage("/plugingui:plugins");
}
}
PLUGIN ANOTHERPLUGIN = BUKKIT.GETPLUGINMANAGER().GETPLUGIN("WORLDEDIT");
ANOTHERPLUGIN.GETCOMMAND("/WAND").SETEXECUTOR(MYOWNEXECUTOR);
Yeah you could do that too
that still requires a softDepend
Assuming you know all the plugins that add a given command
so you have no reason
YEAH OR YOU JUST DO IT ONE TICK LATER
wtf
how dare
ONE TICK LATER, ALL PLUGINS ARE LOADED
you
you are taking c# syntax to a whole other level
dont need the delay, scheduler runs after all plugins are enabled
NAH I'M JUST LISTENING TO MUSIC, CAN YOU PLEASE SPEAK A LITTLE BIT LOUDER
TRUE
Wait, BukkitCommand has executor?
yeah?
for (Plugin plugin : Bukkit.getPluginManager().getPlugins() {
for (String command : plugin.getDescription().getCommands().keySet()) {
plugin.getCommand(command).setExecutor(new MyCommandHandler(this));
}
}
If the plugin makes a command extending BukkitCommand since a lot of popular plugins do it.
plugincommand
at least none that people should extend
it is obviously meant for internal use only and plugins should NEVER extend it
CAN YOU TALK A BIT MORE LOUDLY PLEASE
tell that 20% of the command frameworks
OKAY, I WILL MESSAGE AIKAR
caps 🔥
i have no clue about aikar
NO, CAPSLOCK IS FOR NOOBS. REAL CHADS JUST HOLD DOWN SHIFT
THE ACF DUDE
ik
the only cmd api i tried use was mojang's brigadier, and i used it with the help of my friend, it was real cancer
i've never tried acf tho
brigadier looks trash
da hell is mojang brigadier
cmd api
brigadier is not that bad
ok, i think that gif silenced the chat lmao holy crap 💀
bukkit command api that wraps around it is
what th is a command api, me and the boys listening on chat packet:
https://tenor.com/view/drip-gif-19876528
com.mojang:authlib:pom:1.5.25 failed to transfer from https://maven.gamestrike.de/mvn/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of schrand-repo has elapsed or updates are forced. Original error: Could not transfer artifact com.mojang:authlib:pom:1.5.25 from/to schrand-repo (https://maven.gamestrike.de/mvn/): transfer failed for https://maven.gamestrike.de/mvn/com/mojang/authlib/1.5.25/authlib-1.5.25.pom
<groupId>com.mojang</groupId>
<artifactId>authlib</artifactId>
<version>1.5.25</version>
<scope>provided</scope>
</dependency>```'
any answers? :?
it's mojang's own command framework
erm i mean
ITS MOJANGS OWN COMMAND FRAMEWORK
did you add the official repo?
i used his
So why is worse?
add the repo too
<repositories>
<repository>
<id>minecraft-repo</id>
<url>https://libraries.minecraft.net/</url>
</repository>
</repositories>
after that, run mvn clean package -U and it should work
now its working, thank you
youre welcome
is anyone here familar with gradle and got time to try to compile this? is this also stuck at "aggregateJavadocJar" for you? https://github.com/mfnalex/lunatic
or is it just me and epic who have these issues
Would do if I was on my pc
String url = "https://textures.minecraft.net/texture/" + texture;
short neuesubid = (short) subid;
ItemStack itemStack = new ItemStack(Material.PLAYER_HEAD, anzahl, neuesubid);
GameProfile gameProfile = new GameProfile(UUID.randomUUID(), null);
gameProfile.getProperties().put("textures", new Property("textures", getBase64TextureValue(texture)));
try {
SkullMeta skullMeta = (SkullMeta) itemStack.getItemMeta();
Field profileField = skullMeta.getClass().getDeclaredField("profile");
profileField.setAccessible(true);
profileField.set(skullMeta, gameProfile);
itemStack.setItemMeta(skullMeta);
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
ItemMeta itemMeta = itemStack.getItemMeta();
itemMeta.setDisplayName(displayname);
if (lore != null) {
itemMeta.setLore(Collections.singletonList(lore));
}
itemStack.setItemMeta(itemMeta);
return itemStack;
}
private static String getBase64TextureValue(String texture) {
String base64 = Base64.getEncoder().encodeToString(("{\"textures\":{\"SKIN\":{\"url\":\"" + texture + "\"}}}").getBytes());
return base64;
}```
My dear Friends, i the returnvalue of this code should be a textured - head. but it returns an player head.
Version: 1.16.5
Anyone knows whats the problem with my code? Thanks
thank you
i havent coded anything like this for a long time but may I ask you is your server is in online mode?
yes, why
skins work different on offline mode servers
i dont think u still need reflection to do textured heads
PlayerProfile
you do nothing with url
is the texture you pass actually a valid texture?
the texture is "4ef356ad2aa7b1678aecb88290e5fa5a3427e5e456ff42fb515690c67517b8"
whats the easiest way to make a second nametag for players just make a armor stand that moves with the player?
looks way too short
broken base64 if thats even base64
This is a valid texture "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTlmMTFjMGQ0OTdmMjI3MDg5Y2JmNjE0NjAxMTA5Y2FmNjE1NDUzOTQwZWY1ZjY0ZWJiMTc3OTU3ZTRmYTZlNSJ9fX0="
digga david döbele macht jetzt auch spigot plugins
was ein highperformer
😛
1 letter away
people when german😡😡😡😭😡😾
so idk, thats my code
{
short neuesubid = (short)subid;
ItemStack i = new ItemStack(Material.PLAYER_HEAD, anzahl, neuesubid);
SkullMeta meta = (SkullMeta) i.getItemMeta();
GameProfile gameProfile = new GameProfile(UUID.randomUUID(), "");
PropertyMap propertyMap = gameProfile.getProperties();
propertyMap.put("textures", new Property("textures", texture));
try {
Field profileField = meta.getClass().getDeclaredField("profile");
profileField.setAccessible(true);
profileField.set(meta, gameProfile);
profileField.setAccessible(false);
} catch (NoSuchFieldException | IllegalAccessException ex) {
ex.printStackTrace();
}
i.setItemMeta(meta);
ItemMeta m = i.getItemMeta();
m.setDisplayName(displayname);
if (lore != null) {
m.setLore(Collections.singletonList(lore));
}
i.setItemMeta(m);
return i;
}```
```inv.setItem(44, ItemManager.createCustomHead("4ef356ad2aa7b1678aecb88290e5fa5a3427e5e456ff42fb515690c67517b8", 1, 0, "§atest", null));
inv.setItem(43, ItemManager.createCustomHead("https://textures.minecraft.net/texture/4ef356ad2aa7b1678aecb88290e5fa5a3427e5e456ff42fb515690c67517b8", 1, 0, "§atest", null));```
the results are normal skins, not the skins i wanted
used this code
?paste
Working heads https://paste.md-5.net/usemanajaj.java
ill try
public static ItemStack createCustomHead(String texture, String displayName, String Lore) {
ItemStack stack = new ItemStack(Material.PLAYER_HEAD);
SkullMeta skullMeta = (SkullMeta) stack.getItemMeta();
GameProfile gameProfile = new GameProfile(UUID.randomUUID(), "");
PropertyMap propertyMap = gameProfile.getProperties();
propertyMap.put("textures", new Property("textures", texture));
try {
Field profileField = meta.getClass().getDeclaredField("profile");
profileField.setAccessible(true);
profileField.set(meta, gameProfile);
profileField.setAccessible(false);
} catch (NoSuchFieldException | IllegalAccessException ex) {
ex.printStackTrace();
}
skullMeta.setDisplayName(displayName);
if (lore != null) skullMeta.setLore(List.of(lore));
stack.setItemMeta(skullMeta);
return stack;
}
getkeys(false)
works great, thank you very much
I have citizens plugin in it's files all npc locations are saved and in files of command npc the npc's commands are saved and I can see it still in the server I can't see the npc
Any idea why?
Are there any dependencies of citizens?
working great as i said, but i have one question because of the encoded value.
mine is "NGVmMzU2YWQyYWE3YjE2NzhhZWNiODgyOTBlNWZhNWEzNDI3ZTVlNDU2ZmY0MmZiNTE1NjkwYzY3NTE3Yjg="
String encodedTexture = new String(encodedBytes);
System.out.println(encodedTexture);```
to encode this: 4ef356ad2aa7b1678aecb88290e5fa5a3427e5e456ff42fb515690c67517b8
am i wrong?
yeah, NGVmMzU2YWQyYWE3YjE2NzhhZWNiODgyOTBlNWZhNWEzNDI3ZTVlNDU2ZmY0MmZiNTE1NjkwYzY3NTE3Yjg= is the texture you should pass
the above base64 is already encoded
teh second thing you posted is just a texture key
i have typed wrong: i encode this :4ef356ad2aa7b1678aecb88290e5fa5a3427e5e456ff42fb515690c67517b8
how i get the full address?
Hi, I am writing a plugin that adds some weapons. Is it possible to disable first-person item change animation(the one where the item goes up) when customModelData and NBT change.
Why aren't you just using the official api
they're using 1.16
Oh
the code you are using is just a texture, it's not a skin
https://textures.minecraft.net/texture/4ef356ad2aa7b1678aecb88290e5fa5a3427e5e456ff42fb515690c67517b8
you can;t apply any texture you choose. it has to be in a head/skin format
value
just need to grab the texture from the bottom
eg i want this head https://minecraft-heads.com/custom-heads/decoration/62111-broken-tv i go to the bottom and take the minecraft-url value
so i do i need the value?
for example "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDAzMDMxNWQzOGZkNTJjNDU0ZTdiOWNkNTFjYzNiZDVkNDM3ODZkMTY2MjIwNjg1ZWFlZmY1ODk5MWU2ZjdjYiJ9fX0=" right?
minecraft-url if you want it already decoded
if you decode you use the one above which is base64
value
ah alright, i used to use the value and not the url. thank you very much @remote swallow & @eternal oxide
Let's say I fork a project, make some changes and I'd like to keep my fork up to date whennew changes are made to the project
How would i be able to do such a thing?
how does one find who crafted the item during CraftItemEvent
?jd-s
getWhoClicked() and cast it
Yeah
anyone?
because i feel like thats not very performance friendly
or the new display entity
Or if you're willing to, custom resource pack would maybe do the trick
Hey how could i apply a custom texture for a gui in my plugin
custommodeldata and resourcepacks
you create a custom font in your resource pack
Usually it's done using font
and use a random font character to assign a texture to
and then in your inventory title use that character
its not super trivial
cuz its not the intended use for fonts xD
Okay thanks. Probably an obvious question but can guis have a custommodeldata?
no
Never succeed to
oh
its on the itemmeta
You have to use fonts, but once you're into it, it's really ok to achieve (and satisfying)
im confused im hearing 2 different things
oh
fourteen they want a custom GUI background texture not an item texture
he thinks you are talking about custom items
Yes this ^
So each slot would need its own texture?
yes thats cannot be done use custommodel data
font*
only using fonts
no
you assign a single character to the inventory title
which will contain the entire texture of the inventory
If someone else makes me the texture would it be quick and easy to apply. Is there a guide online?
probably
and yes, once you have it set up its as easy as making a regular resourcepack
ok ty
https://github.com/NichtStudioCode/InvUI https://xenondevs.xyz/docs/invui/ that probably can help somewhat
There is a nice video on ytb. I advise you to copy the texture of the chest into a random char, then you adjust everything
●Hey DiamondRushXD here, this may be a long video but it explains step by step how I create custom GUI, and how to import them into your own Minecraft server.
●Revivenode Hosting
https://revivenode.com
Promocode: DIAMOND
► Plugin
https://www.spigotmc.org/resources/deluxemenus.11734/
✔Join Discord
https://discord.revivenode.com
I don't own an...
watch this
then you will be good
how can I fix jars image?
this happened after I installed java 17 and restarted my pc
install a different jdk
yeah, oracle is the coffee thing iirc
the other ones are duke and i avoid them
you can just set a custom icon to any .jar
I have 17 and 16 and 8
its just different tbh
yh

is there a way to fix it?
Install oracle jdk
1.8?
Or change the icon in windows
any
but I have jdk 8 do I install it?
If it's already installed tell windows to use it as default program for jar files
how?
Right click then properties
You should be able to change it to your oracle jdk there
all this over an icon bruh

👋 Welcome!
Here you will find useful resources and tips for developing your own, custom and unique servers, resource packs and plugins, utilizing the most recent known mechanics!
In each topic, please make sure to check out the resources!
Your site is genius bro
Tysm
what happens when the mob AI navigator gets a destination thats very far away (and has to load chunks in between)? does it actually resolve or just freak out
Hello, I am trying to code a plugin with intellij idea, And after importing the 1.18.2 spigot.jar the dependancys im using are grey and say "Can not resolve"
?bootstrap
Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.
Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163
does anyone have the base code of the enchantment smite?
I have an outdated plugin that disables itself on startup. Someone here told me I could try deleting logging code to fix it but I am not sure how to move code from a decompiler to an IDE and build it.
What's the error
Bet it's a malware
you can get malware by running a project in an IDE
is I think what they're talking about
¯_(ツ)_/¯
How does logging code fix anything btw
Nah, but I've seen so much error on startup due to a logging class because it was pinging a suspicious IP that wasn't responding to send log to
i dont think that makes any sense
That phrase is very long, I should go to bed lmao
True, that's why we need the error
Bet it’s malware /s
I guess because it disables because it doesn't recognize the version. I don't see anything that has been changed in recent versions that would actually not allow the plugin to work.
But removing the version check doesnt fix the fact that the code doesnt work in the version. The version check exists for a reason.
Could be many things
Maybe the Dev just wanted to force updates ¯_(ツ)_/¯
is there a way that i could check for if there are any values for a given scoreboard objective?
Yes.
I use plugins that stopped getting updated as long ago as 1.13 that still work so it's possible it can
were you replying to me?
@sullen marlin
What's the error @alpine cairn ?
If you look at what I just replied to it's the message before that
Mb
All good
so what does this have to do with version?
oh I see history
I was told if I could make it stop disabling itself it could work even though it is outdated
yea it doesnt have to do with version
Not sure how else I would fix it
its a file not found issue, I mean it could be a lot of things as MD said
md_5 = markdown 5?
Is there a way to diagnose what the problem might be by decompiling it?
If you know Java yes. But if you have no idea what you’re doing probably no.
What actually makes a plugin not work on newer version?
That has nothing to do with version
Hmm
You said that error message could be a lot of things. Could you point me in the right direction for what kinds of things I should look for?
Do you know Java lol?
This wont be easy unless you do
I have taken up to intermediate java courses but haven't done much with minecraft specifically
Well the stacktrace directs you to the exact line so start with that
Check what file is missing and what its looking for
Use recaf and remove the update checker
Thank you
It seems to be looking for a file though...
Or emulate the given API 💀💀💀💀
Hm did I look at another error? 1 sec
It just seems to log the actual server, kind of stats
It looks like it does have something to do with the update checker (maybe)
If you try to read a file from a url
The update checker can be set to false in the config but it still sends the same error
interesting, I would expect an end of stream error
🤷♂️
¯_(ツ)_/¯
Ok so basically you just need to make a new plugin, copy that plugins decompiled code in, remove the logging, fix any other errors, and recompile
Which step is causing issues
e z
Could you dm me the jar?
is there a way that i could check for if there are any values for a given scoreboard objective?
&version=1.6&nms=v1_19_R2&port=25565&property_ip=&players=11
Doesn't it trigger you? That's so strange to send that kind of info
?jd-s
Pretty sure you already got answer
Yeah
Search objective, what are you having issues with
little bit suspicious if you ask me
Which is why I want the jar
Most likely just some dev logging too much
I want to see what it does
dont really know what else it could be 😂
Home made bstats I guess 🥲
"as you can see, 82% of the servers use the 25565 port"
assuming this was already suggested
Yes
Yeah that was the first thing I tried
kk
Send the jar in my dms
lol
I sent the spigot page it wouldn't let me DM you the .jar
unless its something pretending to be that 👀
No I want to check the exact jar
Start by checking the plugin jar lol
Can I use filebin to send it?
I just want to check if it's another variant of the update checker malware
The what now
Is it too large for discord?
nvm it sent that time
You could answer your question by looking at the public jar to start lol
I think I wasn't able to take it directly from winrar
so weird lol
Yeah don't drag files from zip to a browser
First you can tell me it's not malware
Doesn't look like it
How do I load these configs@echo off title Combine type Wooden.yml>config.yml type Stone.yml>>config.yml type Redstone.yml>>config.yml type WoolCarpet.yml>>config.ymlSource: Combine.bat
You're really paranoid olivo
Well I've found 5 cases of malware so far
Better safe than sorry
Gosh
what a complex ID validation scheme
What a strange plugin
I don't think we'll crack this one boys
lmao
@sullen marlin how could i do an if statement that checks for if there are values assigned to an objective, this is what i have currently:
Score coins = Sidebarmenu.getScore("Your Coins: " + ChatColor.GOLD + coin);
if (coins.getScoreboard().getEntries().isEmpty()) {
coins.setScore(15);
}
For context: This is supposed to create a "menu" on the sidebar that says how many coins you have (and other numbers too in the future), by using fake players. The problem is that once the amount of coins changes, it adds the new amount as another player because its slightly different. So I want to check when the player joins if they don't already have a coins counter then add it, i also have the code to remove the outdated amount somewhere else. How could I check if there are players on the objective with a score?
This is the closest i could get, ik as of now it checks for if there are any objectives in the scoreboard
How can I get these file names "dir *.yml /b"? Wait, its Java. I should be searching this on Google
Wtf ? You add fake players to "write" your menu ????
What system do you use for coins ? Is it vault or do you just have a variable per player ?
And is your goal only to display "Your coins: " on the sidebar ?
No dice.
Look at the methods in scoreboard I'm sure it should be explanatory
So the best solution would be to make a new plugin and use this one as a reference I guess?
I'm kind of shocked that I couldn't find an up to date plugin to get players unstuck from regions
I can't imagine the plugin is very complex either way
Is it yet allowed on spigotmc?
Didn't know that bug actually exists
What bug?
no? Im using fake players to display multiple scoreboard objectives on the sidebar, the objective value is part of the name of the fake player
Its probably caused by other plugins preventing actions leading in the player being stuck, not a bug.
Right if you walk into a claim and fall into a hole you are stuck
for now yes, but if i wanted to keep it like that then its easy, i can just put the Coins value on the sidebar im well aware but i want to have multiple in the future
Yeah I meant the "worldguard stuck thing" (which I thought was managed by wg)
what do fake players have to do with this?
That only gets you out of block you are suffocating in
Teleports you to the surface
how else would i display text on a sidebar?
Sounds weird not having a kind of solution for this... Is it common?
sidebar? just create a scoreboard?
What are your refering too ? Sidebar or Tablist ?
I guess most server just have /spawn or /home
sidebar
Oh yeah, now I totally see what you're speaking about. Already happened many times actually
i did create a scoreboard already, but its not like i can put multiple objectives
how do players even benefit this at all
so they can easily see certain values on the side of their screen wdym
So. Basically you want a side bar, like in most servers with "Coins: ... Rank: ..." ?
lemme write this in my ide rq
i assumed i could use fake players to actually put the text and as part of the name for each player would be their value for that objective to display it
didn't see that, i'll check it out
thats a terrible idea
You just said the words
intellij indexing 💀
I think even in Minecraft vanilla with commands it's easier to do it
Just the time you need to prepare a coffee indeed
frick this just read this @mystic monolith https://bukkit.org/threads/tutorial-scoreboards-teams-with-the-bukkit-api.139655/
I usually wait like 10s for it to index
im importing a completely new big project
Don't worry, I was just showing off
i can beat that one sec
lemme reopen this now
6 seconds
:D
also look at dis new splash screen
yea lol
Imagine HAVING to use eclipse at work
💀 where do you work I will track them down
Eclipse 2017
why would anyone force you to use specific ide
to make their devs slower and make them want to die
💀
bet you cant defend against me coming and yelling at them
Anyone knows?
Oops
Wait
This is actually consequence number 1
up to date with upstream repo ?
Please do so, but wear something against guns 🤣
netbeans sign should do it
Bro they don't even agreed on using docker
💀
Oh, and java above 8 is yet forbidden
YES
t r y
We always try to push to update everything... 🤣
Imagine, you want a cool library like guava for instance
You would think, let's download it using maven
No no no, you can't do that
- The PC doesn't have access to internet
ima hack into the mainframe
💀💀💀
Ahha
I have to download the lib on a safe PC, scan the usb (key locked) stick on a malware checker
And then import it on my computer
Please don't leak state secrets to the discord
do you run windows xp too
Thank god no 🥲
what do you do in defense that needs java tho
The Nukes run java
Is there a good way of dealing damage to players outside of a world border? I've been using setDamageAmount() and setDamageBuffer(), but regardless of that players can still run free without taking damage. Any recommendations since those methods seem to not work in my case? I dont have any listeners for general damage cancelling so the issue wouldnt be related to that
who knows 👀
https://xenondevs.xyz/docs/invui/#__tabbed_1_1
I'm trying to use InvUI and added to my pom but its not getting the dependency.
I know this is possibly a stupid question but I have to ask
Did you replace VERSION with the correct version?
No, as I don't exactly know what the version is I haven't seen it on the website.
Thank you. I did said it said 1.7 on github but was not sure if it was going to work cause usually it has a diff version number.
If you're unsure, best thing to do is go to the repository link and you can usually just browse it like a regular ole file structure
You'll see all what versions are available
I actually did I saw the main source code lol.
Yep I am referring to that lol.


It seems I'm having an issue. At build with it. Is it suppose to also build a InvUI jar too
No it won't build a separate .jar. If you're shading it, it will be included in the final .jar (and you'll see a -shaded artifact in the target directory). If it's a standalone library, you may just have to have it installed on the server and it should just work
https://paste.md-5.net/ijuyufoqur.java
well I'm getting some issue with it. Although, just going by the documentation.
Give effect harming 2 🧠
?paste
show entire build file
dont worry
im going to download it
and put it
on
libs
folder
just figured that out
How can i make a tablisT?
Check out on Scoreboards (In the javadocs).
Also there's tutorials for that
I think Kody Simpson has one
nvm didnt work https://paste.md-5.net/qagirovuri.rb
the only repos you need are
maven("https://maven.enginehub.org/repo/")
maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots")
Can someone tell me how to config combatlogx to where you can make it to where you can place blocks/break while your in combat
Anyone know if there is any additional documentation on runTaskTimerAsynchronously out there? For example:
Can it become unaligned with the server's tickrate? For example, if the server is ticking every 50ms, and the asynchronous task takes 55ms, will runTaskTimerAsynchronously run once, then wait 45ms for the next main thread tick before running again itself? So the 'server' would count 3 ticks as having passed, while a counter in runTaskTimerAsynchronously would count only 2?
Its called "asynchronous" for a reason, yes it can come not in sync.
kotlin being goofy
how fix
plugins {
kotlin("jvm") version "1.8.20"
application
}
group = "me.outspending"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
maven {
name = "papermc-repo"
url = uri("https://repo.papermc.io/repository/maven-public/")
}
maven {
name = "sonatype"
url = uri("https://oss.sonatype.org/content/groups/public/")
}
}
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")
compileOnly("io.papermc.paper:paper-api:1.17-R0.1-SNAPSHOT")
}
kotlin {
jvmToolchain(11)
}```
Sir this is Spigot
wait
md_5
thats the name of a repository i use
<id>md_5-public</id>
<url>http://repo.md-5.net/content/groups/public/</url>
ur this guy
crazy
Also, don't use Kotlin
hey, im working on a custom spawners plugin, and i change the spawner types by CreatureSpawner#setCreatureTypeByName()
the spawners work fine normally when the player is opped, but when deop players place it, its an empty spawner (or a pig spawner if server is 1.17.1)
BlockState spawnerState = event.getBlockPlaced().getState();
spawnerState.setCreatureTypeByName(event.getItemInHand().getItemMeta().getPersistentDataContainer().get(new NamespacedKey(PluginMain.getInstance(), "CreatureType"), PersistentDataType.STRING));
spawnerState.update(true);```
this is what im using to force set the creature type under BlockPlaceEvent, but it still doesn't work
and the "CreatureType" key is set in the BlockBreakEvent
```java
spawnerItemMeta.getPersistentDataContainer().set(new NamespacedKey(PluginMain.getInstance(), "CreatureType"), PersistentDataType.STRING, spawnerState.getCreatureTypeName());
It's possible that you have to use the scheduler to delay it by a tick, since you're attempting to modify the block state on its placement.
oh
So i am making a runnable
to support "plugin" in this code, I have private Plugin plugin
But the code doesnt seem to work in the game, and provides a null exception
Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {
@Override
public void run() {
player.sendTitle(ChatColor.LIGHT_PURPLE + "New Mine Levels Unlocked!", ChatColor.GOLD + "H-S", 10, 70, 20);
player.playSound(player, Sound.UI_TOAST_CHALLENGE_COMPLETE, 1f, 1f);
}
}, 200L);```
What variable is causing the NPE ?
the "plugin" variable
Is it being set before you create the task ?
uh yes, the private Plugin plugin comes at the very start of the java class, while the task in later on in the code
I do not
comes at the very start of the java class
that doesn't matter. it's not what they mean.private Plugin plugin;only declares a variable, it doesn't set it to a value, hence why you needplugin = ...
usually you'd get that value from a constructor
ah I see, ill try that, I did not know that. Thanks for telling me that!
Here are some links to get you started on learning Java:
- https://www.codecademy.com/learn/learn-java
- https://www.sololearn.com/learning/1068
- https://www.learnjavaonline.org/
- https://programmingbydoing.com/
- https://docs.oracle.com/javase/tutorial/java/index.html
The last one is the only official one, however some of those concepts assume that you already know a bit about programming.
np. look up "dependency injection" if you're still confused
?di
Guide to dependency injection: https://www.spigotmc.org/wiki/using-dependency-injection/
oh cool. idk all the shortcut commands
?cc list in #bot-commands
cooldown for what?
U mean a library?
?pdc
yep
then good luck
save to file in onDisable, load in onEnable
not in config. in it's own file
depends, in this case, if they are not short cooldowns it shoudl be fine
quickly changing data is not good stored in files
if im feeding 2 into this it should output 1 right bc of floor
int limit = (int) Math.floor(safeTeam.getSize() * 0.85);
Are you just stating what that code does ?
no he multiplies by 0.85, so output will be 1
I understood if 2 is put inside of method params?
yes, 2 * 0.85 = 1.7, floored = 1
floor(2)
I expected them to talk about the .getSize()
you missed the bit on teh next line (still in the () )
safeTeam.getSize() * 0.85
I see your misunderstanding, you are thinking he was saying if he replaced safeTeam.getSize() * 0.85 with 2
Yeah
I mean I can't blame Goksi, the "question" is really not that well constructed
I've seen discussions go for hours in here debating what a question meant.
so if safeTeam.getSize() is 2 limit will be 1 right bc math
im just trying to make sure lol
so 2 * 0.85 = 1.7
you could easily test this in JShell for example
you can still sleep tomorrow
this was genius
any plugin for testing my plugins faster? (automatic reloading, except BileTools)
its called the plugins/update folder and /reload
i made a plugin that can spawn animated particle effects, like a simulation from blender, but because all particles take a while to fade away its always quite fuzzy, is there a way using packets or something to remove existing particles so that the image is more clear
no
particles are fire and forget. You tell the client that a particle spawns somewhere and
from then on its the clients responsibility
and you cant set the lifespan when spawning i presume
not possible sadly
we don't have full control over particles sadly
well i know 1 way but its not practical, you can manipulate the duration of redstone particles by setting the size but then you would need millions of particles to make something meaningfull and minecraft can only render about 16k
Hi, is there good resource to learn NMS?
When working with nms it's mostly about reading mojangs code and seeing how things are implemented
You need to be decent at Java or you will get lost quite quickly
https://github.com/IntellectualSites/PlotSquared/releases/tag/6.11.1 how can I get the URL for this specific release to clone?
You clone the whole repo and then checkout to the commit 447e4c7
Alright, how can I "./gradlew build" but with that commit?
should be straightforward
like so?
Use git checkout instead of git switch
git switch is for branches
But yeah
(honestly I am not sure why git switch exists)
It worked. Thanks!
Hello, could anyone tell me, if theres a method to give a player knockback (without npc)
entity.setVelocity
❤️
Can anyone help my get past the hoops of the first stage? I just need to see a project with a place to write the code
Look up how to make an empty maven project with your given ide
There should be good resourced
that would work but if only someone who already knew how to do it in like 2 minutes, could teach me
I think you could do it faster then to wait for someone to answer further
If you have IntelliJ it has in-built support for Maven
You can create an empty maven project with it I'm sure
i have to direct you to general chat
someone gave me their tutorial but there was a step that wasnt properly acknowledged
scroll up a few
Look I am currently at work, I'll be off in 2-3 hours
If you still need help at that time feel free to DM me
I'll do my best to try to help you set up the environment
Did you enable the new Intellij UI by any chance?
That would explain why none of the tutorials work
Since they're for the regular one not the new experimental UI
Could you show your Intellij looks?
Hello, i want to convert 1.12 world to 1.8
There is some blocks that don't exist in 1.8 (4k x 3k area) and i want to replace them, do anyone know how to do that large replacement? or maybe can give some advice to code it
That's not supported
There are file format changes between versions
I would expect more file changes than that but ok
I have tools for them, not existent blocks type is the only problem
I would suggest world-edit.
If MCEdit works for 1.12.2 that might be a bit better.
I don't think it will handle 3b blocks replacement operation
💀
MCEdit should work
If not then AWE - AsyncWorldEdit ?
Time to write C++ for maximum speed
Just use FAWE since it's free
Aren't they essentially the same now ?
One is free and the other is not
ye but they do the same thing right
funny how WineSpigot is a fork of TacoSpigot
Where is WeedSpigot 🤔
Probably exists
Google gave me 5 fucking results
FIVE
I doubt it
how is that a hot take
people usually hate new things
maybe its a cold take
leaking my name
mye
but yes
pretty nice
Yh I've liked the new UI since the start apart from the bugginess. I still sometimes don't understand the behaviour of the run GUI
wdym
I don't understand what run config it displays as primary
it displays last used
Ok I guess it's just buggy for me then
including what happened in task menu
It regulary doesn't change for me
Ahh I click the run button so ig that doesn't update it. interesting
sounds like a skill issue
😢
ngl i didn't realise u could even click it to set it to primary 💀
I've just been going into the dropdown every time (unless I'm just restarting the task)
Hey there,
I'm creating an Asynchronous event however the event might be called synchronous sometimes which bukkit doesn't like.
What would be the best solution to fix this issue?
Most calls for the event are asynchronous and this event is a contribution to spigot
(The location where the event is called might be called synchronous or asynchronous which is my problem right now)
Pass in whether or not it's synchronous in the constructor
public MyEvent(boolean async) {
super(async);
}```
So even though the event is supposed to be asynchronous I'm always changing if it actually is asynchronous or not?
The only time that the event is called synchronous is if someone uses a specific vanilla command
Yes, that's fine. See AsyncPlayerChatEvent. It too is sometimes fired synchronously
I see, okay thanks for the quick answer!
Copy the Javadocs from the APCE. Keep it consistent. So long as it says that it can be fired sync and it should be checked
new AsyncStructureGenerateEvent(!Bukkit.isPrimaryThread(),
So like this for example?
Yeah or if there's some other way to distinguish whether or not it's synchronous
Is every generation call that is done on the WorldServer itself synchronous?
If so then I can do it based on that
That's true, I didn't find that issue until now x)
And its been about 3 months now since the PR started
How to know the difference between clicking and holding the mouse, which happens about once every 0.2 seconds?
i dont think there is way for you to determine if player is holding mouse
of course, aside from if he is breaking block
Does anyone know how I can run the sign MOJO only if a gpg keyname is set?
😢 eclipse
bonk
Is it possible to send playsound with bungeecord packet?

I have a question. I want to change the version of my plugin (from 1.12 to 1.8) how to do it? I am using IntelliJ IDEA. I can send you a code if you need it
does it use nms
just change the version used in the pom.xml and fix all compile errors
nope
if it doesnt use nms it already works
Well, maybe
Downgrading. Could be using API introduced in 1.9+
oh im blidn
Sound enums were changed in 1.9
it says 1.12 to 1.8
Yes
not 1.8 to 1/12
Yes
yeah do what geol said
though chances are there are things that cannot be done only through bukkit (at least not without thinking with tricks)
10 year old version moment
Could not find artifact org.spigotmc:spigot-api:pom:1.8.8-R0.1-Snapshot in spigotmc-repo (https://hub.spigotmc.org/nexus/content/repositories/snapshots/)
``` sorry i didnt know what i need to do it is my first time 🤷
Show your build file
SNAPSHOT should be capitalized. I'm fairly certain casing matters
pom.xml? i dont know XD
yea, paste it with the link above
https://paste.md-5.net/tiyicoviho.xml here you are
<repository>
<id>enginehub-maven</id>
<url>https://maven.enginehub.org/repo/</url>
</repository>
I think this is the repo you need
oh
reload maven
I reloaded and it seems to work
The answer is to just set the gpg.skip property to true in the POM and to set it to false via a profile in the settings.xml
when i changed the version in my java file some lines are underlined in red and i have these errors
oh
i cant send screen
Fix these errors then
?paste Send pom
i dont know what is that XD
okok
well it would help if you knew how to make plugins in the first place
porting plugins can be quite the task
but i have errors and underline in "src" folder in java file
but ok
Yes but the pom is at the source
oo okay
yes, but I thought I understood how to create a plugin
okay that is actually correct. Refresh the maven project (however you do that in IJ) and if that doesn't work dump the IDE caches, reopen the IDE and pray that it works now
i reloaded ij and i think this working XD
I was considering this, but would appreciate a second opinion,
im walking down a file tree, and my intention is to copy each file and directory from directory A to directory B, I'm also going to delete all files and directories from directory A.
- Do I delete each file after copying it?
- Do I walk down the file tree again and delete all files after copying the entire file tree?
Why not move the files?
mye that'd be the alt 1 ig
if not too big I'd probably copy all then delete so you don;t get partial data in each if it errors
ah okay
Copy & Delete tends to be a bit slower than moving since moving is a direct FS operation (and usually only involves rewriting headers)