#help-archived
1 messages · Page 30 of 1
Only god knows
Is it possible to run an API in a bungee plugin? Like I'm just wondering whether it is possible
Okay, I'm not sure what you mean by implicit else statements troxx, like what the application is here.
Also, I'll change to GRASS_BLOCK and ==
Basically, how many times is that going to check the material? is that needed to check that many times?
@lone rapids implicit else means if (this is true) return; //beause this stops anything from below running
so in your case
if (!statment) {
return; //we return if the statement doesn’t match
}
//continue code```
Ye I got that part but I'm not returning anything?
return; //anything below will not run
Also, GRASS_BLOCK is not a material for 1.8 I'm pretty sure
return is to stop a method from executing code beneath itself
You're checking the material type passed in the event every iteration in that for loop
Are blocks anchored at the center? Is 0,0,0 in the middle of a block?
No
no
no
.5, .5, .5
since the method is void we only use return and not return type
Okay, thank you
So I would use return; in order to stop the PlayerInteractEvent?
Any event we use return;
But doesn't it stop if none of the if statements trigger? or when it gets to the end
atletas when using the EventHandler
take this for example
my code will only cancel the event if its not in _bypassCommands
or
this code
not mine
lol
Well wouldn't the example include if (!(statement))?
Ye I guess it doesn't really matter
in my case i want cancel the event if its not in bypasscommands
Instead of:
if (item.getType() == Material.DIAMOND) {
//code if material is diamond
}
Do this
if (item.getType != Material.DIAMOND) {
return; //stops code if not material diamond
}
//code if material is diamond```
if it is, it wont get cancelled as it skips that code
Important is to use NOT operator
So we want to reverse whatever we’re actually checking for
Alright, let me update my code and see if that changes anything
Also consider using && instead of 2 seperate statements
Does the 'not' statement reverse && to ||? Lol I forget
Kind of but whenever you’re developing big statements try to really think what you’re doing
otherwise you could just break them up into two different statements to make it easier to understand
but also
back to that new Wool thing
please do not do that
lol one second
Think it’s best to learn the best way asap
use ItemStack#new
since youre using 1.8
youll have to manually configure datatypes
new ItemStack(Material.WOOL, 1, (short) durability)
iirc
the durability would choose color
oh, 1.8, rip
oof material id’s
ItemStack(Material, Count, (short) Durability, (byte) Data)
you want to use the Data for wool
I'm using 1.8 because I want to make plugins for a server that uses 1.8.9, that's the way to go right?
yes
Alright, I just did the implicit else or whatever you called them. I will do the itemstack now
I see this NMS word but I don't know what it stands for
Just do reflections
Whenever I launch the server locally it says "Illegal reflective access" or something along those lines lol
.8, there was never a .9 server, just a string change
It’s called reflection I think. There is a difference between reflections and reflection ?
@lone rapids that means someone is trying to make sometimg private public
I personally dont prefer reflection
General gist atm is to ignore it, plugins need to update and stuff to fix that, but many are pushing that off for reasons
because if something changes in the reflected class, it doesnt show up as an error in your syntax
and only in console
but idk some people do prefer reflection
Just read the error
i personally dont
Well it’s reliable sometimes like making particles in 1.8
when i had to update something from 1.12 to 1.15 it was a pain to go through all the reflection changes >.<
I do never prefer reflection but sometimes it has a good functionality
true
there are some things that just will never change
but who knows.... we had The Great Packet Rewrite of 1.8 lol
The other option is to create seperate classes for each breaking nms xd
lmao thats what i did in a plugin i made 3 years ago
Cursed
What does nms stand for? 😮
net.minecraft.server
XSeries
Never say never
but who knows.... we had The Great Packet Rewrite of 1.8 lol
@wanton delta
@wanton delta bruh xd
honestly the worst part was buildtools
Enjoy updating plugin on each mc update xd
XSeries
Ew
hoenstly the class inside of the version packages has never changed
i shouldve used reflection
but i wasnt very well knowledgable 3 years ago
and i wanted to challenge myself to try doing it that way lol
So for the itemstack (short) durability is damage/durability depending on the block and byte data was the color?
I did a lot of abstraction and interfacing. I did like 3 layers when only needed 1 or 2 :/
@wanton delta just put the durability or damage to 0
It’s deprecated
Use short only
It’s still deprecated in 1.8 iirc
Are you creating wool?
yea
org.bukkit.material.Wool
I'm looking at the 1.7.10 javadoc I think
1.8 colors
thank you choco
Martoph using the damage is fine
...i dont think it is?
ItemStack wool = new Wool(DyeColor.BLACK).toItemStack(1);
yea he did that originally
i thought he was making it in 1.15 so i told him to do it the other way lol
everything is nicer in 1.15
https://minecraftitemids.com/types/wool I always just use new ItemStack(Material.WOOL, 1, (short) n);
Pvp there is /-:(
Choco, you said I was 5 years out of date. If I update does that mean using the 1.15 jar file?
But I lose compatibility with 1.8 servers?
the fact people want to stick with 1.8 pvp that can be changed with a plugin.... as well as missing out on hundreds of features
im not sure i get it
screw 1.8 servers
@dusty topaz uh damage should be fine. In earlier api you had to seperate iirc
theyre legacy
Can anyone tell me btw what made MC so slow in starting up from 1.13+? 1.12.2 seemed so much faster lmao
they do not deserve support
they know that
besides
dinnerbone is workig on another combat system
*Jeb
It’s gonna be released when?
Exactly
idk if you know
1.8 etc starts up in 2-3sec, 1.13+ 10-12s xd
Choco, you said I was 5 years out of date. If I update does that mean using the 1.15 jar file?
But I lose compatibility with 1.8 servers?
Yes and no. If you use 1.15 API methods in your plugins, yes you're limited to 1.15. If you're still using 1.8 API features, your plugins should still work up to your version
Well spam pvp is the best :p
Bukkit remains as forwards compatible as possible
@bronze marten security?
PVP can be changed in 1.9+ with plugins :S
It works now guys, thanks for the help troxx, Martoph, FrankHeijden, and ehhh I guess Choco.
Nonono
Like what? @radiant pollen
Doesn’t work as good as if both client and server has the same system
jkjk Thanks for the help
I don't know. I just know that 1.8 requires a lot of fixes for common dupes and game-breaking bugs.
Like stellar spigot 
💔
No idea. The game has also grown since then.
I believe during 1.9+ that mojang recoding entire Minecraft and they probably add some good stuff that takes time to load
It only happened since 1.13 tho
Even loading a singleplayer world takes more time these days.
Well it’s loading fancier now
Mmh
That defo takes some effort to do
True
World creation is ok
But for already existing worlds bruh
How did they add 10seconds of loading time xd
Where does it hang :S
iirc their main goal was to fix water, lava, and lights not being updated on generatino
I believe they ip grab you and will steal ur bank account
:O
because before youd have a lot of floating water/lava that needed to be updated
and a lot of light glitches
then they also redid how trees populate
I mean RTX was pretty damn awesome
i dont have good enough graphics card 😭
Ah rip
im assuming ur talking about bedrock one
i think my graphics card could handle it
maybe not at 60fps
but they block anything lower than rtx 2060 i think
Did you guys see CaptainSparklez video he was on like 10 fps the whole time
woe is me
Let’s go with 1 FPS (:
Yeah it’s requiring a lot
Does BukkitScheduler take a BiConsumer?
Dont think so
Dang it
Yaas
but it makes no sense
you can use as many external parameters as you want
if you somehow having a biconsumer just execute it in the runnable
me sitting here not know what any consumer is 😭
functional programming introduced in java 8
L A M B D A S ( <:)
Imagine if it would do the opposite 🧐
Spitter?
i still dont really know why youd use it
it has his uses
like you can find a lot of uses to it
it's like having a method as a field
Using functional interfaces will often make your code more compact linewise atleast and it provides some really nice methods
Java did a really nice job tbh woth functional stuff
I mean methods like forEach is a for loop though so some methods are not that special
Why do you need a Consumer for that though? I don't understand. You can already target a Runnable with a lambda
he is doing what i was doing when i was new to java
Bukkit.getScheduler().runTask(plugin, () -> {});
@naive goblet the foreach is nice with the :: operator
ya true
yeah .map() and flatMap as well
Streams <3
== heaven
Streams are a nightmare if you overuse them, which a lot of developers do
That’s true as well
i am probably one of those developers 😭
Both in terms of readability and performance
i never used streams personally, i feel like it's the same as Optional
I did find out about ifPresent() and orElse sometime ago which is very useful
yeah, they are not worth using
;-;
Optional is cool?
It was a bad addition
getOrElse is nice
But its kinda the same as the sth == null ? default : sth;
It do be cleaner tho
i usually use streams in place for loops that only have 1 line now that i think about it
Hello good sirs, I will reward you with a view of the product you helped me create
even though i know its slower
Nice
I use streams to initialise a variable
Oh no, it seems to open on any block that I right click!!
Once
Static thing
Is this the problem?
Using the stream with varargs can also be kinda neat
@lone rapids change && to ||
And use !=
But I surrounded the statements in ()
instead of !(thing == thing) yea
So the && wouldn't be effected
use thing != thing
Yeah but its cleaner
Ok sir
no you dont understand
Only reason to use !(statment) is if the statement is an instanceof check or if it’s multiply statements you wanna invert
if its NOT right clicking a block AND its not glass return
instead of
if its NOT right clicking a block OR its not glass
sometimes it helps to say it out loud
Oh
I always imagine capitalized letters as someone is screaming them to me
i am screaming wdym
I know that the ! distributes to everything
Not quite
lol
^
You could use the original statement and then revert it. Then the !() would be useful
!(condition) && !(condition1)
Yes
.
I learned it like !(a < b) is the same as (a >= b)
!(c1 && c2) == !c1 || !c2
^^
But I guess I didn't account for the '!' apply to a and b
Because if a was an int like 7 then it wouldn't do anything
! is opposite of? 😮
Which is '-'
! = “not”
java.sql.SQLException: Unknown character set index for field '255' received from server.
What is this ?
this.connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + database, username, password);
here is the line the error is thrown from
public void connect()
throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver");
this.connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + database, username, password);
Bukkit.getLogger().info("SQL Connection opened");
}```
whole method
!(condition && condition1) will run the code (condition && condition1)
Sorry for copy paste i couldnt be bothered to type it out again lol
!(condition) && !(condition1) will run condition then condition1
NOT PASTEBIN
It gives me raw epilepsy. Please in the name of god use anything but pastebin
What's the sound for placing an anvil
All hail Pastebin.
Clang, jkjk
this.connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + database, username, password);
this line right here
@buoyant path try to update the mysql jdbc dependency
Ah i suppose it's different in 1.8 old land
-_- yea i wouldnt know
Could also be bcs of updates I guess, if the table isn’t important to you try deleting it and recreating it
^ seems more reasonable than a patch would cause this
I was gonna create the tables after i established connection to the SQL database
If I want to store a list of players that have something enabled for them, how would I do that? I've read that storing players in a List<Player> is bad practice.
UUID?
Yeah
A Set of UUID
UUID
Set<UUID> data = new HashSet<>();
Oh I didn't realise getUniqueId returns a Java UUID
does PlayerCommandPreprocessEvent.getMessage() contain the '/'?
Still having the error
Iron unsure what this means java.sql.SQLException: Unknown character set index for field '255' received from server.
boys,how do you handle gui inventorys? Went from usual methods to objects that handle it(own listener and stuff)
best way?
CommandHandler.java:
@EventHandler
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
// ...
}
In onEnable in Main.java:
Bukkit.getServer().getPluginManager().registerEvents(new CommandHandler(), this);
But I'm getting an error in the console:
[FlamingHead] FlamingHead v1.0.0 attempted to register an invalid EventHandler method signature "public boolean com.github.aimorris.minecraft_flaming_head.CommandHandler.onCommand(org.bukkit.command.CommandSender,org.bukkit.command.Command,java.lang.String,java.lang.String[])" in class com.github.aimorris.minecraft_flaming_head.CommandHandler
Anyone got any ideas?
You are registering a command as an event?
@vernal spruce InventoryHolder is my personal advice
you hatebin
Anything but pastebin
Make an abstract class for it with some methods that runs onEvents
Then when making new invs. Just extend your abstract class and super the params
Hmm how would that look like troxx with the holder? As atm i have a class GuiHandler with a constructor so i can pass some more things with it
hmm i see
Iron reset your db
theres nothing in my db rn
dont worry gonna look more in depth
on other source codes to see
what is the most popular way
as atm i dont have any problem with having a object handling it but im looking for better if i can
Is it bad practice to just have a bukkit runnable constantly cycling through all online players?
//abstract class
abstract class AbstractMenu implementa InventoryHolder {
private final Inventory inv;
public AbstractMenu(int size, String title) {
inv = Bukkit.createInventory(this, size, title);
}
public abstract void onClick(InventoryClickEvent r);
@Override public final Inventory getInv() {return inv;}
}
//register this listener once
class MenuListener implements Listener {
@EventHandler public void onClick(InventoryClickEvent e) {
if (e.getInventory().getHolder() instanceof AbstractMenu) { ((AbstractMenu) e.getInventory().getHolder()).onClick(e);}
}
}
}
//some menu
class MenuSome extends AbstractMenu {
public MenuSome() {
super(54, “Some Title”);
}
@Override public void onClick(InventoryClickEvent e) {
//do stuff
}
}```
Ik horrible probably some compilation error as wel
@vernal spruce this is what you kinda want to do
Aimorris why?
Why do it constantly
@frigid ember
Nevermind, I just realised a much better way to do what I'm trying to do
(:
hmm so im inheriting from the menu?
You could create a MenuItem class with an InventoryClickEvent consumer, then have an ItemStack and a Slot for the position in the inventory
Yeah inheritance
i have a problem with commandsigns. each time i try to do a command,it says This command block already has a position. can u guyz help me?
Iron it’s some illegal character I have not a strong clue about it
hmm isnt there some unique identifier on the sign?
Idk
to diference them between each other
Send some code
?
looks more like a plugin help rather than code problem
yeah..
got spigot link of the plugin?
I just shut down my computer can i dm u later?
post here dont dm..
^
Ok
Wtf
I'm new to aternos btw
illegal character?
Can have to do with os
Im using db4free for testing and ik all the stuff is right
Can i dm someone good with that plugin?
I may post l8r
Yeah good night 😴🥱
Good night
Forgot I was sleepy but thx
It's 7pm here in canada
is it this one? https://www.spigotmc.org/resources/command-signs.10512/
aternos?
Aternos 
Ye
is that some free scammy host?
Idk
No form what I know you’re only able to install certain plugins with it
And stuff like that
damn its empty for me @subtle blade
I agree
I’d recommend server pro instead
It’s somewhat better
so its basically a hoster with moderated plugins? 😂
@solid ermine dont buy host till you finish it
aternos has been around for yearrrsssss
Host?
i often do my server on local then buy a host for it
Outdated and poopy
I think I used to use them back in like 2011 with my mate
Sry for bad english
Server.pro is nice
i don't get it.whats the deal with it? is free?
Ok thx
But if you want to go all in. VPS is what you should be looking on
mfw my bot's competitor goes offline and I gain 400 servers in a day
Gg wp
wrong channel nice
you can also get super cheap servers from pebblehost but they arent a good quality
Ovh is better I’d say
Wait it's not free?
Ok
Or if they changed it
wdym hetzner security isn't that good
They have a free version
didnt rly care as it was for modpacks
are you talking abt ddos protection
i needed alot of ram
My friend tried ddos and it didn’t do a shit
Ovh has much better security and protection
Hey guys, I probably asked this before but I forgot. Do I have to check if the hashmap value exists before removing it?
@EventHandler
public void onLeave(PlayerQuitEvent e) {
Player p = e.getPlayer();
if (npcStorage.get(p.getUniqueId()) != null) {
npcStorage.remove(p.getUniqueId());
}
}
wouldn't use security to talk about ddos
Is it only on bedrock edition?
I'm trying to create a plugin that, when a player runs a command it will spawn particles around them until they run the command again, which will make the particles turn off.
My current idea is to add the player's UUID to a Set<UUID> when they run the command and have a bukkit runnable that is constantly running through all players in the set to create the particles, and then when they run the command again just remove them from the Set<UUID>. Is there a better way to do what I'm trying to do? By better, I mean more efficient and cleaner code.
Right security might the wrong word but ddos attacks then
@frigid ember yeah checking it would be better
Alright, thanks
Guys is server pro only for bedrock edition? Cuz i am on java
oh boy are you trying to reinvent the cosmetic wheel?
@frigid ember It’s probably the best idea in the concept
@solid ermine no,it has bedrock but it's mainly java
Ok
carefull what you select also yes,it's not free
Hey hey hey
I have a problem with my server that runs spigot
when ever a play that’s not op drops a stack of items only 1 appears on the ground
Any solutions?
seems like a plugin doing that
operator
but the only plugin I have on is a grappling hook one
yes
It only gives 1 item when you pick it up
try removing the plugin and testing again
Ok
Thx btw you guyz help me so much
Is it possible to run a server on the 1.16 snapshots? I couldn't find a guide
Nope
rip, so is the community server a closed beta or something?
yes its for testing
k
Stellrow nice resources
why do my server restarts itself?
Sry couldnt keep myself from not looking (:
Rayvel no idea
or reupload
Uh I need to find new people to work with :/
also i have quite alot of new ones that i need to post
Yeah
So this is my current plan:
Set<UUID> enabledPlayers = new HashSet<>();
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
UUID u = ((Player) sender).getUniqueId();
if (enabledPlayers.contains(u)) {
enabledPlayers.remove(u);
// How to stop the BukkitRunnable for the player with UUID of u?
} else {
enabledPlayers.add(u);
// Start the BukkitRunnable for the player with UUID of u.
}
return true;
}
return false;
}
But I have no idea how I would reference a specific bukkit runnable to stop...
Doesnt work :/
Stellrow you talking to me about the list?
@frigid ember You don't stop the runnable for the player,you loop the list
so you only care about who is in the list
rather than for each player
He needs the timer
hmmm you wanna do timer for each player?
Wait so I would loop through the set, and then what? Add one particle for each player every loop?
yeah would still loop the set
But we need the timer for spawning particles
If you want to do it consistently
well i thought you had a method for it
like doParticle(Player p) so you can call that inside the set loop
Guys there is a limit of plugins in server pro
@solid ermine your ram is the limit..
?
cant install that many if you dont have enough ram
so make a timer where you eventually loop through the Set and spawn particles and the make a command where you can remove Player from set and readd
it’s plugin limited I think
I don't get anything
@naive goblet how come so?
i thought hosting companys dont care how many plugnis you install
@solid ermine just read their website instead of asking us
@vernal spruce yah but it's free so
I read it
ahh i see
I want to create something like this https://gyazo.com/02bee939852049a3fbbcddeb68e0dc83 so I think I would need a bukkitrunnable for every player right?
thought its paid
didn't read it in enough detail then @solid ermine
you would rather need a method doing that for you @frigid ember
particles arent my best as i kinda have vectors
hate*
@frigid ember
BukkitScheduler#runTaskTimer(plugin, ()-> {
Set<T>#stream().forEach(t -> {
//spawn particles
}
}, 0L, 20L);
me hate math 😂
I mean for the free version @silk gate
@solid ermine what is the purpose for the server? to play with friends?
I posted a screenshot
@naive goblet but then how would I stop those bukkitrunnables when the player executes the command again?
Ye
Remove the player from the set
in that case ur better off hosting one yourself or whoever has a more beefyer computer
We just spawn particles for everyone in the set
and keep it on while u play on it
so the server restart itself
https://pastebin.com/FCJ7XzG8
this is the crash report
@silk gate can i dm u?
please help
pls dont
i dont wanna end up being your personal assistant for the next 6 years
@naive goblet plugin is my main class instance, yeah?
Yes
Why am I converting the set to a stream before doing foreach?
I'm not getting sent the "Hello" message when I use the command /flaminghead? My src is here https://github.com/aimorris/minecraft-flaming-head/tree/master/src/com/github/aimorris/minecraft_flaming_head
you have two instances of commandhandler
one when you set the command in the main class and once more in ParticleCreator
there are a few ways you could do it
easiest would probably be to put the set in the main class and then make a constructor in the commandhandler that passes the plugin so you can access the set to add and remove players
Why not just make a constructor in the commandhandler that passes the set?
what would you do to pass the information out of commandhandler then?
I'm not passing any information out of the command handler?
you need the enabledPlayers for your ParticleCreator
Does this not change the Set in the main class?
it won't, it's a separate variable
oh
Well then how do I change the Set in the main class using this?
I've passed the main class's enabledPlayers to the CommandHandler's enabledPlayers, now how do I add the new data?
you'd need to put the set in the main class
and then just access the set from there
The set is in the main class
yea access that set instead of creating a second one
instead of the set have that variable be the FlamingHead plugin
and then you can access plugin.enabledPlayers and add/check for players there
given an EntityDamageByEntityEvent is it possible to determine the bow that shot the arrow the entity is hit by?
Not in the EntityDamageByEntityEvent alone, no
what event am i looking for?
i know theres an event for when the player draws a bow
i dont know what to look for in the javadocs
You would have to listen to EntityShootBowEvent (on the MONITOR priority, preferably) and map the projectile's UUID to the ItemStack used to shoot it
Then you could fetch the bow from that map in the EntityDamageByEntityEvent using the damager (the projectile)
Modifying that mapped ItemStack won't mirror any changes to the actual item in the inventory, that's much more trivial of a task
It would be nicer if there were an event for having that
Yes, the bow, not the entity
ah
That's why I said map it lol
i guess i will
I usually attach the data I want in the arrows metadata
thats a good idea
Choco
and once the arrow makes contact i can just check for the metadata i'm looking for
I have a person on spigot who gave me a plugin that had a backdoor
Where do I report them?
Preferably you report the resource
They gave it to me on discord
distributing malicious content violates discord's tns, you can report them at https://dis.gd/contact
^
Discord is an over-glorified web app. Inspect element is not difficult so proof is difficult to grab unless you're actually at Discord where you can link messages
Though as far as we're concerned, we cannot do anything
I literally have the plugin
I understand that
With a picture of him sending it
report him to discord and have his account taken down
Discord is an over-glorified web app. Inspect element is not difficult so proof is difficult to grab
they can view the attachment and see its malware
I'm not saying you have any reason to manipulate what is being sent but we also can't just assume someone's right
He deleted his messages after I screenshotted them
is there a way to link vanilla server to bungeecord? (if it is vanillacord then can someone lmk how to set it up)
also what choco's trying to say that if i dmed a mod this: https://holding-hands.might-be-super.fun/65YsXap.png then who's to say im lying?
too late for spigot
They do if you have the message link
^ no
@jovial trout press ctrl shift i
they dont, sadly
message deleted is deleted
@silk gate that's my point
they wont act on it 99% of the time
discord keeps deleted messages for 7 days and they still won't go retrieve deleted ones
i reported something a while ago and got this in response
bc it was deleted
no they delete from DB straight away unless you report the message from in the app
They will delete from private messages right away iirc
We don't do witch hunts either
also not true
Atleast have a reputation system
a
wow this turned to shit jc
I will ask spencer
feel free
I'm sure it would be as effective as the review system on the forums lol
he dont work dere no mo
"omg this is a fake -rep, can you please remove it?"
thats why everyone uses plugin sites other than spigot nowadays
lol
no accountability
Dude, we literally can't do anything
It's on Discord
That's like reporting a scam on Skype to Discord
The fuck are they going to do?
I would literally share my screen with you to show our messages on the app
"it's on discord"
Sharing doesn't resolve the issue of HTML doctoring
"can't do anything"
you can do some crazy stuff and edit it
would literally turn on my camera, show you my face, go on my phone and go through the app there on my iOS device!!
still on discord, can't do anything
bureaucratic bullshit goin on in here
you could edit it if you were really determined
We cannot ban willy-nilly based on what somebody says without irrefutable evidence. It's much more dangerous
no one does anything about off platform stuff this isn't limited to spigot
there's a level at some point where you couldn't.
i'm offering you irrefutable evidence @subtle blade
you could create a fake discord app if you wanted
fake app store
ok
I think you're far too persistent. You shouldn't run software made by someone relatively unknown
@silk gate re: earlier
https://holding-hands.might-be-super.fun/5zhCEbB.png
I didn't run the software
That's computers 101
yah most cases it gets instantly deleted
can someone tell me how i can link a snapshot server to bungee?
in popular servers where msgs are always in cache then yeah it'll probably be cached
i did vanillacord
I don't think Bungee supports snapshots?
not afaik, ghosty
hm kk
arockstar it's not that we have no accountability. If you saw the amount of people we ban in a day, you'd think otherwise
vanillacord is off platform, they cannot help you.
Though we make those bans based on proper evidence that we can support, generally in the form of a forum message or something to do with our platform
Off platform we have no control
We'd be none the wiser
If he does anything on Spigot or in this Discord, we will
If you ever become a moderator or member of staff on any large & reputable platform, your perspective will change and you'll understand why we won't take action
You don't have to prove your "credibility" to me, I've already been a moderator on other websites and I took action against things like this. In extreme cases, you're saying you wouldn't even ban a child pedophile who was blackmailing someone apart of the SpigotMC for their nudes?
It'd be off platform, right?
discord would be better suited to deal with that
that escalated
discord log absolutely everything you do, they have the evidence to go to the police etc
spigot don't really have a place in it
is there any property you can put on a player that can be temporarily read (in memory is fine) by other plugins? something like a tag?
@wicked sage metadata
It's an extreme case, but the person still breaks the rules and you throw your hands up in the air because "it's off platform"
you can attach metadata
@frigid ember if it doesn't happen in this guild then spigot have no place
mr arockstar i sincerely doubt you arguing with the moderators will change their mind in the slightest
isn't metadata linked to a single plugin tho? @silk gate
@jovial trout that's an authoritative fallacy, don't appeal to him just because he's a mod
if somebody is blackmailing somebody on discord and you try to get their facebook taken down i would love to hear the results
livingEntity1.setMetadata("data", new FixedMetadataValue(MainClass.getInstance(), true));
@wicked sage if you get the instance of the other plugin you can read it
@frigid ember i didnt say he was right im saying its futile. thanks
is there any property you can put on a player that can be temporarily read (in memory is fine) by other plugins? something like a tag?
This was actually the original purpose of metadata 😄
@jovial trout Not a good enough analogy. He's literally linked to this discord. It would be more like he messaged me on whatsapp and I told facebook what was going on.
You're acting like there's no correlation
if it didn't happen in here they don't care
also you're welcome
In extreme cases, you're saying you wouldn't even ban a child pedophile who was blackmailing someone apart of the SpigotMC for their nudes?
This would be at the discretion of the platform on which the distribution occurred. If it was on Discord (outside of this one), that's on Discord and the community where it took place to take action
go report him to discord and they'll insta disable his account
im acting like nothing you say is gonna change anybodys mind and i shouldnt have gotten myself dragged into this in the first place
then stay out of it next time lmao
i will
friend of mine uploaded a blank file called keylogger.exe and he got disabled, phone number blacklisted too
Keep acting the way you are and you're raring for a kick. Because this discussion is taking place on SpigotMC's Discord where we do have jurisdiction
k
I see everyone is having fun today

correct me if im wrong but i dont see a constructor for metadatavalue?
FixedMetadataValue
Depending on what you need, there's also LazyMetadataValue IIRC
MetadataValue is an interface
i dont need it to be lazy
and you are correct on the lazy one too @subtle blade
Right, has an abstract implementation
kind of on point today 😄
i just need to attach a key value pair to a projectile
Yea, FixedMetadataValue is fine
@subtle blade is there some kinda guide on making a patch? How does on make a PR to spigot exactly or edit it?
I really should write up a thread on the metadata API and its original purpose
Eh, I've only ever found one good guide on how to contribute. 1 sec
is the right channel to receive support with troubleshooting ?
can we call setMetaData directly or do we need to first get the meta data, check if its empty, and set it back like w/ itemmeta?
ignore me
okay, I honestly wanna look around first, and learn more about it.
Been in this server a few days and have learned a ton about random things that I didnt know existed
(if you're PRing to Bukkit/CraftBukkit, use their directories instead in the root)
looks like i cant get the array of all the meta data
PR to Spigot only for Spigot-exclusive APIs and server performance improvements
I highly recommend you create constants for your keys under the form group:artifact-Key
i.e. I used one today as the following, wtf.choco:MyPlugin-ThisWasMyKey
quite the long key name but i suppose
makes sense
polluted namespaces? what is this, C++?
if you PR craftbukkit md will make the appropriate patch/fix as well
a key is something you attach a value to, so that you can later get that value by looking up the key
is this related to patch files? Ive never done that
No no no, this is in response to broman lol
like if my key is "broman" and the value is, say, a phone number
you can later look up my name and get the value, aka my phone number
That thread I linked above is the best information you'll find on how to use BuildTools imo
choco do u know how dependencies make it to the nexus repo
As in non-Spigot dependencies? Plugins?
correct
You'd have to ask md on that one
interesting
cuz i see independent devs that ahve their plugin apis on the spigot nexus
afaik he will let pretty much anybody that asks
i was always curious how they do that
yeah I have a pipeline for that
if u use jenkins theres a plugin
and teamcity has one too
You can just deploy with Maven afaik
youre gonna need a vcs server, ci to build and then push if u wanna automate it
@subtle blade is it bad practice to use a static hashmap?
could someone tell me how they know if their spigot server is running versus a standard vanilla server?
In most cases, yes, though it depends on your use case ;P
Bukkit adds a few commands (/plugins & /version namely)
ok
so I could just type /version into the server console to verify that I am running a spigot server ?
is there a situation that you would not know you are running a spigot server?
that is my main question
don't include the slash in console
😦
other then that, generally the name of the jar is an indicator too
does anyone know how to shut the entire system off when nobody is on the minecraft server?
yeah pterodactyl uses server.jar
is there a plugin?
(*cough* ATERNOS)
that is why I said generally, probably wouldn't be reliable on a host that provides them for you
even on hosts that let you upload your own
what is this aternos thing ppl keep mentioning
Free server host
no one changes it from server.jar on pterodactyl
oh
there are some that don't @silk gate
its mentioned quite a lot
does anyone know how to shut the entire system off when nobody is on the minecraft server?
@gloomy girder
does anyone know how to shut the entire system off when nobody is on the minecraft server?
Sounds like something a plugin shouldn't be able to do
Though if you want to just shut down the server, why?
You can't turn it back on unless you do so manually which interrupts traffic
i want to shut down the system to save costs
wait why is aternos free
i have something that auto turns it on already
@subtle blade unless you make a system that does it for you 😉
startup script
I'm unfamiliar with any plugin that does this, at least publicly available
yes but when/how
through discord
@gloomy girder they're gonna need to wait quite a while for it to load
you could have a plugin on the hub that runs a command to console
their client will time out in that time
ah right
use DiscordSRV to have a bot, and in that plugin that uses DiscordSRV on the hub, just have it run a command to console to start or stop the server.
you could use this
and check every like 10 minutes
and shut it off the same way you turn it on
Found this on GitHub https://github.com/coco0325/Save-Stop
I'd decompile the plugin just in case to double check no malware but the source seems safe enough
mine is from dinnerbone but requires programming knowledge
I use dynamic services for starting new servers, which I can use to check the status of the server as well 😉
and some way to send commands to console remotely which i do not know how to do lol
there is a server host that does turn off servers after all players leave
i forget what it is
but that tells me its possible at least
It's actually still actively maintained which I'm surprised about
Realms does it @wanton delta if no one is on the server if I recall it shutsdown
https://www.spigotmc.org/resources/idle-shutdown.57848/ does this seem ok?
i just found it
Looks fine to me
alright thanks everyone
gonna edit it to shut down the whole pc
That's what all these plugins do, Martoph, yes
yes but im just saying i did not know that existed lol
so i installed build tools and what not with the git bash stuff
but i could not for the life of me find the spigot.jar file that was referred to over and over
does anyone know where that is
did you get any errors
it should be in the directory you ran buildtools
spigot-1.15.2.jar
@gloomy girder do you have like wake on lan setup to boot it
yeah so i ran buildtools from my desktop
Oh that's a big no no lol
@gloomy girder
Create a folder! ;P It creates a bunch of things
a
lmaoooo
nice mention discord




