#help-archived
1 messages · Page 168 of 1
as long as you have the boat, you have a location, which can give you the chunk and then gives you the method getNearbyEntities 😛
you can even use VehicleEnterEvent to know when to cancel your timer too
so you can use VehicleCreateEvent to start a timer for to remove it if they don't enter it, if they do enter it, in the enterevent cancel the first timer. And then on the exit event create a new timer 😉
the only thing you are going to have to handle though, is saving these vehicles locations for when the server restarts or stops so when it does start again you can still remove them later on when they are loaded up.
public void checkBuckets() {
new BukkitRunnable() {
@Override
public void run() {
final List<Location> toRemove = new ArrayList<>();
for (Location b : blockLocation.keySet()){
long placeTime = blockLocation.get(b);
if ((placeTime + 750L) <= System.currentTimeMillis()){
b.getBlock().setType(Material.AIR);
//blockLocation.remove(b);
toRemove.add(b);
}
}
toRemove.forEach(blockLocation::remove);
}
}.runTaskTimer(this.plugin, 0L, 150L);//20=1s
}``` I will use something like this
To check wether there are placed boats
check every x sec
boats are not blocks btw
thanks ima try to fix it 🙂
knowing me I would have a little fun with this type of plugin XD
IE, make the boat speed off into the distance and then remove it 😛
keeps it interesting for your players XD
at least they will know what happened to the boat instead of just magically disappearing lol but up to you, just stating what I would do 😛
Frostalf, after long hours of pain and reading obfuscated code, I found the class WorldChunkManagerOverworld. It contains a List<BiomeBase> !!!!!!!!!! I think I finally found THE gap!
Nice
🤞
only problem now is separating the biomes that are sub-biomes @undone narwhal
sub-biomes are biomes that exist inside another biome
I'll just overwrite it a little
sub-biomes are biomes that exist inside another biome
@keen compass Then the pain will never stop lmao
Let's first try to play with this g list then will go into these sub biomes
Hiya
I was wondering if someone could hop in a call with me and help me fix votifier
or just state your problem here like everyone else 😄
Nonsense!
I was wondering if someone could hop in a call with me and help me fix votifier
@latent oasis
People don’t really call on spigot, it’s not the culture
Sure it's a little hard to explain but here goes: I have a proxy server hosted with Apex hosting but all my servers connected to the proxy server are connected from self-hosted servers via BungeeCord, I can't at all figure out how to config nuvotifer and votingplugin with all 5 servers (Proxy, creative, survival, lobby, skyblock) I currently have nuvotifer and votingplugin installed on every server including the proxy
Hi, don't you wanna improve your api? Because players can loose XP when trying to merge SlimeFun items with normal items. Talked about dev with it
does anybody know a good domain host for minecraft?
namesilo is the cheapest Redblock
Sure it's a little hard to explain but here goes: I have a proxy server hosted with Apex hosting but all my servers connected to the proxy server are connected from self-hosted servers via BungeeCord, I can't at all figure out how to config nuvotifer and votingplugin with all 5 servers (Proxy, creative, survival, lobby, skyblock) I currently have nuvotifer and votingplugin installed on every server including the proxy
@latent oasis
Use your self hosted server’s ip
wdym?
but does that mean its the best
@latent oasis think you also need to have ip passthrough or whatever it is called enabled as well
Paper recently updated their anvil handling, less buggy but still somewhat since anvil does not like to be messed with.
@tiny horizon namecheap
?
So why would I use my self hosted servers ip
Yes it is?
namecheap is garbage
JanTuck and do you think that Biscuit could already implement it as extra feature to paper with these changes you mentioned? And why it isn't added to Spigot too?
@tiny horizon what is garbage about it? o.O
@pastel condor would it be easier to DM so I could send you pictures of config and stuff
I use namecheap myself to host my domains but I don't use them for DNS hosting though
generally I avoid domain hosters DNS services since they are not always the best
@latent oasis well if you have votifer on your backbend servers, then use that ip
Not your proxy
That doesn't necessarily work if the mc servers are listening on a loopback address @pastel condor
You can install nuvotifier on the proxy then have it ping it to the rest of the servers
But you need the port open on the proxy
I want votifier to give different rewards on all the servers, but say someone votes on survival I want them to get rewards when they connect to creative and stuff too
@keen compass I’m assuming that they aren’t bound to an address
Then you want the proxy to control it Pixel
best way I can see this working is to use subdomain's to point to the different servers
this way when the proxy gets the stuff it forwards it to the backend
they make u use srv record
I want votifier to give different rewards on all the servers, but say someone votes on survival I want them to get rewards when they connect to creative and stuff too
@latent oasis theres this multi server votifer plugin, but I don’t think it’s updated
because that is the only way to forward mc connections
how would i prevent stacking of stackable items?
Check in item pickup event or item move event I think @frigid ember
A records point to IP Addresses, SRV records usually help point to services as well if said service is running on a non-standard port
MC uses SRV records
give the items custom meta to prevent stacking
Just explain your setup of votifer @latent oasis
👌
@pastel condor thought they did already? o.O they have votifier on the proxy and backend servers
I have nuvotifier and votingplugin on every proxy server and every backend server
the ideal way I can see this working since they want to give rewards depending on server they are on, is to make use of the subdomain feature that the proxy is able to use.
Works not that well in fact
lol
They need something like vote send
I know it's not culture to share screens and talk
Though it’s outdated
but it'd be so much easier because I have like a million text things open and stuff
that is when you know you need to get another screen 😄
My company requires us to share screens when we’re pairing
I have two lmao
So that’s not invalid culture
then you need 3 if you have 2 already 😛
one of these days I will get my 9 screen monitors setup again XD
@frigid ember
you should make use of the entrySet method that Map provides. It returns a Set containing each entry in the Map.
So instead of doing something like this:
for (Location key : map.keySet()) {
int value = map.get(key);
}
you would do this:
for (Entry<Location, Integer> entry : map.entrySet()) {
Location key = entry.getKey();
int value = entry.getValue();
}
(assuming the Map is a Map<Location, Integer>)
@keen compass can we go in a call?
Wait what?
Your issue is that you need a plugin possibly to forward the requests to the appropriate servers
I don't know your exact setup with the proxy and mc servers
I'd like to show you
you're looping through each key in the map only to get their value.
you can simplify it by removing the need to fetch the value from the key, using the method I pasted above.
I can't do screen sharing at the moment. I am doing other things as I help people here 😛
Okay what could I do to explain my exact proxy and mc servers setup
Yes someone told that to me already but thankss 😄
oh didn't see that mb
If your MC servers are not listening on the loopback address. You can just point the votifier addresses to the specific mc servers instead
I dont know what loopback address is
if however your MC servers are listening on the loopback address you will need a plugin to forward requests
loopback is localhost or 127.0.0.1
wdym
Can I send you the IP of one of them and you send me an example votifier config?
and how do I link it all with VotingPlugin
example:
ip of 1st server 10.0.0.5:25560
ip of second server 10.0.0.5:25561
ip of third server 10.10.0.5:25562
Now I assume you have domains. So what you can do is setup subdomains each with a srv record.
use those subdomains on the websites where you get the voting stuff.
or just use the ports at the end of the domain when putting it in. Up to you.
Where do I put it in the votiifer config
and do I change the config in the proxy or all the backend servers
or both
back end servers, you don't really need to have it on the proxy server
to use the proxy server instead you would need an additional plugin to send it to the appropriate servers
Then how will they communicate when someone votes on survival
like I want them to get prizes when they log into creative
Well the way I specified would require you to setup multiple servers with the voting site
Use like vote send or something
for the appropriate server. If that isn't what you want, but instead want to register 1 server for the voting site, then you are going to need to have to find a plugin that handles this or a custom one
One seems to be recommended already for you to use 😛
Alright voting sites require you to register an address per server usually
that is where you get your notifications from
when someone votes right?
idk?
we are so stupid hahaha
alright votifier is used in conjuction with voting sites
Ok.
Yes.
Then it sends a voting packet
then the voting site sends a notification to your network that a player voted
To votifer on your server
Ok.
So there is 2 ways you can go about this
You can either register multiple servers on the voting site, using the appropriate addresses and ports
and the voting site will send the notifications to the appropriate servers that the player voted for. Or if you don't want to register multiple servers and instead want it to be just 1 single server for your network they vote for
you will then need to use a plugin like vote send
to distinguish for which server the player gets rewards on
Alright, now how would I configure votifier if I want to use the second option
you would configure it the same way, except you need to use an additional plugin and it depends on what that additional plugin requires
And it would be on the proxy server instead
I apologize if this has already been brought up, but has anyone else experienced an issue where your server won't display the second line of the MOTD?
Not on my server so far
update your server ffs
You using a plugin or server.properties @sullen glacier
server properties
the first thing you do before saying a word in this channel is to update your server
Me?
Is there any chance I could pay you to set it up because your losing me each time @keen compass
I can't guarantee to find a plugin that would work other then what @pastel condor said
maybe they might be interested in doing it 😛
I am currently busy with other things at the moment
@pastel condor would you be interested in being paid to do this
You could always have voting plugin run a command that then does stuff in other servers
It's just too complicated for me
@pastel condor would you be interested in being paid to do this
@latent oasis
I mean I can give you advice, but I almost always work for free
looks like you get to make some money @pastel condor 😉
Lol I don’t have a PayPal xD
ah that explains the free part
But @pastel condor It'd be easier if I just got you in a call and shared screens and showed you what I need help with it's killing me typing stuff I don't understand
ah that explains the free part
@keen compass HAHAHA
Actually, sorry @pastel condor , I'm using the plugin CMI to set the MOTD, but it's
saved in the server-properties.
anyways I will leave it to you though as you are more familiar in what is available for votifier
I just know how it works in principle
I mean I don’t think I can really call, but I could maybe test out the vote send as I have a very similar setup to you
@sullen glacier go type /version and tell me what it says
Did someone say money
@pastel condor can we go in a call and you can mute if you need to? It'd just be so much easier for me to talk and share screens
@fleet crane Spigot 1.16.1-R0.1-SNAPSHOT, it's what my host is providing, do I need to grab a different version and upload it as a custom jar?
version tells the exact build
thats not what /version says
You see, the thing is I’m not supposed to be on my computer right now 😔
lmao
feels bad
lol but @pastel condor if your muted no one will know?
This is what /version displays:
You can type while I talk
lol but @pastel condor if your muted no one will know?
@latent oasis I mean like my sound is off xD
lmao
ok can we go in a call, we'll both mute and I'll at least share screens?
type /bukkit:version please
desperation xdd
I’ll get on my desktop, I’m on a tiny phone rn
Again, this is what my host is providing me;
call me when your ready @pastel condor
K one sec
right, 38 versions behind
one of those 38 versions already fixed multiple lines in motds
looks like you need to tell your host to update their server version 😛
you need to complain to your host about giving you week(s) old stuff
clearly, that's ridiculous
I'll just download an updated one and use it as custom
Sorry for the stupidity
I dont think asking your host to properly provide a basic service is ridiculous tbh
No I was saying the fact that it's so outdated is ridiculous
I think they meant towards their host
oops sorry
Thanks for the help, again sorry for the stupidity. :/
And now a new rule gets implemented as well 😄
is that plugin using commandpreprocessevent or something to override /version
cause the bukkit version command takes priority already over normal commands
If I apply a permission to a user that they already have with PermissionAttachment, do they get a duplicate of that permission or does it just like... replace it..?
Frost I tried 3 other ideas but still nop. I found a guy who succeed and this is not beautiful: you have to inject your custom WorldChunkManager...
I feel like any of the Bukkit commands should not be overridable. They should be restricted commands imo
/plugins, /version and /reload namely
I disagree
or is PermissionAttachment always attached to player when attached o.O
they already are
Ban them in resources maybe but the api shouldn’t explicitly prevent it
that plugin is doing something (reflection or event) to override them
oh lovely
If a custom plugin wants to do it then I would say let em
@nimble stump there really isn't a reason to override certain commands
Sure there is
There may not be a wide public use case but there’s plenty of valid private use cases
In such private situations, patches work wonders
CMI isn't a custom plugin
@keen compass like I said, banning it in public resources is one thing
But the api shouldn’t explicitly block it
its literally standard behaviour of the APi
first come first served
bukkit commands are first come
and therefore first served
I would guess it’s using a custom command executor or a preprocess event
First come first serve is fine
Private situations are excluded from what the API and rules are for anyways 😛
but in that case you are free to customize the server code though
There's a reason we don't expose the command map and that's most definitely one of them
lol
and then we tell people to do /version and get garbage back
😂
Forcibly exposing the command map is pretty nice though
For registering commands dynamically via code rather than the plugin.yml
Would rather just expose a register command method
One that calls on the command map
would rather just do things declaratively when declaratively is an option
That I would be in support of
If there was a programmatic way to register commands most of the reflection access of the command map would go away
People are just lazy most of the time
I’ve always found putting too much in the plugin.yml a bit distasteful
and don't really want to create a sub-command map
sub-commands don't require to be placed in the plugin.yml 😉
Sub commands only work if your commands are somewhat related
they work regardless
But like /give and /ban have nothing to do with one another
I don’t mean they don’t function
I mean they don’t make a ton of sense for the end user
And they add an unnecessary step in the user’s execution
I mean /server give or /server ban would work fine
Is there an easier way to get this lined up?
I feel like I'm going crazy with all these spaces
Yep
Though Minecraft font (or fonts provided by a resource pack for that matter) are not uniform
@nimble stump while you could view it unnecessary, it isn't the same as saying it is difficult for the end user either.
It’s difficult enough that it would get annoying
Well that is a matter of opinion
Depending on the frequency with which the commands need to be used
And it also gets more annoying when those sub commands have sub commands
command aliasing is a thing you know
Now you’re 3 layers deep for no reason
I recently heard you shouldnt use static when using hashmaps. What can static be replaced with?
That is very situational lol
Static can be used
What are you using it for though
There’s cases where static is misused
Storing Location, Long
Statics are generally mis-used because most people who use them don't understand the problems or repercussions of using it.
thank you
But that doesn't mean you can't use them
We need more context than just what data types are in it @frigid ember
What is it being used for
What class is it attached to
What classes are referencing it
I'd honestly just advise reading about what static does and that'll determine whether or not you need to use it
if you are using the hashmap as part of a task that will never go away, you will be fine
but yeah recommend what Choco said
Ok thanks
Heard it could return memory leaks and more
So yea I thought lets ask xD
static prevents objects from being GC'ed
Simple way to trigger some event on database changes?
It causes memory leaks if you don’t remove things from it properly
Just make sure you remove stuff from it when it reverts
@latent coyote thats very dependent on your database
Or creating new objects of it too 😛
I'm doing that so I'll be good
Just make sure you remove stuff from it when it reverts
let's say it's mysql only
@latent coyote you can make use of functions in MySQL
I'd honestly just advise reading about what static does and that'll determine whether or not you need to use it
@subtle blade lol I remember reading your thread on the forums regarding "Beginners mistakes", one of the very first points is "Static abuse" xD
Yeah, I should revisit it
@keen compass MySQL functions wouldn’t really allow for bukkit to have an event listener
There’s not a great way to do that
yes it would
What are you actually trying to accomplish @latent coyote
just like you can send data into MySQL, it can send data out
there is no limitation on what that data is
You’re very much not supposed to stick outgoing IO in MySQL functions
It can slow down your database considerably
And this seems like an XY problem anyway
What are you actually attempting to do
It won't slow down your database when MySQL can literally handle millions of connections at once
MySQL can literally handle millions of connections at once
it's designed for that lmao
and cache...
and lookups...
and a hell lot other things xd
the only thing at most that will happen with sending data out
is 1 slow connection
out of the millions
HikariCP
MySQL has events fyi
If they want to create a function that sends a notification back to the mc server so be it, and that is valid
in fact the MySQL server doesn't even need to send anything back
could just log it into a DB
What about Hikari @sturdy oar
in which a plugin could then check 😉
What about Hikari @sturdy oar
@nimble stump it's cool
Yes
can someone suggest an alternative to luckyperms that works for 1.16?
@latent coyote
linked reference in using MySQL events and you can make use of functions. Just all depends on how you do this that dictates the optimal thing to do.
I really think that’s overkill for what they’re likely to be doing
you can log events using the event scheduler in the DB and then your plugin could just query the DB for that
I only learn insert and select
Lol
Just wait till you actually learn Functions though
and then you will realize why have you been creating such difficult queries 😛
Functions are simple enough
yeah i also think it's overkill
Difficult queries has more to do with the form your tables are in
@latent coyote can you tell me what your actual use case is
i just need to plan some things
How so
I'm making some kind of new currency plugin that will acces the database a lot*
Ok
if you routinely doing the same query, you can turn that into a function instead of having to pass in a long query in the code everytime
And why does that need to be notified when the database gets updated
are you wanting to detect changes if say someone manually changes the DB?
The answer to that is people shouldn’t be manually changing the database
You don’t need to set up a listener for that
I wanted to create some kind of system where you could get modified if huge amounts of currency were changed suddenly
Everyone be using MySql , but what about Aerospike
How would a huge amount of currency get changed suddenly
never heard of aerospike, kind of new dev.
People shouldn’t be doing raw database manipulation on an active server
It's for big data I guess
Nothing in Minecraft is big data lmfao
@nimble stump under normal circumstances you are right, but there is times where it is necessary.
Unless your server is hypixel
This isn’t one of those times @keen compass
yes I agree
@sturdy oar hypixel isn’t big data either
Players some times find, let's say, "creative" ways to cheat.
I feel like their tables are really big though
Hypixel, Mineplex, cubecraft, etc are on the order of hundreds of millions of rows
That’s not really big data
i was using playerpoints long time before
They do handle large amounts of data, so much so they had to use a different layout for the server data
@latent coyote if you’re doing that kind of administrative action you should take the server offline
server's arleady offline
Then you don’t need to listen for it
You’ll get the new values when your plugin turns back online
you don't need to listen for DB changes, rather you can use what is already available in Java
Your plugin will know the data before MySQL will
so should be handling this in the plugin not on the DB level
I mean if they’re doing a mass rollback of currency you could do that via DB
You’d just want to turn the server off first
That is not quite the same though
Also, i was told that accessing a database directly is not great? (however i didn't quite understand what that meant)
I was using jdbc
That’s what they’re saying as far as I can tell
Mass rollback is different then wanting to detect a large change in currency XD
@latent coyote you want to use a connection pooling library like HikariCP
Oh I see what they want now @keen compass
You shouldn't be accessing the DB from the main thread
all MySQL connections should be handled in a separate thread
Yeah so just in your plugin have a logic gate based on how much they’re trying to get
If it’s an unreasonable amount, don’t let them write to the database
So in this case @nimble stump is correct in what they have said. Don't need to do anything on the DB level to implement what you are wanting 🙂
There’s not too much danger of that for a currency plugin, but yes try to use prepared statements
usually only a problem for forms, but yeah should still make sure your queries are sanitized regardless
Yeah
I read about sql injection i don't think that's i problem i'll soon face
i use prepared statements
depends really, as stated usually only a problem with forms
but now if you allow commands to interact with the DB
then you just might
If you’re using prepared statements then you’re fine
^
oh hi fendi
soz I fell asleep
@sturdy oar do you still need help with sleep animation?
this may be useful
Im using protocol lib (v3.4.0) to put players into the sleeping position. Putting them in works fine but how do i get them out? Hitting "Leave bed"...
Guys hello how can i make like this ?
4.22hp left
So i mean this shows killer health
Get the damagers health on the PlayerDeathEvent as a double and round it to 2 decimal places
Does anyone know why onBlockBreak isn't executing in otherClass? Ctrl+Clicking onBlockBreak in Intellij on otherClass sends me to the protected onBlockBreak in Core so they're connected. https://hatebin.com/uewnfhocig
Did you register the event
Best software for an sql database with phpMyAdmin? I use macOS and I know xampp, but I've hear bad things about them
How do I change the java verison for the ./s.sh scrit on linux
so instead of it running the default it runs from a different folder
its something like /home/val/jre1.8.0_251/bin/java
@lone fog yes
Okay?
@tranquil edge try this
String mode = setFlying ? "enabled" : "disabled"
target.sendMessage(ChatColor.YELLOW + "Fly mode has been " + mode);
if (target != player) {
player.sendMessage(target.getName() + "'s fly mod toggled " + mode);
}
@tame bough instead of
java -jar etc
use the full path to your target java installation
/usr/lib/jvm/something java14.0.1 -jar etc
I am trying to build Spigot (1.16.1) via BuildTools, but the tool builds from https://hub.spigotmc.org/jenkins/view/RSS/job/Spigot-RSS/477/ while I want changes that fixes an issue which are present in https://hub.spigotmc.org/jenkins/view/RSS/job/Spigot-RSS/494/. How can I specify the exact version I want to build?
@grim halo im doing that but it isnt finding the file
/home/val/jre1.8.0_251/bin/java(director)
The Error above seems very suspicious...
Show me the shellscript line where you execute java
So the content of you "s.sh" file
java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=8 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=true -Daikars.new.flags=true /home/val/jre1.8.0_251/bin/java -jar forge.jar nogui
@grim halo
Ah as i expected. The very first argument is "java" which points to the default installation. You want to replace the "java" at the start this "path/java" like "/usr/lib/jvm/jdk-14.0.1/bin/java"
And delete the nonsense after the flags
just keep -jar forge.jar nogui
@balmy sentinel Xampp just installs the 3 common softwares for you and gives you a nice status panel to restart them easily. You can install each of those softwares individually if you like.
@grim halo That seems to have fixed it
👍
anyone know mine? it kinda got lost in chat https://discordapp.com/channels/690411863766466590/690470011382267904/730942340499243019
@left plover i dont understand your question... the class Core doesnt know it was extended... so it will always use the empty method provided.
Could you rephrase your question please? I dont exactly know what you are trying to do. I think its a problem of understanding polymorphism
Just because you extended core doesn't mean your plugin will be notified of Events
still have to implement listener
^ That's how the interface works, as a marker. @ runtime the child class doesn't have that marker.
if otherCore extends Core and Core implements Listener then otherCore also implements Listener. I dont think he has to implement it again.
now what you could do is use Super
read edit
Or did i miss something. Never tried extending a Listener class
Yakovliam has it correct
Its my first time trying polymorphism sorry. I thought that receiving the event and then firing that protected event would fire onBlockBreak on the class that extends Core because its overriding the protected method in Core?
Core may implement Listener, but otherCore extends Core only..doesn't technically implement listener although in some cases implementing in the parent class gives functionality to the child class. in this case Listener is a runtime marker to Bukkit, but since it doesn't actually implement listener it doesn't count
the onBlockBreak in otherCore shouldnt require the listener because its being called by the blockBroken method in Core?
but apparently not in thsi case
could try sticking @EventHandler over your event method @left plover and see if it works
I'm trying to check if a player is an owner of a region, I think you use isOwner to do it but I cant figure it out
because that is what your extended class is missing
which one?
your class that is extending core
Yeah that would be what I was going to suggest. Overriding a method doesn't give it the same annotations in child, so that might be the actual marker for bukkit to look for.
the method in the parent is called by BlockBroken
it still needs the annotation
Nevermind, I didn't look @ all the code
oh
adding the event handler annotation to the overrided method in the child class will do nothing
I thought that the onBlockBreak method in otherCore would essentially replace the protected method in Core is what I'm trying to say
It doesn't replace it
so Core would be calling otherCores method because it overrides the protected method
try making 'Core' abstract and make onBlockBreak abstract
Now, what you could do is make it abstract
extend it in otherCore and implement the method body
Lol, I thought you overrided the blockBroken method in otherCore, so... ^^
both of the onBlockBreaks or just otherCores?
B efectively implements Listener now. I dont get why it would need to implement Listener again...
In core, mark the method as Abstract
make
protected void onBlockBreak(...){}
->
protected abstract void onBlockBreak(...);
^
and implement it in the otherCore class with
@Override
public void onBlockBreak(...) {
// do
}
``` (which you have)
protected abstract void onBlockBreak(BlockBreakEvent event);
Yes
just making it colorful 😛
okay Ill try it now
👍
but yeah, just because a class implements something, doesn't necessarily mean all functionality is automatically extended to other classes as well.
usually the case when it comes to annotations and such
👌
Im still confused on why you would ever want to do something like that...
do something like what?
This should work. right?
oh have an empty method?
sometimes you might want to allow plugins freedom to do something but you don't necessarily want to implement anything
Extend a Listener class
so you defer the method as abstract
and allow some other application to implement it if they want to
its causing an instantiation exception (because its abstract) but thats something to do with the way my code allows multiple files to use @barren runeentHandler so I think I can fix that
You got an... You dont instantiate abstract classes. Thats the whole point of them.
You instantiate class B (otherCore)
Abstract classes & interfaces are models / templates for how other classes are built
@left plover You can probably do whatever you are planning to do without this whole abstraction stuff...
I think I might have to do this a different way because of how my code is set up
yeah
¯_(ツ)_/¯
well thanks anyway
np
Okay my turn to ask a question
ChatColor.RESET (net.md_5.bungee.api) functions as follows:
- Sets color to white
It should:
- Set color to white
- Remove all styling (bold, underline, italics, strikethrough, magic/obfuscated)
Is this a bug? Build from latest spigot version, 1.16.1, latest commit.
opposite of what you said
ChatColor.RESET should reset the chat component to default. Which is stripped + white...
Did it change again then
Must have.
There was a commit to 'fix it' (https://hub.spigotmc.org/jira/browse/SPIGOT-5845) but it's still happening
Because I used it for item names and it removed the italics but not color
Then again maybe it’s different for them
Should remove all formatting
As you can see in the SC above, same result with no formatting differences
Absolutely sure I compiled the latest version of Spigot with all patches
if you designate a method as abstract you force any implementing class to define that method
@keen compass
You’re thinking of a No-Op
abstract methods don't need to be implemented
They must be implemented
nope minimum required is to have it present in your class, but you don't need to do anything with it
That is implementing it
Ah. Ok implementing =/ overriding
You can choose to implement it with no actual behavior, but you’re still implementing the method
Depends on the definition of implementing
The abstract class has an abstract method definition, the derived class then has to map that definition to an implementation
The implementation is of course free to do nothing
But it’s still an implementation
Ok implementing is overriding
Lol
if you don't override the method
then it isn't implemented
A non abstract class that extends from an abstract class needs to provide an implementation for all the abstract methods in that abstract class
Is there a way to fix icons in chat? since updating a lot of the ones we use in ranks and sinage are completely borked.
Well I normally don't use abstract anyways, but what could be done instead is an interface with an empty method
Such as @sick aspen
looks like alien hyroglyphics
An interface is an entirely different situation
You do also need to provide implementations for interface methods though
Unless you give them default empty behavior (since java 8)
@sick aspen which characters? Also can we see a screenshot
its like a bunch of random ones,but happens to be a lot we use, the diamonds, moon icon, most of the circles and stars
gyazo isnt pasting right
1 sec
make sure you are using utf-8
Are those unicode icons or do you use a resourcepack that introduces new icons by overriding others
what you coud do is use their unicode numbers directly
instead of pasting the icon itself
oh, how do i do that?
\\U+unicode number
I added a + but don't include that
just show a separation between U and the words 😛
it just says its an unknown command
also don't remember if it was 1 \ or 2 \
I dont think minecraft chat escapes unicode
well that is stupid if it doesn't -.-
yeah ive tried every variation i can think of and it doesnt lol.
why did this change though? i dont get why its broken all the sudden
could probably check to make sure your file encoding is utf-8
i mean i imagine so. all i did was update the server, and it does it on a fresh single player too
Do you have a resourcepack installed that uses another ttf?
no, no resource packs or mods of any sort
@lone fog think they are wanting it for their ranks, not quite the same as pasting into chat
Paste the character that doesnt work pls
yeah I have them as spacers between name and typed text. varies by rank. it was so pretty and now its fugly xD
◆●
Hey, I wanna support spigot but also wanted to change my name. How much do I have to donate for that and where?
so it is a plugin issue then
whats wrong with my game thenD: im using singleplayer vanilla
theres no plugin, its a new single world
it does it on both
@rapid yacht think its like $25 for name changes? I could be wrong on that
o_O
You donate on the spigotmc website as well
I was thinking $10 😅
I could be wrong
Boi i dont know what that means xD
I'm teleporting a player to a certain place but whenever I do it the player is in the middle of 4 blocks instead of in the middle of the 1 block I teleported them to, the coordinates are different to what I set them to teleport them to, how do I fix this?
is vanilla mc utf8-whatnot?
I was just memeing alf
ahaha
vanilla MC is utf-8 by default for chat
but that doesn't mean the file encoding for what ever plugin you are using means its UTF-8. File encodings can sometimes mess with Unicode stuff
So you paste your ranks in chat and decorate it with little stars and smileys by hand
o.O
does the client give the option of setting UTF-8 Explicitly o.O
wonder if your OS is messing with Java on that XD
I could use your system settings if you are from russia, turkye china etc.
Then you should def have UTF8 encoding everywhere.
Did you make 100% sure you dont have a resourcepack?
alright you know where the client arguments are in the launcher?
add -Dfile.encoding=UTF-8
is it the spot that says java executable?
as well as maybe using -Dsun.jnu.encoding=UTF-8
yes
it will force the java application to use UTF-8
instead of windows encoding
where did you put it exactly?
you should see something like -Xmx2G or something like that as a default argument
put it in front of that
Hello
good night
02:18:37 [INFO] [TheVanshGamer] <-> ServerConnector [AuthLobby] has connected
02:18:37 [INFO] [TheVanshGamer] disconnected with: Kicked whilst connecting to AuthLobby: For registered players only! Please visit http://www.example.com/ to register
What part of the configuration is this from?
In the Auth console it also sends the same message, this is the one from the bungeecord
-Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
Those are the defaults
i dont have anything like that, maybe i just dont know where to look. i think im just out of luck, even if i got it to work for single player i dont know if itd work for my server
thank you anyhow though
its in the area to switch the game version of a profile
add it to the front
pls dont replace everything
make sure to retain a space after too
yeah don't replace everything XD
good news the defaults are up above if that happens
I mean not like all is lost on that, as you could always just create a new profile and those defaults come back 😛
going to laugh if it fixes their problem XD
He will come back in a second and wont be able to write anything because his system now uses ISO292 or something XD
lmao
no, its still just pasting whack symbols lol
im just gonna try reinstalling i think?
maybe that will help
my MC clearly has Carona
Thats honestly really weird... Do you ctrl-C -> V them by hand and it looks like random stuff?
i wish it would let me link pictures, it looks so odd, like wonkey korean. Probably translates to "go fuck yourself" -.-
abcdefghijklmnopqrstuvwxyz-0123456789
Pls paste this and send me a screenshot of your chat...
holy hell im a moron
its fixed. pls dont ask how i cant even
im about to go down something alcoholic lmao
thank you so much for your time xD
probably the encoding option fixed it >>
A) You pasted the wrong symbols from the begining
B) Resourcepack
no, i for some reason have 2 resource pack folders, one i cleared and the other has faithful in it
i facedesked so hard i got a concussion
you know, just because you have a resource pack downloaded, doesn't mean you had to clear it
could have just you know, disabled it
no i deleted them all a bit ago because theyre outdated
yeah 😂 could be. it works again so im happy ❤️
😐 <- judging face
I mean could always test if that is the case by messing with it some more 😉
probably lmao welp, have fun I guess now that it is fixed 😛
tyty:)
and here I was being made fun of for suggesting encoding problem XD
Wait... make sure your resourcepack also uses utf8
windows is stupid sometimes, ngl
hard facts
Hello
good night
02:18:37 [INFO] [TheVanshGamer] <-> ServerConnector [AuthLobby] has connected
02:18:37 [INFO] [TheVanshGamer] disconnected with: Kicked whilst connecting to AuthLobby: For registered players only! Please visit http://www.example.com/ to register
What part of the configuration is this from?
In the Auth console it also sends the same message, this is the one from the bungeecord
This is from some sort of plugin
what packet is sent when someone opens an inventory?
https://wiki.vg/Protocol#Open_Window
@frigid ember
when was this packet added?
always been there
but if you are wanting this for old versions
I then all I can say is packet id's shifted a couple of times between protocol versions
and I have no clue when any of these changes occured
What would you need the packet for
should stop using outdated software if you refuse to become familiar with it
Changing the name I guess?
just looking for atleast 1.8
ignoring people doesn't make their comments any less valid. Gets rather annoying people want to use outdated software but yet consistently want people to help them with said outdated software XD
outdated software should matter at ALL... since people wanna sometimes use older version as newer have server performance.
considering its all completely documented
https://wiki.vg keeps a list of all the protocol spec's so you can look through them
@frigid ember always matters
there isn't a scenario where you could expect help with legacy software for any reason.
yes there is
1.7.10 - 1.8 somewhere around there
he's not asking you to fix his bug, he's asking to be pointed at existing documentation
which is perfectly acceptable
its all in the server code to be honest
@frigid ember which version of the server are you running
1.7.10
but https://wiki.vg keeps a list of all the old protocol versions
which is what i was going to give him
gave it earlier
well im gonna find the link to the specific version he wants is what i mean
@frigid ember
that's what you want
if you're still making money, who cares
if you're doing it for fun then yeah keep up to date
otherwise, keep the customers happy
wait. so people take issue with servers using 1.7/1.8? that's strange.
Hello
where to get ascii code
for BOTD
for the Server Name on multiplayer
alt codes
It isn't about who cares, it is about coming to the official discord server expecting help because people can't figure out how to do anything with their legacy software because they refuse to update.
I don't care if people want to use legacy software, I care that those who choose to expect some kind of support for it
but yes lets update to the worst version of MC, that causes server performance.
It doesn’t run the best but it’s actually supported
And from a content perspective
A lot less stale than 1.7-1.8 lol
(If it’s the combat that you want, it doesn’t take much at all the simulate spam click pvp on 1.9+)
@frigid ember that is an opinion. I have no problems running 1.16
main problems for performance is shitty plugins and people who don't know how to run servers
What is the best fee Anticheat.
no-cheat plus comes to mind if its still being developed lol
not entirely sure there is many anticheats that are free
at least any that are decent
henlo there
Do anybody know why server clear ban list by itself?
probably have a plugin that does something with it
might want to check that you don't have any malicious plugins
for some reason when I use event.setCancelled on a InventoryMoveItemEvent (When a hopper is under a chest) it doesn't go into the destination like expected, however it sets the stack im pulling from to 1 (ex I have a stack of diamonds in the chest above a hopper and when I cancel the event nothing goes into the hopper but the stack of diamonds turns into one diamond)... heres the code im using for InventoryMoveItemEvent java @EventHandler public void OnHopperMoveItemEvent(InventoryMoveItemEvent event){ Block block = Objects.requireNonNull(event.getSource().getLocation()).getBlock(); if (Main.isLockable(block.getType())){ if (PersistInput.isLocked(block)) { event.setCancelled(true); } } } (Main.isLockable returns true if material is a chest, trapped chest, or other inventory forms that work with hoppers)
how do you check if a player is the owner of a region?
so get the itemStack in the beginning, and then re-set it back to proper after the cancelling of the event @fringe cairn
WorldGuard has an API for this
how would you check it in the api?
ok, also can you have multiple owners of a region?
Yo dudes is it possible to add a server icon to bedrock?
yes you can have more then one owner @sage summit
ok
Is 4-5 minutes long for a ci/cd of a 16k loc project
depends on the build setup really
can generally increase the speed by giving it more resources/threads to work with
hi i m using superiorskyblock2 plugin.... but when someone is upgradeing the borders and he s trying to expand he s island, the plugin said that you cannot build outside of your protection range
why?
can someone help me?
https://cdn.discordapp.com/attachments/713154327350607963/714547005375905803/unknown.png guys how can i make like this ? (Killer hearts) 2.5hp left
Any plugin ? İ dont know coding
get a plugin
guys this timings are good ? https://spark.lucko.me/#j0RmUAO6A1 https://timings.spigotmc.org/?url=cikotateso
anyone have an idea on how to fix this [07:58:16 ERROR]: Could not load 'plugins/HubScoreBoard.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/jtx/hubscoreboard/Main has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[patched.jar:git-PaperSpigot-"4c7641d"] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:331) ~[patched.jar:git-PaperSpigot-"4c7641d"] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:254) [patched.jar:git-PaperSpigot-"4c7641d"] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:293) [patched.jar:git-PaperSpigot-"4c7641d"] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:202) [patched.jar:git-PaperSpigot-"4c7641d"] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched.jar:git-PaperSpigot-"4c7641d"] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
hi i m using superiorskyblock2 plugin.... but when someone is upgradeing the borders and he s trying to expand he s island, the plugin said that you cannot build outside of your protection range
@unborn jewel I asume you're the dev. You need to change the compile version to the same that your jvm is. You need to set the compile version to Java 8
why
Ask in their discord
yea but i need to verify with my paypal account where i bought the plugin
bu an friend just give me da plugin
So you basicly got a cracked version, I'm not going to help you then
anyone have an idea on how to fix this
[07:58:16 ERROR]: Could not load 'plugins/HubScoreBoard.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/jtx/hubscoreboard/Main has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[patched.jar:git-PaperSpigot-"4c7641d"] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:331) ~[patched.jar:git-PaperSpigot-"4c7641d"] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:254) [patched.jar:git-PaperSpigot-"4c7641d"] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:293) [patched.jar:git-PaperSpigot-"4c7641d"] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:202) [patched.jar:git-PaperSpigot-"4c7641d"] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched.jar:git-PaperSpigot-"4c7641d"] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
@unborn jewel you need to update java runtime the paperspigot thing here is saying that it can only compile files up to update 52 however your jar is on update 58
A shoot
^ Already awnsered that, but a better way is to downgrade the compile version so it supports more servers
How may I downgrade?
Depends on what you're compiling with
Im using eclipse
Yeah I thought so, for some reason every new coder does.
From the menu bar: Project -> Properties -> Java Compiler
Enable project specific settings (checked) Uncheck "use Compliance from execution environment '.... Select the desired "compiler compliance level"
It’s what we used in school
you could also check out Intellij IDEA (great software for java coding).
^ That's what I've been using for 2.5 years after switching from Eclipse
i've accualy never used eclipse XD
Yeah like most people I've met I started using Eclipse when I wanted to make my first plugin
XD
I decided to test Intellij and I've never looked back since
Anyone know how to get a layer inside of a mine? (I am going to check if they can break the block in worldedit)
For example: If a player breaks a block, it will break the layer of the y level they mined on.
Like a Jackhammer/Excavation enchant
doesn’t Bukkit.getServer().getOnlinePlayers() exist in 1.12 api
I'm making a custom /give plugin. Are there any feature requests for me to make sure to include?
gives items
give already exists in vanilla
indeed
why make it then
answer me
doesn’t Bukkit.getServer().getOnlinePlayers() exist in 1.12 api
@frigid ember
who're you asking
everyone
they probably have their project/imports improperly setup
^
[05:13:04 ERROR]: Error occurred while enabling packetevents v1.5 (Is it up to date?)
java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
my plugin
code?
have you tried using Bukkit#getOnlinePlayers instead of Bukkit#getServer? (there shouldn't be any diff afaik)
sure ig
ik there shouldn’t
i have been used
just askin
for(Player p : getplayers)
{
inject(player);
}
is basically what it is
Whats getplayers?
^
im lazy to type it out
I love how you leave out the most important part of the code
getServer().getOnlinePlayers
Ever heard of copy and pasting?
Tried Bukkit.getOnlinePlayers(); ?
i am on mobile rn
it's spigot right? not paper or anything?
?
the server jar
lol
spigot
i thought u meant this
community lmao
paper wouldn’t remove it anyway lol
this error occurs at runtime right? do you have the full error?
The method changed since then
It's basically compiled against an older version of the API when getOnlinePlayers returned an array, not a list
so i need to use
i seee
Bukkit.getOnlinePlayers() i need to use?
i used 1.8 bukkit api
For example: If a player breaks a block, it will break the layer of the y level they mined on.
Like a Jackhammer/Excavation enchant```
hi
show line 97
@formal nimbus
yeah that fixed it lmao
everything is static yikes
eclipse is sometimes retarded lmao
everything is static yikes
@torn robin how to avoid ;-;
k
its a whole ordeal to understand OOP @formal nimbus
if(!bool)
and if(bool)
but if you wanna learn how to properly use static you should look it up
yes
but if you wanna learn how to properly use static you'd should look it up
@torn robin I've tried 😢
👍
F
lol
For example: If a player breaks a block, it will break the layer of the y level they mined on.
Like a Jackhammer/Excavation enchant```
my brain too lazy to think
u wanna like mine one block and it digs down?
it mines all under it, i don’t understand
If a player breaks a block, it will break the layer of the y level they mined on.
u need some quik maf
...
i’m just being real
@paper compass where are you running into a problem?

