#dev-general
1 messages · Page 18 of 1
how? wouldn't the extra characters push the image further right/text further left?
unless you use like a monospace font and some extra spacing stuff
You lose the fade but possible
Just need to do some font trickery
Part of the message is offset down, other part isn't
yeah its hard but possible
matt flexing his mcc things as usual
how do you take the actionbar and combine it with your UI stuff is the question 
if you wanna know if its an actionbar message just go into your font settings and make it weird
thats very vague but imma pull up minecraft real quick and get the actual words
language force unicode font
the resource pack will then start outputting the actual characters
instead of the replacement ones
what I meant is, how do you know if the action bar is just a normal message and not your UI
and if it is a normal message, you combine it with your UI and send it to the player
You can't, it's a custom actionbar message, if you send a vanilla one it overrides the UI
what if it is sent by another plugin?
last gif from that plugin's page if this shit doesnt load
something that came into my mind is you can maybe add some characters to the UI that you can check for when the player receives a actionbar message?
Still don't think it's possible, I mean sure you can mess with the packets, but because of the fade there it could be sent as a offset title instead of actionbar, the actionbar needs to always be active to show the ui, so the fade never happens
But I could be wrong
i modified the server jar 
they are probably overwriting commands or shit
reflection sucks
but they are doing packet listening afaik
Yeah it's most likely getting an actionbar command cancelling it an sending it as a title or subtitle
Oh yea, I forgot about the fade away
To do what?
Without the fade yes it can still be actionbar
Very descriptive Sky
sorry
i just took the method plugins use to send actionbars and used the provided component and combined it with the permanent ui
but the fork didnt last long
it was called esmf

extremely stupid minecraft fork
i think i threw some random shit into other threads too
10% of vanilla mechanics broke but yes
Ya'll ever played with Deno before?
deno the npm replacement?
Demo the Node replacement lol
Good evening, I come to you because I'm starting to lose hope 😢 I don't know if this is the right salon for you to help me if necessary, don't hesitate to move my request for help..
It's been several days since I tried to create a rank shop with DeluxeMenu but I'm starting to lose my means even if I think I didn't do too badly ^^
Well here is my star rank, when I buy the rank it gives me the star rank. When I have the member rank, it tells me in the description that I don't have it and that I have to buy it. If I buy the star rank it uses the currency well, it gives me the star rank and it sends me a message to say that I have bought it. If I already have a rank above the star rank in the description of the star rank, it tells me that I have already purchased this rank. However if I have the star rank or a rank higher than star I would like it to send me a message telling me that I have such a rank. I did several tests but it sends me no message.
This part of my code does not run:
click_requirement:
requirements:
STAR:
type: string equals ignorecase
input: '%luckperms_in_group_star%'
output: 'no'
deny_commands:
- '[message] &c&6Nakaria &7» &aYou already have this rank !'
- '[close]'
check for permission group.star instead of the placeholder
also #general-plugins
Basically you want me to create an additional permission?
no
group.<rankname> is the permission that players are given when they have been assigned a group
its also the same permission when a group is given a parent
the problem with your current method is that 1 it doesnt currently work and 2 if the player is in a group that isnt that group then it wouldnt work right
Uh
basically as long as a group your in has the parent of that specific permission it should work
tho its very possible that that luckperms placeholder returns false instead of no
Well I tried to do as you said but I have trouble understanding .. could you give me an example?
click requirement has perm
Everything about DeluxeMenus requirements!
yk what #general-plugins
Ah but wait I'm stupid
Oh no it doesn't work 😢
click_requirement:
requirements:
ETOILE:
type: has permission
permission: group.etoile
deny_commands:
- '[message] &c&6Nakaria &7» &aVous possédez déjà ce grade !'
- '[close]'
what are the new blocks for 1.19.3
i dont think there are any
Can I use MiniMessage to send formatted messages to console?
minimessage is just a component deserializer and you components to any audience so yes
also #development
Dude, writing good javadocs is harder than writing good code 
what are you even meant to do in bits like that
It actually is 🥹
Probably not write anything
Might be a fool asking here but have I created a Bubble sort here? (Python, and yes it's probs crude)
Doing a bit of revision and I've lost all capacity to think. 
For example I stopped adding javadocs to getters and setters that don't have any specific functionality and are pure getters
I hate when the @returns of the method is the same thing as the description 
Returns the username of the user
@returns the username of the user
it's fine you won't even need to write docs soon
this will all be in the past
once these ais can understand our code properly they'll be the documentation tool
I dont mind that
I like how kdocs work, you can add those tags but they are not needed, you just describe what the code does instead
For example Returns the [username] of the [User]. would link to username and user
Javadocs will yell at you for not including the tags, not that you need but it warns you to
Yeah
just do {@return the username of the user}
Yea that’s bubble sort

Haha how do you accidentally do that, bubble sort is not something I could come up with if I didn’t already know it
think they were trying to
this is what not working
this
School Revision 
gotta memorize it to some degree

We were specifically taught to not use it because it is very bad.
I've also gotta memorize insertion sort
but why bubble?
Just learn random sort. I don't think it is technically a sorting method but it is a funny way to sort stuff.
It’s a sorting algorithm. Its impractical but can be useful if you’re learning about complexities
Just for learning though 😂
oh right. it had actual names as well
I do remember "stupid sort" but there was also a name with b
ah. bogosort
that was it
Haha we never learned those but ive seen them before
Well, our teacher just told us about it because she thought it was funny. I did use it in solving a problem in one of the exams we took because usually when they want the best algorithms they specify that and for that specific problem it didn't mention anything.
lol
It's quiet.
@half harness You ever played with Deno before?
I haven't :(
I don't have a lot of time & motivation to look into other stuff right now
Fair enough.
I just found out the other day about their edge deployed TCP workers, so like Cloudflare Workers, but with TCP, kinda crazy.
wait TCP
isn't that like what minecraft uses for servers for ex
I am not very knowledgable in this stuff 🥲
Ye
So check this out, in my MCBanners API I have endpoints for servers and whatnot, looks like this: https://api.mcbanners.com/mc/server?host=mc.hypixel.net&port=25565
That's running under Spring Boot so I have to deploy and host that myself.
Now I built this in Deno: https://minecraft.mcbanners.com/?server=mc.hypixel.net&port=25565
It's a mirror of the one I have deployed and hosting myself but it's on the edge, so it's in like 30 areas around the world.
And I don't have to host it myself 😛
anticheat devs when minecraft changes to udp 😢
udp would be mega stupid
Oh that's a pretty neat API
updates every time i refresh too 👀
wdym by you don't have to host it?
you can use vercel for that too afaik
smh imagine not buying 30 vpses around the world
30 extended serial ports
Yeah it'll refresh really fast. What I haven't figured out yet is if there can be a cache put overhead to prevent spamming requests, but, I think even if it hit a cache, it would still be racking up requests.
Does Vercel support TCP sockets?
Still working on an edge case here where if a server IP is the same as the domain name (like the root name, if hypixel's server IP was just hypixel.net) it would fail. Trying to figure out why that is. I think it's related to SRV records not resolving properly.
Because Minecraft is TCP
So mega stupid that bedrock uses it
Yes
chatgpt answering the most obscure and niche questions, building up my confidence in it until it starts writing plugins in python
Error: projects/ui/src/app/features/configuration/configuration.component.ts:17:33 - error TS2591: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.
17 const { version: appVersion } = require('../../../../../../package.json')```
How can you not like js
that horrific import
idk about js editors, but for java, IDEA will refactor all classes that have a reference to the class you are renaming / moving
in this case, I guess if you add/remove a folder, the import will no longer work and needs to be updated manually?
https://github.com/Microsoft/vscode/issues/19439
It was added in VSCode 1.24 (1.74 now)
It just depends how your environment is set-up
javascript.updateImportsOnFileMove.enabled
typescript.updateImportsOnFileMove.enabled
you need either of these (for the one you're using) for it to work iirc
that's nice
well that's a weird error
it would be really nice in the deluxetag plugin to add in the config an option that if you activate it, it allows to put a space automatically after each tag, because those who don't have a tag end up with a space in front of their nickname
ping me
there's __dirname also
How can i add an custom head from me to a deluxe menu
How to use custom heads in DeluxeMenus:
a) A player name material: head-extended_clip
b) The player's head material: head-%player_name%
c) The base64 code of a head material: basehead-<code>:
- Go to https://minecraft-heads.com and find a head.
- Copy the head Value code (from the page bottom)
d) The minecraft texture url material: texture-<id>
- Only put what's after https://textures.minecraft.net/texture/
e) HeadDatabase material: hdb-<id>:
- Require https://www.spigotmc.org/resources/14280/
and add deluxetags.tag.all ?
i wouldnt be surprised if everyone here with dev role hasnt played mc legit in a while @half harness
@sweet cipher #chat-settings pretty useless now cause of id:browse lmao
Yeah we're planning on merging over to discord's new selection thing soon™️
Browse channels doesn't give you roles?
Yeah theres a thing I can turn on that will allow something similar to give roles
Ah
Discord nitro generators are obviously fake. I mean even the big brains at Nasa probably couldn't crack free nitro. However there are an abundance of nitro "methods" where people get you to run some random code. Well, when the code looks like a wall of copy and paste, you need to do some deobfuscation and that's what I did.
Keep in mind, the th...
I love child labor ngl
They haven't been taught laws yet so you just exploit their labor more than you usually would
I'm using a my own dependency from github in a gradle project.
I automatically create a 'dev' build and a release with 'dev' tag using actions, which updates the jar on every commit.
The problem is, when I refresh gradle or rebuild the project, the dependency isn't updated locally.
How to fix it or is there a way to manually tell gradle to redownload the dependency?
Hello, I premise that I am new to java programming and just learning to program. I am trying to make a placeholder for my first plugin, the placeholder works and if I replace it in the joinmessage it works. But if I try to place it in the leaderboard or try to launch it with the command /papi bcparse I don't get the result. Could you please help me?
what kind of placeholder is it? You might try the regular /papi parse.
It is not working, is there any event to be called for it to be replaced?
show the /papi parse command and your code
/papi parse MonsterHit %test_resoult%
public class PlaceHolders extends PlaceholderExpansion {
private final Main plugin;
public PlaceHolders(Main plugin) {this.plugin = plugin;}
@Override
public boolean persist() {return true;}
@Override
public boolean canRegister() {return true;}
@Override
public String getAuthor() {return this.plugin.getDescription().getAuthors().toString();}
@Override
public String getIdentifier() {return "test";}
@Override
public String getVersion() {return this.plugin.getDescription().getVersion();}
@Override
public String onRequest(OfflinePlayer player, String params) {
if (player == null || !player.isOnline()) {
return "";
}
if(params.equalsIgnoreCase("resoult")){
return DatabaseCon.PlayerGroupValid(player);
}
return null; // Placeholder is unknown by the Expansion
}
}
public final class Main extends JavaPlugin implements Listener {
public Main() {
}
private static Main instance;
public static Main getInstance() {
return instance;
}
@Override
public void onEnable() {
// Plugin startup logic
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
this.saveDefaultConfig();
instance = this;
DatabaseCon.Connect();
Bukkit.getPluginManager().registerEvents(new MenuFunctionListener(), this);
new PlaceHolders(this).register();
getServer().getPluginManager().registerEvents(this, this);
} else {
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.BLUE + "[Test] " + ChatColor.GREEN + "Plugin disabled!");
}
}
@Override
public void onDisable() {
instance = null;
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Boolean Group = DatabaseCon.PlayerGroup(event.getPlayer());
if (Boolean.FALSE.equals(Group)) {
me.monsterhit.Main.Player.GUI.displayMenu(event.getPlayer());
}
String joinText = "Test mex: %test_resoult%";
joinText = PlaceholderAPI.setPlaceholders(event.getPlayer(), joinText);
event.setJoinMessage(joinText);
}
}
and what do you get from the papi parse cmd?
Nothing, I get %test_resoult%
I'm going crazy 😂
debug
?
spin up the server using the IDE and debug it, see what's wrong
or the classic 'sout'
by the way, this is unrelated but you dont need a static instance and getInstance() function since you already use dependency injection
does placeholderapi say its registered your expansion in console?
for example, after my plugin loads it says
[PlaceholderAPI] Successfully registered expansion: lunix [1.0]
Nope
I am using the instance for the database.
How can I do this?
you look at your logs?
if its successful at registering then itll say if it did or not in the console
also why is your group variable in your onplayerjoin method Boolean and not boolean?
if it was its primitive type you could just do !group
also variables should start with a lowercase letter, not uppercase
can somone help me in development
No it is not registered, how can I register it?
It checks whether the player belongs to a group or not.
im not asking you what it does, im asking you why your using Boolean instead of boolean
Boolean is the object varient of boolean
and yes they are different
in the plugin.yml did you set PlaceholderAPI as a soft or regular depend?>
Soft
just making sure
from the looks of things it should work, are you restarting your server after updating the plugin with the new jar after compiling?
Of course.
dm me the jar file for your plugin thats currently on the server
No read well the files I sent you I changed all the code posted here
But I am trying with what is written in my code that I sent you
actually scrap that
the params comparison should just be group
your not overriding anythin g
its optional, but better for safety to make sure youve spelled it all right
also i dont think your supposed to override canregister
or atleast i never did
also your doing all your mysql stuff on your mainthread and not asynchronously your going to lag heavily
i dont
Yes I used @Override but I don't know why it doesn't show it to you
heres mine for comparison
public class MyPlaceholders extends PlaceholderExpansion
{
private LimitedLives plugin;
public MyPlaceholders(LimitedLives plugin)
{
this.plugin = plugin;
}
@Override
public @NotNull String getIdentifier() {
return "limitedlives";
}
@Override
public @NotNull String getAuthor() {
return "Heklo";
}
@Override
public @NotNull String getVersion() {
return "1.0";
}
@Override
public boolean persist() {
return true; // This is required or else PlaceholderAPI will unregister the Expansion on reload
}
@Override
public String onRequest(OfflinePlayer player, String params) {
if(params.equalsIgnoreCase("player_lives"))
{
return String.valueOf(plugin.getLives(player));
}
return null;
}
@Override
public @Nullable String onPlaceholderRequest(Player player, @NotNull String params) {
if(params.equalsIgnoreCase("player_lives"))
{
return String.valueOf(plugin.getLives(player));
}
return null;
}
}
it probably gets removed since it does nothing after compilation
it looks the same as yours except for annotations
iirc onPlaceholderRequest will never get called btw
yeah i just forgot to remove it
are you using maven or gradle for compiling your plugin?
Punch-card actually
In the main class you simply inserted:
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
new PlaceHolders(this).register();
}
Right?
maven
if( Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI"))
{
new MyPlaceholders(this).register();
}
else
{
Bukkit.getLogger().info("No PlaceholderAPI found.");
}
yeah exactly
jeez whats up with your formatting
lol
the reason its not working is because the override annotation is removed
horrible
bro WHAT is wrong with it xD
everything
no, look all the way above
literally everything
if( Text) for one
i always do that
Allman for 2
there is no space between if and (), then the thing above
xD
press ctrl alt L and 😌
this is from the jar that was on the server that they are testing on
your curly braces are like c# formatting
yeah, i like to have them in line
jeez
makes it easy to tell which ones match
ew
huh it does get removed
override is bullshit sometimes
Annotation moment
no it isnt
it's not?
it works in the join message
run a debug after the register method
it works people
oh
hes just parsing wrong
when they say debug, they mean send a message to console or smth
print(stick)
wdym
idk why but he is
🤔
youre using %tarkovcore_group% right
@iron sierra
no, %test_resoult%
idk which code is currently being used, probably tarkovcore
How is it possible.
just send current code and what youre currently doing?
I can send you the class files
you can post paste links in this server
also both of them are the same
we need the placeholder class as well
try %tarkovcore_group%
so it works when he uses setPlaceholder() to replace it manually
but not in scoreboard or parse, i still think it is a registration issue
return String.valueOf(DatabaseCon.PlayerGroupValid(player)); //should hopefully cover the base of boolean doesnt want to be parsed for whatever reason
and use onRequest not onPlaceholderRequest
kotlin did you say earlier that onPlaceholderRequest is never called
xD
or was it just for me because i overrode both
this
ah
Bro just named himself a whole lang 💀
thats ok nobody ever refers to the language
no zodd
just to him
Nothing changes
The problem is that the expansion is not registered when the server loads.
maybe get rid of the canRegister override
someone suggested that earlier but its still there
this could be complete BS, but maybe since you just return true, it attempts to register earlier than it should when it is not ready
Hi everyone!
We are looking for talented developers to join our Minecraft server project. We have been working on this PVP server for the past 11 months and our goal is to revolutionize the future of Minecraft PVP. We need skilled developers to help us build up the server's functionality and bring our vision to life. If you are passionate about Minecraft and have experience developing plugins, we would love to have you on our team. Let's work together to create something truly special.
Thanks!
with those tears you may as well request paid
yes
and it prints then, but does not print anything about the registration happening?
Exactly
did you try removing the canRegister() method
Yes in my attempts today I also tried this but it didn't work.
im gonna copy paste your code into my plugin and see if it also breaks xD
I found the error... it was in the maven file. I had entered two versions of PlaceHoldersAPI and did not enter the scope. Sorry 😂
Now everything works correctly
xD
Thanks to everyone for helping me
BuildingProvidings.class.getDeclaredFields()[i].getClass().getDeclaredFields().length;
I Need to get the Fields of a field in this class
but it won't return the actual length of the fields for some reason
Does anyone have any idea
wot
seriously
bruh
who can help me connect to the ftp of my server with visual studio please if someone can help me write to DM
NVM I got it! I needed getType() instead of getClass()
you cant afaik
you gotta manually upload the jar
tho you should probably load a server locally while testing
pretty much every dev im spoken to or seen uses local servers
Is using
ChatColor.translateAlternateColorCodes()
for hardcoded colored strings a bad practice
i dont think it is
i think having to call the enum for each color in the string and adding empty strings when attempting to put a color and format chatcolor together makes it more unreadable
we have to clarify something here
player.sendMessage(ChatColor.RED + "You can't do that!") vs player.sendMessage(ChatColor.translateColorCodes('&', "&cYou can't do that!"))
not config loading or anything
just hardcoded strings
@agile galleon does pastes have a way to show raw text?
like this: https://paste.srnyx.xyz/raw/naqeqefupo
bytebin
huh?
you can take a look at my bot
i personally dont use tranlate directly, i have a method that wraps it that shortens it
its the backend of paste
what would the url be for plain text for this? https://paste.skyslycer.de/Z9qYF
holdup
D:
wow!
is it possible to make it so that https://paste.skyslycer.de/raw/Z9qYF (i added raw/) doesnt just make a new paste
that way i could make raw/ redirect to pasteapi or something
no problem!!
i believe that i will become god and have control over the entire universe
i dont think so, you can edit the src
i said believe in yourself, not become delusional
😭 i cant use it then 😭
im using raw urls in a bunch of discord embed stuff for a discord bot
you dont have a url base?
you can probably do that with some nginx config
what what what
probably, yeah
omg josh miles isnt in this server
for /raw redirect to pasteapi or smth, that's what you want, right?
there's most likely some stackexchange q/a for that
lmao
Well you did pass up the job...
Hey, does anyone know how to make it so when you die you spawn with a kit?
A member of staff has requested I move your message to a paste,
Most likely because it contains a config/error/code snippet.
@young trail don't tag random staff members for help
Yeah, when player respawns, you give him a kit
Simple as that
could anybody help me with an nginx task I want to perform on my server?
not bad, thought is too much blue for yaml
no
rip
diff looks nice
it is diff
nah the ANSI looked like dogshit when you tried to use bg colours
idk how it looks now
[2;47mHey Emily[0m[2;35m[0m
hi
\u001b[0;40m\u001b[1;32mThat's some cool formatted text right?
or
\u001b[1;40;32mThat's some cool formatted text right?
wa
doesnt even work
sad
Hey [2;35mEmily[0m[2;35m[0m
yep yep
no I don't need to charge my phone
hi
can you help me with nginx
probably not, what's up?
hmm
so basically
I want to make a direct link for every single file / folder in a directory
(public link)
I already have had that, but then the server died and now I have to do it all over again, and at the time someone, I don't remember who did this for me
uh
here's an example of how it was
http://cdn.agamsol.xyz:90/media/liberman.png
u gotta use the actual unicode character btw
the java compiler converts the \u001b those characters iirc
wait
ansi can't even do what diff does in discord
unless they added hex support
(by "they" I mean discord)
[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE[0m
[40m BLACK[0m[40m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[41m RED[0m[41m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[42m GREEN[0m[42m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[43m YELLOW[0m[43m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[44m BLUE[0m[44m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[45mMAGENTA[0m[45m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[46m CYAN[0m[46m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[47m WHITE[0m[47m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m```
god that is awful
the background colours are vomiting
the only one that lives up to its name is white
I can read the WHITE on white background
these backgrounds don't look very green / yellow / blue or cyan lol
nor black, red or magenta
😬
jesus
Damn. Cloudflare Workers are hella fun.
you talking about their employees or the cf feature Workers?
The environment 😂
ah ok
They're pretty great 😉
Employees are also pretty great 😉
I totally forgot you were in here. You are one of my favorite employees 😛
👀
Now if only I could get kristian to respond to me 
We have a few people chasing the OSS stuff at the min. I'll give you a shout when we get it all sorted
Damn right 
Bless 🙏
how can i get the block coordinate player is looking at even from very far in java
Multiply the vector
getTargetBlock
@NotNull
Block getTargetBlock(@Nullable Set transparent, int maxDistance)```
Gets the block that the living entity has targeted.
This method considers all blocks as 1x1x1 in size. To take exact block collision shapes into account, see getTargetBlockExact(int, FluidCollisionMode).
block that the living entity has targeted
transparent - Set containing all transparent block Materials (set to null for only air)
maxDistance - this is the maximum distance to scan (may be limited by server by at least 100 blocks, no less)
Hm, that wouldn't work for long-distance blocks though
er I guess it would huh
"targeted" is an odd word choice
d;livingentity#raytraceblocks
@Nullable
RayTraceResult rayTraceBlocks(double maxDistance)```
Performs a ray trace that provides information on the targeted block.
This takes the blocks' precise collision shapes into account. Fluids are ignored.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
information on the targeted block, or null if there is no targeted block in range
maxDistance - the maximum distance to scan
https://www.youtube.com/watch?v=hfWTzlaRnp4&ab_channel=Nimsy fucking denizen script LOL
I was looking at the video and saw dsc, an extension I've never heard of before
The IP is mc.nimsy.live. You're welcome.
MY NEW CHANNEL (im sorry if the first vid is a little cringe): https://www.youtube.com/channel/UC016y7F8QY2esT304CaYJpg
Also to keep running servers and other really cool benefits, check out my Patreon: https://www.patreon.com/nimsy
──────────────────────
» Twitch: https://www.twitch.tv/flimsynimsy
» T...
I cant believe this is made with denizen script and not java
people hire others for denizen scripts too
I charge $20/hr, with a $15 minimum for scripts that take me less than one hour. For anything past that, I round up. I only accept payments via PayPal.
must mean that it's complex enough to be able to have payments like that, but at that point might as well just learn java 🥲
true
tf is denizen
denizen is a multi-paradigm asynchronous threaded language with embedded blockchain support
https://paste.denizenscript.com/View/86438 idk man, looks more cursed than skript
Content of Denizen Script Paste #86438: 'Double Doors Open As A Pair'... pasted 2021/07/14 09:40:01 UTC-07:00, Paste length: 1077 characters across 20 lines
or is it one of the script kiddy stuff
I wanted to try it out but the server is so laggy
writing such a complicated script kiddy 'language' seems to have a pitfall like interpreted lang like python
💀 slow 💀
If it's built on scripts then that makes sense lmao
That's a feature bro, part of the new "slow-time" ability we programmed
oh yeah, I remember now
https://youtube.com/watch?v=hfWTzlaRnp4&si=EnSIkaIECMiOmarE&t=593 this function is nice tbh, how do you even make this with a scripting plugin
as a reference, this is how it looks in valorant https://www.youtube.com/watch?v=cSn7gymvCsk&ab_channel=Moorey
The IP is mc.nimsy.live. You're welcome.
MY NEW CHANNEL (im sorry if the first vid is a little cringe): https://www.youtube.com/channel/UC016y7F8QY2esT304CaYJpg
Also to keep running servers and other really cool benefits, check out my Patreon: https://www.patreon.com/nimsy
──────────────────────
» Twitch: https://www.twitch.tv/flimsynimsy
» T...
This is a detailed full length guide to smokes as Brimstone. Where to place your smokes, where to stand, this guide has you completely covered to become a radiant Brimstone main in no time! This guide covers every brimstone smoke for every map, including the new map pearl.
Timescodes:
0:00 Intro
0:22 Ascent
5:29 Pearl
9:25 Bind
12:10 Haven
15:4...
I assume similar to how uh forgot the name of the person but someone was doing a minimap plugin with texturepack
probably similar to that
OR they just manually did a texture for each segment of the map
and switched accordingly
probably with a coordinate system with each "chunk"
which you can then maneuver using the buttons around
For the smoke they could dive into core shaders and make things like this https://fxtwitter.com/i/status/1610213628682043393
almost cant believe myself that this is vanilla minecraft
You mean client performance?
yes
Probably not that bad
Probably even not badder on the server
Nah it's a resourcepack shader, it has no impact on the server
yeah only if there was any docs for that xD
also smh, no fxtwitter
There
Is it really?
Looks like configuration help
does it allow for non transparent ones tho
id assume so
but making sure
I believe so
Uhm can item spawning be async?
doubt
iirc anything with the world has to be done sync
except for paper which has a couple async methods such as teleportAsync
Why wouldn't they let you do that
They could just add "Use at your own risk" comment and that's that 🤠
If there are drawbacks of doing it
Unless it breaks many stuff
Then idk
Major rewrite!
The whole point is that it will almost certainly break stuff lmao
there are a billion possible issues that multithreading can cause, many of which are incredibly difficult to debug
Hang on lemme find an example i saw a while ago
If anyone ever says concurrency is easy they’re either lying or don’t understand concurrency
Mutable concurrency that is 😏😏😏
true, world.dropitem should return a new world
that doesn't many any sense.
It should spawn a new Game Engine each time to properly represent the item.
concurrency is easy, just lock every line
Just make everything immutable ez
in IntelliJ, when ctrl clicking a class, then ctrl clicking something in that class, IntelliJ closes the first class which is really annoying (and keeps closing the classes before if I keep ctrl clicking) - anyone know how to prevent this?
the only way to prevent this is by modifying the file itself - which isn't possible when looking at classes outside of your project :/
It wasn't a thing before, it was added in one of the most recent updates which is really annoying
Or could be the new UI idk
Oh yeah on the issue it says it's the new UI has it by default
im making plugin where one person dies everyone dies, i asked chatgpt for some name suggestions, here's what it gave me:
- "Chain Reaction"
- "Collateral Damage"
- "Cascade Failure"
- "Linked Fates"
- "Interconnected"
- "Equal Opportunity"
- "Team Effort"
- "In This Together"
- "Solidarity"
- "In Sync"
- "United We Fall"
- "We Fall United"
thoughts? i underlined ones im leaning towards
im a fan of alliterations like "Critical Colors" and "Erratic Explosions" (different plugins)
You should name it “Stop being an idiot!” Because that’s what people are going to be saying to each other
Wow you don’t like equal opportunity?
seems political lmao
ye i was thinking about what ppl would be saying, and for some reason i couldnt think of anything (even tho i just helped with a 3 hour stream for it lmao), i like that
So basically you don’t support equal opportunity
omg thats not what im saying bruh
but i dont want my plugins to take political stands 
That’s what I’m taking away from this conversation
cause its not the point of them
That sounds like excuses to me
seems like u support unequal opportunity
i like this, do u think i should abbreviate it to SBAI in the plugin.yml or just be StopBeingAnIdiot (probs this right?)
#2
@sweet cipher collateral damage ftw
Why did you ping me lol
I’m an idiot
My bad
But my point still stands
From all the options chatgpt gave you collateral damage seems the best
yeah that one is pretty epic
but imma stick with "Stop Being An Idiot!" cause that was my original idea (naming it after something ppl would say while using it) before resorting to chatgpt
Any suggestions for a plugin that supports supply and demand feature for selling items?
Any way to change the version of java a jar gets opened by without running commands or a bat script?
well on my server I just do
/usr/lib/jvm/java-17-amazon-corretto/bin/java ... -jar ...
without running commands or a bat script
I don't want all jars affected
what do you mean
you either pass the full path of instead of just java or change java home env variable
there are no other ways
When I click on a specific jar I want it to use java 8 rather then java 17...
So far the only way I have found to change what version of java opens the jar is with commands or a bat. I don't want to open the jar with those.
then no, there's no way
👍
(as far as I know)
...
yeah
my answer was correct in that regard
why dont you ask your whole question?
you should already know more information = better help
a jar ... not all jars
open to interpretation
🤷
jeez
You can change the version on windows by right clicking, open as, navigate to the java bin folder and Java.exe @inner umbra
Or smth along those lines
Close but unless I set it to open with all jars I would have to do that every time.
Ill just stick with the bat script.
You'd need to code a program or smth for that
I know for sure windows doesn't have something for that
Or bat file yeah both work
Bat file is better
kotlin sucks
Unless you're using spigot, even 1.8 should support latest
Cause the GUI in the jar I use doesn't work on java 17
@ruby dew ur gonna love my next 2 plugins' icons
so I have been working on designing and making a physics engine for a project I'm working on (mc related btw), and I'm currently stuck on something, the loop that makes everything work, I have been using a simple while loop that calls all of the update method and shit, the problem is that the solver I'm using depends on the delta time variable which people who have worked with games or this type of stuff will know is very important for everything goes as smooth as possible and my implementation of it is trash and I have no idea on how to add it.
if anyone has any designs of a loop that I could borrow or something I can check out to be able to design a good one I would be very very grateful
What do you have so far?
this
pretty much the same as the one from LWJGL's example
works on that
but I have tested it and the deltatime doesnt change at all
also sorry for late response
Won’t dt always be greater than 0?
apparently no
yes - the purpose is so that you know how much time passed between each tick
(which in the game engines I've used - I think used a float to represent seconds, not milliseconds)
no point in making the milliseconds a float
idk if a long can even fit in a float
yeah @sick belfry i think this is why it's not working
don't store longs in floats
first number is float, second and third are longs ```java
long a = System.currentTimeMillis();
float start = System.currentTimeMillis();
long b = System.currentTimeMillis();
System.out.println((long) start);
System.out.println(a);
System.out.println(b);
just use a long if you're going to store milliseconds
then you can find the diff, convert that to float, and then divide that by 1000 to make it into seconds
gonna make everything a long then
🤔
dt should be a float
but begin time and end time (which is redundant) can be longs
like this right?
long lastTime = System.currentTimeMillis();
float dt = -1f;
while (true) {
if (dt >= 0) {
// Update the physics engine
this.updateObjects(dt);
System.out.println(dt);
}
final long endTime = System.currentTimeMillis();
dt = ((float) (endTime - lastTime)) / 1000f;
lastTime = endTime;
}
smth like this should work
yeah
let me try
also did discord change the java font for code blocks?
looks different
yeah they changed all of the lang colors
and the default
super white now
[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE[0m
[40m BLACK[0m[40m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[41m RED[0m[41m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[42m GREEN[0m[42m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[43m YELLOW[0m[43m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[44m BLUE[0m[44m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[45mMAGENTA[0m[45m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[46m CYAN[0m[46m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[47m WHITE[0m[47m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m```unfortunately didn't change any of the custom colors tho
lol
bruch
+ you can't get this green anywhere else
- or this red
¯_(ツ)_/¯
now its not applying the acceleration
lmao
oops my bad I pinged you
anyone have any cool forge mod ideas (not creating blocks, mobs, etc, something you can run on any server)
left_click_commands:
- '[cmd] tier1'
right_click_commands:
- '[command] tier1'
i forgot what makes player execute a command cananybody help
pls :(
its execute?
or what
+ as a matter of fact
- i can
+ seriously anybody can do this
- like ANYBODY
123456
I meant as ansi
Guys, can anyone help?
So, problem, i have velocity and idk why, but after 7th restart, server got problem.
After you rejoin server you spawn at spawn (essentials spawn) without any loot.
inventory cleaning after rejoin server and they are spawning on spawn from essentials*
I've got a problem, I'm trying to make it where a certain rank has access to gkits but when I do it doesn't offer a cooldown. Any chance I can get some help?
how do you do this?
is it the diff language?
```ansi
[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE[0m
[40m BLACK[0m[40m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[41m RED[0m[41m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[42m GREEN[0m[42m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[43m YELLOW[0m[43m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[44m BLUE[0m[44m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[45mMAGENTA[0m[45m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[46m CYAN[0m[46m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[47m WHITE[0m[47m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m```
no it uses ansi
[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE[0m
[40m BLACK[0m[40m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[41m RED[0m[41m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[42m GREEN[0m[42m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[43m YELLOW[0m[43m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[44m BLUE[0m[44m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[45mMAGENTA[0m[45m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[46m CYAN[0m[46m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m
[47m WHITE[0m[47m[30m BLACK [31m RED [32m GREEN [33m YELLOW [34m BLUE [35m MAGENTA [36m CYAN [37m WHITE [0m[0m```
thats so weird
how th do you guys do this
LeftOn = quand le clic reste appuyé (Il est bien détecté)
english please
sorry maam
Hello, I have a problem in my program but no idea how to solve it.
This code works:```java
while(true) {
if (gui.getAutoLeftClick() == true) {
Robot r = new Robot();
if (leftOn == true) {
click(r,"Gauche");
System.out.println(" " + config.getRandomisation());
}
else {
System.out.println("text");
}
}
else {
System.out.println("text");
}
}
what is the problem?
When i remove the else
or i change the program like that
:
while(leftOn == true) {
if (gui.getAutoLeftClick() == true) {
Robot r = new Robot();
click(r,"Gauche");
system.out.println(" " + config.getRandomisation());
}
}
it does'nt work
whereas it should
(LeftOn = if the click is pressed)
and it is well detected
(no errors)
that's not the same semantically, the first one will run constantly and check if leftOn is true, the second one will stop as soon as leftOn isn't true, which is probably instantly unless you are holding left click when you start it
So the second one will never work ?
And why this one doesn't work (same than the first wich is working but without else): ```java
while(true) {
if (gui.getAutoLeftClick() == true) {
Robot r = new Robot();
if (leftOn == true) {
click(r,"Gauche");
System.out.println(" " + config.getRandomisation());
}
}
}
when else content is not "sysout" it doesn't work too
not sure why that wouldn't work
I dont even understand whats happening there
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
Proprietary software
because this.b is null
How to not make it null
What should be there
Instead of null
probably a non-null value
since you didn't give any code I can't really tell whether it's an issue on your part or from the dependency
also it might be an issue with versions, since it's related with packets
not an expert in this area, so don't take my word for it
Ok
Here is pastebin
I basicly had mutiverse inventory on one server, and i copied all the data from world folder ofnllayers, and now i want to use these inventories on my server on the exact same world
But when a player joins, and it tries to load his inventory this error apears
one recommendation off-topic, pay attention to the Server thread/Error logs, they are there for a reason.
Can u help?
offline-mode moment 💀
I actually do not care whether it works or not.
Then why do you comment?
To say offline-mode moment 💀
The real solution is actually reading your log though.
The real solution is the friends we made along the way.
true
Hi, does anyone know how to remove mouse movement lag from JNativeHook please ?
Hi who know in java how to make a program work in specific window, by getting is name or idk
for my example i want that my program clic only on the minecraft windows and not everywere
Thx for your help
hi im learning C and im trying to write this but it keep hitting internal error
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main(void) {
int level;
double exp,lbigxp,lmedixp,lsmallxp;
printf("Enter your rounded level = ");scanf("%i", &level);
printf("Enter how full is your exp bar = ");scanf("%lf", &exp);
printf("base = %lf\n", exp + level);
lbigxp = roundf(9/2 * ((level + exp) * (level + exp)) - 325/2 * (level + exp) + 2220);
lmedixp = roundf(5/2 * ((level + exp) * (level + exp)) - 81/2 * (level + exp) + 360);
lsmallxp = roundf((level + exp) * ((level + exp)+ 6));
if(exp + level<=15) printf("Raw exp value = %lf", lsmallxp);
else
if(exp + level<=30) printf("Raw exp value = %lf", lmedixp);
else
if(exp + level<=1000000000) printf("Raw exp value = %lf", lbigxp);
else printf("Cannot calculate!");
return 0;
getch;
}
Edited to my latest fix
I fixed it, but the base still not give out the value
try removing conio.h (its not used i think?)
and use System("pause"), cuz you are gonna use windows anyway
anyone knows why my server selector doesnt send me to the server i select even tho everything is setup correctly
if it aint working, then everything is not setup correctly
and what server selector?
i use deluxemenus for the selector
material: basehead-eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Y0MDk0MmYzNjRmNmNiY2VmZmNmMTE1MTc5NjQxMDI4NmE0OGIxYWViYTc3MjQzZTIxODAyNmMwOWNkMSJ9fX0=
slot: 12
priority: 1
update: true
hide_attributes: true
display_name: '&6&LPrison'
lore:
- ''
- '&fPlay alongside the other players.'
- ''
- ' &fOnline: &a%bungee_prison%'
- ' &FType: &aprison'
- ' &fVersion: &a1.16.x - 1.19.x'
- ''
- '&e[Right click to connect]'
left_click_commands:
- '[connect] prison'
right_click_commands:
- '[connect] prison'```
this should work
@humble prism
Wrong channel
what channel then
or #1007620980627230730 if you want to have everyone see your problems
Uhm anyone knows of (preferably) a free forever service that I can input data into it via rest api and it stores that data and makes charts, etc for analytics purposes? I want to track some stuff of my discord bot. I know of grafana but I don't really understand how it works lol... preferably an easier to understand one
Hi, how to get the active system window name using java please ?
I believe there was a list of included packages in Bukkit (like SnakeYAML etc) if there is can anyone send it?
Maven: com.github.oshi:oshi-core:5.8.5
Maven: com.google.code.findbugs:jsr305:3.0.2
Maven: com.google.code.gson:gson:2.8.9
Maven: com.google.errorprone:error_prone_annotations:2.7.1
Maven: com.google.guava:failureaccess:1.0.1
Maven: com.google.guava:guava:31.0.1-jre
Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
Maven: com.google.j2objc:j2objc-annotations:1.3
Maven: com.google.protobuf:protobuf-java:3.11.4
Maven: com.googlecode.json-simple:json-simple:1.1.1
Maven: com.mojang:authlib:3.3.39
Maven: com.mojang:brigadier:1.0.18
Maven: com.mojang:datafixerupper:4.1.27
Maven: com.mojang:javabridge:1.2.24
Maven: com.mojang:logging:1.0.0
Maven: commons-codec:commons-codec:1.11
Maven: commons-io:commons-io:2.11.0
Maven: commons-lang:commons-lang:2.6
Maven: io.netty:netty-all:4.1.68.Final
Maven: it.unimi.dsi:fastutil:8.5.6
Maven: javax.inject:javax.inject:1
Maven: jline:jline:2.12.1
Maven: junit:junit:4.10
Maven: mysql:mysql-connector-java:8.0.27
Maven: net.java.dev.jna:jna-platform:5.10.0
Maven: net.java.dev.jna:jna:5.10.0
Maven: net.md-5:bungeecord-chat:1.16-R0.4
Maven: net.sf.jopt-simple:jopt-simple:5.0.4
Maven: org.apache.commons:commons-lang3:3.12.0
Maven: org.apache.httpcomponents:httpclient:4.5.13
Maven: org.apache.httpcomponents:httpcore:4.4.14
Maven: org.apache.logging.log4j:log4j-api:2.17.0
Maven: org.apache.logging.log4j:log4j-core:2.17.0
Maven: org.apache.logging.log4j:log4j-iostreams:2.17.0
Maven: org.apache.logging.log4j:log4j-slf4j18-impl:2.17.0
Maven: org.apache.maven.resolver:maven-resolver-api:1.6.3
Maven: org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2
Maven: org.apache.maven.resolver:maven-resolver-impl:1.6.3
Maven: org.apache.maven.resolver:maven-resolver-spi:1.6.3
Maven: org.apache.maven.resolver:maven-resolver-transport-http:1.7.2
Maven: org.apache.maven.resolver:maven-resolver-util:1.6.3
Maven: org.apache.maven:maven-artifact:3.8.4
Maven: org.apache.maven:maven-builder-support:3.8.4
Maven: org.apache.maven:maven-model-builder:3.8.4
Maven: org.apache.maven:maven-model:3.8.4
Maven: org.apache.maven:maven-repository-metadata:3.8.4
Maven: org.apache.maven:maven-resolver-provider:3.8.4
Maven: org.checkerframework:checker-qual:3.12.0
Maven: org.codehaus.plexus:plexus-interpolation:1.26
Maven: org.codehaus.plexus:plexus-utils:3.3.0
Maven: org.eclipse.sisu:org.eclipse.sisu.inject:0.3.5
Maven: org.hamcrest:hamcrest-core:1.1
Maven: org.jetbrains:annotations:19.0.0
Maven: org.ow2.asm:asm:9.2
Maven: org.slf4j:jcl-over-slf4j:1.7.30
Maven: org.slf4j:slf4j-api:1.8.0-beta4
Maven: org.xerial:sqlite-jdbc:3.36.0.3
Maven: org.yaml:snakeyaml:1.30
@peak fern this one?
if your using intellij you can find them out by just going to your project structure and libraries
Tx
https://github.com/google/gson/issues/1794#issuecomment-886068934
Wow look who I found
who's that?
Since you're here, did you ever find a fix?
well the workaround i sent worked, and it got fixed in later versions
although someone made a better workaround somewhere later
apparently mine had a memory leak 🥲
Oh
It appears like Spigot doesn't use the latest version maybe?
probably not
Very sad
I'll see about adding a fix to this
proceeds to not add a fix
😁
hi do you guys know how to add github bot to your discord server
like the github bot posts a message to discord whenever new commits are made to a project
saw something doing that in other minecraft servers
nvm found it
web hook
Why with the placeholderAPI plugin my ./hub no longer works
i don't know
i don't know
i don't know
i know
Brister Mitten knows
Oh
suggestions on jda slash command annotation framework?
was gonna use triumph-cmds but the current version is lacking stuff (I think?) and the recode is also lacking stuff lol
bruh
ye I prefer something documented
since I am quite stupid to discover it myself
lol
the command framework is highly documented but there is no docs for the discord specific stuff
you can look around at the Minecraft things and see if there are similarities with the discord classes and functions
the framework is highly versatile and platform independent
mheee
I found this BotCommand framewotk on github
thoughts?
thats literally the name
yes
yes?
send a link lol
Good
i just put it was a warning
didn't mean it as a bad thing
ye exactly that one
thoughts on it?
doesn't look bad ngl
I am on java 19 so we gud
Anyone knows here how to modify the NBTTag of an item on your hand or an item inside a chest?
@glass vine will the toolset you are developing be open source?
It will be a premium plugin
So I will not share the source code probably
what a shame tho
my premium plugins are oss tho
meteor client?
it has a nbt editor with cli
Let me try and check that. Thank you for sharing 😄
How can i make Shopkeepers with skins?
you mean like player heads in a gui?
do you have the shopkeepers already made?
If someone buys your plugin you legally must give a notice to let them request it
You don’t have a choice
Define outside
afaik you dont have to share source code even if they buy it
you have to share it if they request for it
really?
yes
why is that?
because that's what gnu gpl v3 says
_ _
and if you refuse to give the source? can they like sue you or something?
and they can request it and you must provide it
ok but
no one follows it 😐
they could take legal actions yes
ur problem
doesn't it cost a bit of money to sue anyways?
all to get the source code of a plugin
if you provide the sourcecode, does it have to be in readable form or can you send obfuscated code?
iirc spartan just uses a decompiler
i don't remember the url of where it's stored but I'm 99% sure they used a decompiler
it has to be the same source code you used to compile the binary
i see
i.e. what the project is composed of
every project under the sun that is licensed under gnu gpl v3
wdym
wdym wdym
do I have to purchase it in order to request?
it does not matter whether or not the binary is purchasable or not
every plugin free or paid if on request of the sourcecode has to give it.
or just chuck it on github and call it a day
if you have a binary, you are able to request the source code and the owner/maintainer/whatever must comply and provide it
is that why quite a few premium plugins have their source on github publicly
like plotsquared
so you do have to purchase it
assuming you don't pirate it-
🙃
you dont have to purchase it
i meant for premium plugins
it doesn't have to be purchasable
i mean you pay for it lol
if you aren't paying for it then you are the one committing a felony
yes
so if you dont buy the plugin and request the source code, if they give up the source code and you compile it, is that still piracy?
assuming the final binary is paid, you don't have to give the source to someone who didn't buy it
flow is: someone bought the end binary, you tell them they can get source code on request, if they do request it you must provide it
you have to pay for the plugin to be able to request the source of the jar they provide?
yes
basically:
- if you have the jar, you can request the source code
- but most people probably won't comply
"most people" in the toxic minecraft scene that is
anticheat 🙃
so the piracy is from using someone elses paid for copy that has identifiyable data stripped and posted to the internet for example
Piracy = having access to something that you didn't get in a legit way (ex you didn't purchase it)
i guess piracy is the case that you got the jar from someone who intended to share with many others
if your a staff member setting up the plugin but the server owner is the one who bought it and sent it to you to install or whatever, thats not piracy right?
that's not piracy assuming you're not using it for your own server
it's their server
so it's not piracy
I follow it for my anticheat…
yea
but I'm saying that a lot of other ACs are closed source
as an example
and good luck getting the source
I haven't tried but I'm not sure how they'd like it
Yeah Vulcan is illegal.
for ex Matrix (which is the one that I own) is selling the source for like $1k i think
I could request source then sue since they use my copyright but I have better things to do
If anyone has a spare 10k I’ll enforce my PacketEvents license
I can give you $4.50
Fucking waste of time though
27 commits to packetevents 👀





