#help-archived
1 messages · Page 104 of 1
no
i already got it no worries
luckily didnt look it up was pretty easy to find in file explorer
Anyone here experienced with chunk loading/unloading? I'm having a weird issue and I'm not entirely sure what's happening.
stop the server. the folder is in read only mode. Someone else was having this same issue awhile ago, and I think that was the cause
oh, their messages were deleted lol
Does anyone know how to make mobs track you and not track them by hitting them in the aggressive animals plugin?
In the plugin, no idea. just know it requires messing with their pathfinding goals in code.
Or if someone knows a plugin that makes all hostile mobs other than aggressive animals
No matter what I do I can't get a custom recipe to use more than one item per item stack can anyone help me?
public enum SpellType {
DAMAGE(2, DamageSpell.class);
private final int duration;
private final Type type;
SpellType(int duration, Type type) {
this.duration = duration;
this.type = type;
}
public Type getType() {
return type;
}
public int getDuration() {
return duration;
}
}
``` So I am creating a spells plugin for a community. I am planning to instantiate certain spell classes based on enums. Do you think this is a good idea or are there any better ways todo this? I wan't to also create a new instance of the class type but not sure what the most efficient want todo it.
So I have all mobs disabled and idk why there are 20k entities but it's fucking over the server. Anyone have an idea of how to fix?
32 thousand
wtf
kill @e
^ never
lol
That only fixes it for a few seconds
any idea what type of entity is getting mass spawned?
Nope, I have all mobs disabled in Essentials
you got any datapacks on the server?
Nope
are you the only op?
Yea
weird
ikr
entities include item frames, item drops, armor stands, etc
try /effect @e glowing and go spectator mode to see what those entities are
^
There are about 60 armour stands. No items on the ground. It's also a void world with mines in
are those armor stands important?
Nope, I removed them before and the entities still happened
hmm
It also only happens 5 mins after the server has been up
What do you mean mines? Like abondoned mineshafts?
Prison mines
Ah
and when you did /effect @e glowing, did the number of entites effected matched with the number you got from the spigot info thing?
Yea
But I still can't find them
I can see the armour stands but that only makes up 60
not 32k
How big is the world? Might be further away somehow
you could set up a repeating command block that kills all entites but armor stands if you really wanted to
Wouldn't that tank tps?
Likely would tank it... I swear there's a command somewhere to tell you what entities exist and how many of them there are
F3 debug screen?
yep lol
Nah that only shows the armour stands
Yes
might be essentials is giving false data
You said you killed them? Did it say it killed 20k entities?
Does anyone know how to instantiate a new class with a java.lang.reflect.Type ?
Doesn't seem right if the server is reporting the low tps
No it says killed 60 entities which is the armour stands
what plugins you have?
Do a timings report
oh ^
@velvet halo it's an interface, you don't instantiate it. You instantiate something that implements it. Like map or list. Same thing
Yeah! Timings report is a thing lol totally forgot about that. Do that.
How do I do a timings report?
whats your tickspeed at doomfly
public enum SpellType {
DAMAGE(2, DamageSpell::new);
private final int duration;
private final Supplier<Spell> spellSupplier;
SpellType(int duration, Supplier<Spell> spellSupplier) {
this.duration = duration;
this.spellSupplier = spellSupplier;
}
public int getDuration() {
return duration;
}
public Spell instantiate() {
return spellSupplier.get();
}
}
``` @worn temple Do you think a Supplier is a good idea? I have never used them
Bad gc, could be part of it... Dunno if your host allows script changes tho
@velvet halo don't use something you don't understand.
@gleaming mango There are definitely that many entities. You can tell from that report
@gleaming mango what is your tickspeed at
The yellow line with blue dots is the entities.
3
The default
always should check
lol that would have been funny if that was the problem
It seems like most of the lag is because of the mines plugin
Hmm
JetsPrisonsMines
It was a really good mines plugin
I'll disable it and see if that fixes it
I wonder what it could be doing that causes that? Is it open source? I'd love to audit the code tbh
Also, there definitely seems to be a ton of entities.
It's not opensource sadly but does have an API
Doesn't help much sadly, id need the code related to exactly what this part is.
Nova i bet you its not obfuscated decompile it
@hallow surge the question is, is it a free or paid plugin then... Cuz I could decompile it if it's free. It would be most likely be a breach of terms to send it to me if it's not free
Damn
@gleaming mango Did you recently update or change something with this plugin or is it new on your server?
It's so weird that it's chunk related too
It's always had the problem but I recently put it on a host cause I thought the lag was me self hosting it
The mines have effects but idk if that could be it
I give all mines saturation through the mines plugin
Any coders in here?
plenty
@worn temple The reason why I asked that question is to know if you had knowledge in suppliers. It worked btw! 👍
?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply.
I added the supplied class type to an array so I can keep track of it and remove it when needed.
I'm not sure why this isn't working. I'm trying to test out my skills with Java after learning python at my uni.,
getType is not static @frigid ember
Right, then how would I fix that line?
It should be a reference to a block, not the Block class.
@velvet halo just because it works doesn't mean you should use it. I have no idea why you'd need to use provider
event.getBlock().getType()
Block is the class, not the block itself.
Like how you have Player player = event.getPlayer()
*supplier, my objective is to instantiate a spell class based on an enum.
Good to see some tutorials are giving good practices tho
Player is the player class, but player is the actual instance of the class.
@velvet halo yourEnum.getSpell
Well its the mines plugin
You don't need a supplier
You can't do Player.getName() because there is no static method on Player called getName()
Same thing with Block.getType()
No problem.
@gleaming mango Maybe mess with the config and simplify some things?? Haha
I fixed the problem. Much appreciated!
public enum SpellType {
DAMAGE(2, new DamageSpell());
private final int duration;
private final Spell spell;
SpellType(int duration, Spell spell) {
this.duration = duration;
this.spell = spell;
}
public int getDuration() {
return duration;
}
public Spell getSpell() {
return spell;
}
}
``` So this is an efficient way of doing it?
Alright thank you
To add onto that, @radiant pollen I now have a slight issue with the plugin registering my right click as the action I defined. https://gyazo.com/45b93ff20c8ea5ed279b59d60e988af6
Did I do something wrong?
Np. You were just needlessly wrapping the code. Since the provider just makes a new spell, it's the same. If there was some logic or something involved, then other routes could be taken. But provider just isn't needed there. Try to keep your code simple, you'll thank yourself later down the road when you get and maintain it @velvet halo
@frigid ember The if(action.equals(Action.LEFT_CLICK_BLOCK)); does nothing.
Because of the );
It should be { and then the rest of the code and then the closing brace.
wow I am trolling myself today
Yeah I honestly overthink a lot when it comes to certain things. Thank for the feedback 👍
haha
I assume you're new to programming? Or at least new to java? @frigid ember
No worries. Easy to miss typos haha
New to java, relatively new to programming. Trying to keep up with some tutorials but it's a little hard to get into it.
@frigid ember consider doing a java basics tutorial first. Learning java while learning a whole huge API is gonna be really hard. Once you have the basics down (syntax, primitives, etc) you can easily move into working with bukkit. And whatever you so, stay far far away from bcBroz (it's something close to they) they teach horribly bad practices that will hurt you in the long run. TLDR: learn from me and my mistakes nearly a decade ago when I got into java.
A lot of this seems familiar in the sense of working with events and listeners, but yeah it's kind of hard to work with an API. Do you have any suggestions for tutorials?
plenty of good ones
ghg source code
spigot docs
the lsat one i mentioned is my favorite
@frigid ember
Oh lmao I meant for java basics and such
I'm trying to find the link for the one I usually recommend. It's taking a moment because I'm too tired to remember the name.
So the lag is bareable now I have changed it to timed resets instead of percent
I'm sorry, my brain just can't do it. Can't seem to remember/find the link. But there's plenty of great resources out there. Tutorialspoint I haven't personally used, but seen it recommended by those I trust. May be a bit dry tho just briefly skimming it.
https://www.tutorialspoint.com/java/
But there's plenty out there, I'm just blanking on the usual thing I recommend
For anyone else, I stopped blanking and found it: https://www.mooc.fi/en/
@worn temple I'm fucking confused.
The mines plugin is still on there all I did was change it to times resets instead of percent
Hypothetically you could send me the plugin in DMs and I could hypothetically see what it was doing because that just doesn't seem right at all. And I'd love to understand it. Of course I wouldn't actually use it, just look at the code, see if I see anything, then rant about it and delete the jar.
But that's all hypothetical tho, you should just report the issue to the dev of the plugin.
Anyone know a 1.15.2 ParticleEffect library?
Making servers is great fun until you have problems like this which make no sense
Welcome to Minecraft, where 1% of the developers lead to 90% of the problems
It makes sense that timed resets would be less laggy
it doesn't have to check blocks to find percentages mined so far
Yea but it is still lagging just not as bad
Yeah. But why it's spawning an exponential amount of entities is what confused the shit out of me. Makes sense for it to be less laggy, but not because of entities
The entities are still there but the server runs at 15 tps now.
upload to Google drive and dm me a view link to it. Hypothetically of course
Did the entities go away when you unloaded the plugin?
Yea
Hey quick question to how Item Lore works. Is there a max size for a line in the lore and if there is and it goes over the limit does it auto wrap into a new line or does it result in something like an IllegalArgumentException.
It definitely doesn't wrap.
I checked the docs and it doesn't really say.
Don't think there's a "limit"
So that's why the upload failed. Dm's are turned off from this server
It's 16 or 32 char max I believe, and will just cut off.
@gleaming mango oops, yeah, didn't mean to do that for myself
Oh, seems it's a server setting, cuz I don't have it off. Must be to stop 12 year olds from spamming DMs for help
and DM advertisers
I rarely see that. Even in the huge servers I'm in with DMs enabled.
So when a server shutsdown how do I make it so that the player is sent back to the hub server in a bungeecord server
Set the hub as a fallback server I think
Is it possible to detect Ping Spoof without false detects?
As I know we could control "PacketKeepAlive" packet and detect their ping but isn't it breakable?
[08:31:04] [Server thread/ERROR]: Could not load 'plugins\Tutorial.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: de/meinserver/tutorial/main/Main has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0 can anyone help me fix this error?
you've compiled bytecode with newer Java
^ either need to compile the plugin with an older version, or run the server on a newer version.
J8 should be the oldest version anyone runs
how do i do it
Is it your plugin?
yes
What ide are you using?
Eclipse IDE
Yeah. Don't know how to do that off the top of my head... Uh... You should be able to change the jdk used somewhere.
Super old, but should be same process: https://stackoverflow.com/questions/12588537/how-to-change-jdk-version-for-an-eclipse-project
Need to change it to java 8. That's what the server is on, you compiled the plugin on java 10
where can i get the java 8 libraries
Oracle's website, you need an account
Maybe you don't need an account. I don't know, java 8 is too old >.<
but the besdt version for minecraft
Aren't most plugins on Java 8 tho
No, only the client cares about being java 8, and it comes packaged with it already.
Most plugins are java 8, because bad programmers using sun.unsafe classes which were removed in j9+
But j8 code can run on newer java just fine. The server doesn't give a shit about the java version as long as it's 8+ from my experience
I've always used Java 8 because I was told to use that when I learnt
¯\_(ツ)_/¯
i got jre1.8.0_241
Install the jdk, not jre. (Jdk contains jre anyway) you may have to tell eclipse where it's installed at, eclipse is dumb like that.
I don't even know how you ended up with j8 for the server and j10 for your plugin
Eclipse is usually dumb enough to stay on j8 by default.
The link I sent goes straight to the jdk
yeah but i cant create an account
You need the jdk for development, jre isn't gonna do you anything. Unless you want to install java 10 for the server and then your plugin will work
You need the jdk for development, jre isn't gonna do you anything. Unless you want to install java 10 for the server and then your plugin will work
@worn temple how do i do it
I think I've found the best way to check player has latency or not. So basically player always send "PacketPlayInFlying" packet whenever they move. I can check latency between move packets and it will be almost 100% accurate
What do you think guys?
I told you. Make an account and download it. Or if you self host the server, install java 10 and remove java 8. If it's hosted on a server host, you're gonna need the jdk for j8
With 0 ping latency is like this;
@chrome edge cool? Not sure why you're trying to figure this out, you can just get the users ping directly and that's the latency.
@worn temple I've made an anti cheat but I forgot to check bypasses like ping. Yesterday friend of mine kicked from my server because of his latency. So I've decided to make latency bypass.
If you have >200 ms latency I'll disable anti cheat for the player
I think 300 ping is playable. Isn't it?
0.3 second is acceptable. Nm I'll figure out
Again, you can literally just grab the player's ping. https://www.github.com/DreamExposure/NovaLib/tree/master/v1_14_R1%2Fsrc%2Fmain%2Fjava%2Forg%2Fdreamexposure%2Fnovalib%2Fnms%2Fv1_14_R1%2FPing.java
No need to track it manually, it's already tracked by the server
A ping of 300 is 300 milliseconds of latency. That's all ping means, it's milliseconds of latency.
So, 0.3 seconds
@worn temple I've forgot the hacked clients lol
They can manipulate their pings(Ping spoofing)
This is how mincraft works nowadays
You're overcomplicating things.
If you consider I'm making anti-cheat. I'm not...
Yeah, he's not.
Okay, I'm 100% sure. This is the BEST way to check anti-cheat. Just check their movement packet. If they're spoofing it doesn't matter 'cause their movement is pure.
cant wait to see them spoof the movement lol but yeah. Guess it makes sense rereading it all
haha if they spoof their movement, they have to play like a player who has >300 ping. So I don't have problem with that lol
I haven't know spigot has api that shows server stress...
MathHelper.a(MinecraftServer.getServer().h) * 1.0E-6D;
Looks cool!
What do you mean by saying final events?
@proud furnace it's like java knowledge. Final veriables is final form of the data. This data cannot be change after finalized
I've never used as an event but I think it's like what I said
You can't make event reference a different event.
There's no performance improvement from making them final. It's just another constraint on how you can code.
I don't know why you'd ever change what event references, but if you don't make it final you can..? It doesn't matter
A better constraint. Mutable state is the worst
It's basically personal preference until it isn't.
If you consider events has order why you have to finalized. Is finalize works for them?
I don't know the details but as I know, it doesn't matter you use or not
Final is honestly better in the long run, because dealing with mutable state is a nightmare and if you can start early with "final everything" you'll be miles ahead of others
Basically, whatever you take in, cannot change while you deal with it. So there is no state to track. You don't care about the before or after, you have no control or vision of that. You are just making sure whatever you are doing now can't change.
No state to track makes things a lot easier.
Anyway... I need sleep, I've been up way too long.
Could somone give me a hand with a .getConfigurationSection issue?
I have my config as layed out sorta like this:
ImAJewel:
Info...
jewel1.1
Info...```
It will give ImAJewel just fine but for `jewel1.1` it only gets `jewel1` and leaves off the rest
Can you share your code?
Can someone help me listen to Login packets( like handshaking packet) with NMS in spigot?
A forum for spigot this DiscordJDA?
A help code for JDA
im sure they have one
Link?
In pv please
can anyone help me
Just simply listen to Handshaking packet with NMS
Hello???
You don't know?
I'd recommend using ProtocolLib
@torn robin no
just a quick answer
Hi. I have a question. What is the best way to send a https get request from a spigot plugin?
@torn robin
omg
dude
that thread only shows how to listen to incoming and sent packets
Not Login packets.
I don't think there's necessarily a best way Rundik, as long as it's async
@frigid ember I'm not going to help you because you're very rude and seem to lack a basic understanding of java, and the additional difficulty of the scope you're trying to accomplish. Good luck.
Anyone knows a plugin where it just won't let you remove a block, it blocks all forms of if you want to see the broken block
channelRead and write, i have those already i coded myself.
@normal lark do you mean like a physical block?
Don't ask for help and then bitch and moan because someone doesn't know the answer off the top of their head.
he linked just a wrong answer.
So?
I mean a physical block that you can't even see broken
if you're not gonna use protocollib then ¯_(ツ)_/¯
@normal lark like you want a block that can't be broken? and it doesn't show a block break animation?
yes a plugin
I don't see any plugins already created for it Efra, you could probably hire a dev to make one for you
or where he gets it from
I know how to use packets, just listening to Login packets is just different
You don't listen to them by injecting the player after logging in
It is different to the rest of the packets.
I have no idea Retrooper I've never messed with login packets myself
maybe someone else can help
I don't know what you meant which I lack basic java knowledge.
And why you randomly say that.
Btw ofc I google, coming here is the last thing I do.
Just you googled effortlessly and clearly didn't even look at it to know if you are googling the right thing.
@torn robin is there a way to do such request without any libraries, just spigot stuff and java system stuff?
you can use java
The Karenheight is going up
An example would be helpful
@kind crow you can use raw java, buy don't do that. It's excruciating. Just use okhttp and offload it to a different thread. Super simple.
Here is a good guide https://www.baeldung.com/java-http-request
Does this also work with https?
Just use this https://square.github.io/okhttp/
Seriously. Don't do it in raw java. That's a horrible idea.
I don't see it as a horrible idea.
Its a GET http request
Explain why its a horrible idea?
He will have less dependencies
Smaller file size too
@worn temple I wouldn't use any external libraries unless it's the only way
Its impossible for it to be only way
The external libraries use raw java anyway
At the end of the day we all just use java.
There's a reason why libraries exist for this. No need to reinvent the wheel, no need to create needless security holes.
I mean if I have to write 1k lines of code I would probably use a library
Its not even that much code firstly
If you were concerned about file size, you wouldn't be dealing with mc.
@frigid ember I mean for one request
yea
https://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html oracle did a good guide too
@kind crow look. I don't know what he's going on about. I've been programming for nearly a decade. This is why we have libraries and the phrases like KISS (keep it simple, stupid)
URL oracle = new URL("http://www.oracle.com/");
URLConnection yc = oracle.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();```
is what oracle guide showed
Yeah, that's just dumb. There's no need for needless complexity like that
read more on the link i sent
Little question : anybody know the IDE using md_5 for java ? 😉
Probs IntelliJ
Yeah, KISS, don't use billion libraries 😆
¯\_(ツ)_/¯
I already have gigabyte size node_modules all around my pc
Thanks for the examples @frigid ember
@kind crow that's node, js is a fucked environment. It's honestly not comparable
wus wrong with NodeJS
this works in a survival world, but not in a spigot server im an op in, here's the command I used: /summon villager ~ ~1 ~ {VillagerData:{profession:cartographer,level:2,type:jungle},CustomName:"\"Jerry The Voucher Guy\"",Offers:{Recipes:[{buy:{id:"paper",tag:{display:{Name:"\"1 Free Shulker when purchasing\"",Lore:["\"One time offer. Cannot be used with exisiting discounts.\""]}},Count:1},sell:{id:shulker_box,Count:1},maxUses:100}]}}
@random bolt it might require the display name to be the same
whats the event for dropping an item
yea
how do i get bees to attack a single entity
because at the moment angry bees attack all players when enraged by a player
i know from playing multiplayer and having this one guy punch a bee in my own home
Does PacketPlayInFlying has delay when high ping? It's weird but looks like it doesn't...
Ofcourse it will.
If you are lagging, your packet won't be able to send to the server in time.
But I've done test and it's stable
PacketPlayInFlying is sent every tick client side
but one cant be sure when it will be received
or if it even will be received by the server
minecraft client and server have 20 ticks a second
Is there a way to check server recieved the packer or not
So should I bypass every 1 tick?
?
As you said client sends fly packet
yea
cant help u euan i dont have much experience with 1.15 bukkit
oh
@frigid ember This is what I made for checking delay between fly packets
ok
ticks converted to ms will only be divisible by 50
50, 100, 150, 200
so ticks * 50;
so ofc
it's moving between 50 and 60 even I have 500 ping or 0 ping
ok nvm
idk what ur doing
quite weird xd
btw dont exclude position and position look
they are instances of flying
You can try to use fly
the flying itself is sent only if ur standing still
It'll use every tick fo miencraft
but position and look will only call whenever you walk or look
position is caleld when u move
position look is when u move and look
they are all instances
can i force crawling?
yes
put a barrier block on their face
wait crawling or sneaking
crawl
barrier block -> face
yeah i mean that's the unofficial way I guess
barrier block -> face
@silk bane thats some nice explanation right there
here to help
👉 👈
you can also send the packet
nani?
well that's the Entity metadata i think
if you set the player to 'swimming' status it should work i think
not 100% sure
wait nvm
that's being sent from the client i think 😅
@frigid ember Sorry for delay. I'm trying to calculate pure player's latency based on movement packets.
but I couldn't make it yet lol
so I'm trying to figure out how it works.
Of course you're right. Spigot has API for ping but what about hacked clients?
?
They have ping spoofing feature.
So the api doesn't work on paper
yep
actually not
they delayed keepalive packet
not movement packet
the bad ones only
good hacked clients delay all packets
Otherwise it would be much easier
cheating with >250 ping isn't it weird
but it bypasses
whats the event for taking damage
oh god 500...
thats example number
okay thanks for the information.
EntityDamageByEntityEvent is event @hollow thorn
what is the difference between paper and spigot ping?
I asked do you have any idea about packet latency and your answer is paperspigot...
okay nvm thanks for the information again.
So the api doesn't work on paper
@chrome edge in paperspigot?
i never knew
i dont think so
I meant to say
how do itell if an item has a certain enchantment
ItemMeta#hasEnchant
If they have lag then they'll send more packets at once, once it catches up
there is a chance that some packets are cancelled
How can i get in EntityDamageEvent the entity which was damaged and the entity which damaged the other ?
ok thx
im not sure about second one
UseEntityDamageByEntityEvent instead
then do
event.getEntity()
event.getDamager()*
u dont know spigot do u
@EventHandler
public void onDamage(EntityDamageByEntityEvent event) {
Entity igotdamaged = event.getEntity();
Entity damager = event.getDamager();
}```
Anybody here able to assist me with Island Tping when Falling into Voild?
need help :
[13:45:02 ERROR]: Could not pass event PlayerInteractEvent to GnanPlugin v1.2
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:235) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:458) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:953) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]```
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_251]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_251]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_12_R1.inventory.CraftMetaBlockState cannot be cast to org.bukkit.inventory.meta.SkullMeta
at fr.gnaboo.gnanplugin.join.GnanJoin.onInteract(GnanJoin.java:79) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_251]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
... 17 more
How can I load a preexisting world file during runtime? It seems like the standard way Bukkit.createWorld(new WorldCreator("world_name")) no longer works in 1.15?
org.bukkit.craftbukkit.v1_12_R1.inventory.CraftMetaBlockState cannot be cast to org.bukkit.inventory.meta.SkullMeta @worn gate
also that would mean that your plugin would be limited to 1.12.r1 servers
anyone else having issues buying on spigot atm?
I think i corrected it 🙂
by issues what do you mean
if by paypal holding money, well, paypals fault ¯_(ツ)_/¯
paypal is holding a lot of money recently tho
they're planning to keep it for themselves
nah
interest
ongoing buisnesses
or something
but it's clearly not for protection
i keep getting We're sorry but things dont appear to be working right now. Please try again later. error when i go to pay
that generally means that either paypal is having issues, or the email address that the author is using is invalid
Paypal not so pal anymore smh
does someone has an tutorial or something to create quest npcs in 1.14.4?
hello guys i have a problem
with the discordsrv
i cant get the discord srv file
how cn i get the file?
How can i execute a command with a plugin even if the executer doesn't have the permission ?
Like Bukkit.dispatch
I would like to be able to execute /lp user gnaboo set lg.perm when you click on lg in my gui
Using LuckPerms
U can use chest commands?
how do i weaponise bees
anyone knows ?
Anybody here able to assist me with Island Tping when Falling into Voild?
@dire ravinepublic void move(OnPlayerMoveEvent e){ Location loc = e.getTo;if(loc!=0)return;
and then you would have to find the closest island
or a random one
int x = Math.Random("highestpossiblex")
same for z
and y
then you would use loc.setY(y)
and same for x and z
you could always save the last block they stood on
before checking if loc.getBlock.getType is not equal to air
and then change the y by 1
@EventHandler
public static void onDamage(EntityDamageEvent event) {
if(event.getEntityType()==EntityType.PLAYER) {
Player player = (Player) event.getEntity();
Location loc = player.getLocation();
if(loc.getY<0){
loc = (loc.getX, loc.getY+100, loc.getZ)
player.teleport(loc)
}```
that will just tp you 100 blocks higher
you would need something to get the nearest or last island they were on
well idk
Anyone got an idea of howto make execute a command to a user even if he doesn't have the permission to execute this command ?
Is it illegal to make a plugin from scratch with an idea that another guy had?
some people are yelling at me for it kek
hey,
does anyone knows how to block Luckpermsbungee and NuVotifiert from Tab complete? iam using PL-Hide
some people are yelling at me for it kek
@barren abyss if u do it for free its fine 🙂
I have had someone copy my work I was showing off and then they tried selling it
¯_(ツ)_/¯
they got a massive backlash from the community though
i dont get it why people sell things in the biggest community on earth 😄
however in the long run it helped with my reputation for building tools
if you are good at something
don't do it for free
¯_(ツ)_/¯
and it also doesn't pay the bills 👀
ok.. from now on i will earn money for sitting on my fat ass 😄
and it also doesn't pay the bills 👀
@vernal lance sure... but get real work?
I mean considering with the crisis this is way more stable work haha
😄
ok 😄
iam just a bit tilted of all these plugins which i have to pay
iam paying more for Plugins per month then for the server
I mean I feel for most you are paying for premium support
and it's usually a one time payment
unless ofcourse they charge for month
then I can see your concerns
How would I check if an item in a slot exists?
I see there's getInventory().contains() though it doesn't seem like I can specify the slot
Also is there a way to disable damage immunity?
hi - do minecraft servers get my public or local ip address? and how do i change it?
public - otherwise they wouldnt be able to connect
hey,
does anyone knows how to block Luckpermsbungee and NuVotifiert from Tab complete? iam using PL-Hide
by not giving users permission to LP command?
LP also check permission before tab completing
@wheat summit
use #getSlot then compare that way
ItemStack comp = inventory.getSlot(slot);
if (comp != null && comp.isSimilar(myItem)) {
// bla
}
Anyone got an idea of how to make execute a command to a user even if he doesn't have the permission to execute this command ?
@dusty topaz I'm using player.getInventory() and there's no .getSlot function
Ok thanks
Will a witch trigger a proyectile launch event?
I need to use a completeable future to let a user know that a task is done, is that ok since it bypasses the bukkit task system
you can also complete CompletableFutures with Bukkit Async scheduler
that is fine and I've done it several times
no issues tbh
you can also complete CompletableFutures with Bukkit Async scheduler
Do u use the scheduler?
just be sure that the stuff that you're doing can be fully async
yes i complete the CompletableFuture with a scheduler from bukkit
Well it’s all my code in the async block so it should be fine
This is just a question to be clean though in console how would I send a message to it in a certain color?
I've tried Java's java.awt.color and Bukkit's ChatColor and Color classes though neither are outputting in console a color, mainly jsut the RGB of it
Ok thanks
Ok thanks, I'll probably use the ASCII color codes
https://github.com/TheViperShow/SafeChat/blob/master/src/main/java/me/thevipershow/safechat/common/enums/ANSIColor.java
Maybe you'll like something like this, you can pretty much copy it
also remember to use RESET color code , otherwise the rest of the console will be colored lmao
Yep I see, lol
Can 2 mobs have the same namespaced key on their persistent data containers?
guys help
i really need to have a discord bot
that connected to my aternos server
🤣 aternos
why
Hello, does anyone know how to use tab complete with bungeecord ? I have an issue with command /ban and /msg and all other minecraft-natives commands, I'm looking to made a custom tab with them, but for now don't fin a trick :c Can someone help me ? 🙂
@eternal jewel im going to echo the fact that you should not be going through the efoort of connecting to a bot to a server that has 2gigs of ram and can barely runa survival world with one player
im baffled that you think thats a good idea and wort h the effort
Guys, cans omeone help me.
In my packet listener, when a user disconnects and reconnects, for some reason, no packets are received anymore.
I inject when they join and uninject when they leave.
When I join right after a restart, it works and all packets are received and all is good.
Once I relog or leave, and reconnect nope.
All my debugs are not showing.
code would be helpful
don't remove like that
^
lol if he doesnt wanna listen dont make him his server he's hurting
async 1 != async 2
java syntax doesn't change
ik.
but that's not the best way to do it
so i do for injecting and uninjecting?
some people told me not needed for uninjecting
it is
which channel
so thus
public static void uninjectPlayer(final Player player) {
final Channel channel = getChannel(player);
final Runnable runnable = new Runnable() {
@Override
public void run() {
channel.pipeline().remove(player.getName());
}
};
final PlayerUninjectEvent uninjectEvent = new PlayerUninjectEvent(player);
PacketEvents.getEventManager().callEvent(uninjectEvent);
if (!uninjectEvent.isCancelled()) {
channel.eventLoop().submit(runnable);
}
}
to
if you don't believe me try it with protocollib
i could look it up
oh
submit is handled by the eventloop
so i guess it's better
nope its not better
its worse as there is stilla chance it will execute on the same thread
i remember from learning netty and it explains that too
submit would be better
so basically i did it correct
both would still work but mine will for sure be done on a new thread
is what im trying to say
?
isn't what i just said
u just said that?
yes
considering my plugin using it is live on a few servers and never happened anything to them was a success i guess
🤔
ProtocolLib?
tinyprotocol does it as me
How do i get the time from a bukkit runnable class into my scoreboard (Main class)
Is it possible to change the client timeout time? I'm aware it's possible to change timeout in spigot.yml but that only applies to the server, the clients still timeouts
yeah im having java issues
i tried java 8 AND 11
and its missing libraries
im using PebbleHost
any idea how to fix
28.05 19:07:22 [Server] INFO at me.vagdedes.msw.a.a.onCommand(Commands.java:291) ~[?:?]```
Look on these lines.
oh ok
so 291 on your Commands class and 19 on your FileEncoder class
@fathom zealot that's not a java issue lol. Apache commons is missing from the jar
Or rather, you are using something you shouldn't be. Still, not a java issue
is that even your own code? 🤔
ohh
did you compiled with spigot then used paper?
or the other way around
cuz apparently it's busted
i use spigot 1.13.2
org/bukkit/craftbukkit/libs/org/apache/commons/io/FileUtils
since when does bukkit shade in commons io?
you can stop using them
get rid of FileUtils
see if that solves it
If this isn't even your code, stop using the plugin. Don't know why the dev is telling you to fix their problems.
no its for my mc server
i asked the dev and he said i think its a java issue
because it does work
its not a java issue
like I said, can you try 1.15.2?
if that works the dev just used a library which is not present in older mc versions
pro tip, don't pay this dev again. They don't know what they are doing
and he should refer to other methods for older version support (if he states that the plugin is compatible with your 1.13.2)
hes the same guy who made spartan
ill ask him
best mode for the plugin
version
cause i dont wanna corrupt my worlds yet
just start local test server
ok
dont boot your production server in 1.15.2 lol
ill boot my non-used one
yeah seems odd to me
ok ill try it
but it's strange he said is a java problem
He said its a
ok the lib is present in 1.15.2
tell the plugin maker to either not use that shaded apache commons io or say that its incompatible with 1.13.2
dl 1.13
does com.isun.istack.internal come from Bukkit\Spigot ?
just unzip the jar
for me it's still building
no intelliJ has their own NotNull and Nullable annotations
actually it just says right there AdoptOpenJDK lol
no
If I've got an old PR that I just updated to work with latest, is it OK to force-push?
I had nms-patches and wanted to rebase to make it clean
why search on google when you can make others search for you weSmart
I don't really understand it ... I'm from the Czech Republic
If I've got an old PR that I just updated to work with latest, is it OK to force-push?
I had nms-patches and wanted to rebase to make it clean
@hollow drift eh, don't force push if your absolutely certain the thing you're pushing is the state of the project you want
or just dont force push
The best way to fool-proof and secure your BungeeCord server is using a firewall in order to prevent access to them at all from the outside world. By default, most Linux distros come preinstalled with the easy to use iptables. Once you have everything set up you can activate this firewall with the command below. Replace $BUNGEE_IP with the IP of the server running BungeeCord, if your Minecraft server(s) and Bungeecord are on the same physical server, this IP will be 127.0.0.1. Replace $SERVER_PORT with the port of your Minecraft server.
Where is config where should I write it?
shared hosting?
I have hosting Hicoria
@bronze marten well I'm sure my local copy is in the state I want
the question is can I squash two commits to nms-patches to make it readable
otherwise it's going to be a total mess
but if I squash I have to force
@bronze marten Yes
This plugin was developed by TutorialMakerHD.
Dieses Plugin wurde von TutorialMakerHD programmiert.
settings:
Here you have to specify the IP of your proxy without port.
Hier musst du die IP deiner Proxy ohne Port angeben.
proxyIP: 127.0.0.1
/
|
Should I put the ip address + port of the BungeeCord server here?
Here you can change the kick message, if a player doesn't join through the proxy.
Hier kannst du die Nachricht bearbeiten, die kommen soll, wenn einer Spieler nicht mittels der Proxy joint.
playerKickMessage: '&cYou have to join through the proxy.'
@hollow drift if you built your local copy on top of the branch youre pushing to, I guess its fine, make a backup before you do to be absolutely certain (so you can force push later if you make a mistake)
@bronze marten # This plugin was developed by TutorialMakerHD.
Dieses Plugin wurde von TutorialMakerHD programmiert.
settings:
Here you have to specify the IP of your proxy without port.
Hier musst du die IP deiner Proxy ohne Port angeben.
proxyIP: 127.0.0.1
/
|
Should I put the ip address + port of the BungeeCord server here?
Here you can change the kick message, if a player doesn't join through the proxy.
Hier kannst du die Nachricht bearbeiten, die kommen soll, wenn einer Spieler nicht mittels der Proxy joint.
playerKickMessage: '&cYou have to join through the proxy.'
@soft tusk just ip
i just looked into 1.13
dont repeat msg xd
there is no apache
at least not in craftbukkit libs
@bronze marten And the port should not be there, or where?
no port
ok
Thanks, Frank- I think I'll just ask if they even want it updated
oh its not your repo?
then def ask haha
prob they set their branch to protected (I hope) so no one can force push
does not work 😦
there are multiple plugins which do the job, you could try a few of them
another one
Oh no to be clear it is my repo, my PR :)
I'm mostly just not sure how Bitbucket handles a force-push on a PR'd branch, like any code-level comments that have been made would probably get lost, that kind of thing.
Oh no to be clear it is my repo, my PR :)
I'm mostly just not sure how Bitbucket handles a force-push on a PR'd branch, like any code-level comments that have been made would probably get lost, that kind of thing.
@hollow drift ah, iknow that gitlab still keeps the comments of the code, but it gets fucky if you start clicking through it to get to the actual code file. I dont know hot bitbucket behaves in that way
Well thank you for your advice!
Could someone help me with multiverse world spawning and the problem with Essentials conficting?
@soft tusk could you provide a lil more info on "does not work" xd
like, what does it do that you dont expect?
is there a list of blocks that match Material.isOccluding()?
like the Check if the material is a block and completely blocks vision is not really clear
for example a door completely blocks the view if you look at it from the front
but if you look at it from the side it does not
tryandsee i guess
i dont really test things before i just try and make something first see if it works later ¯_(ツ)_/¯
is there a way to make arrow go through mobs instead of hit it?
yes but it's not easy
1.12+ right?
you need to create a custom arrow
and then modify the movingblockposition method
Could someone help me with multiverse world spawning and the problem with Essentials conficting?
Hello, I made a minecraft server, port forwarded it and added a domain, however once my friends join and they lag out or have to disconnect it doesn't let them join back in because they either get connection timed out java error or something else. That happens to everyone that joins my server, they can't rejoin without me either restarting the server or them launching another minecraft version. Sometimes those methods don't work. I've tried letting my friends join through my public ip but it didn't work either. What's the issue? Can someone help me fix this?
How much ram have you given to the server, what does it say in console when they disconnect and what does it say on their client when they disconnect
6 gigabytes
It doesn't say anything in the console but it says for them: java.net.connectexception connection timed out no further information
or just Timed out
do they actually load into the world
No
then you haven't port forwarded properly
Once they join and reconnect its fucked
i'd recommend just using hamachi
what
Will that fix it?
probably
What does Hamachi do?
better use ngrok
than hamachi
What's ngrok?
What do they both do?
it's like hamachi, but players don't need to install it to join your server
oh
hamachi creates VPN between you and your players so no port forwarding to join, but everyone has to install it
Yeah
ngrok is ssh tunnel that forwards traffic to your 25565 port without port forwarding
How do I use ngrok is there a tutorial?
Can you send it to me?
just google, you should find, it's easy command line tool, it then gives address which you give to players to connect
an Ip?
So I can turn it into a domain?
nop, it gives pretty unfancy address
?
so
like tcp.ngrok.io:455335
hell no
it's good for when playing with friends
I want my own domain
then port forward I guess
I'm hosting a server for random people
I did port forward
It does work
I can turn it into a domain
My friends can join through the domain and the public ip
oh then sorry I just saw hamachi mentioned and came in with wrong advice
but when they reconnect it doesen't let them
since ngrok better than it
So I went here
beacuse it's a spigot server
is no plugins on server?
A few
that could hurt reconnects
tried without?
I'm hosting it on 6 gigabytes
I did
6gb hdd?
Every server I make does that
ram
More than enough for a few players
5-6
on same machine or every server on any machine that is made by you?
Same machine
it may be firewall issue
I haven't tried hosting a server on an other machine
have you touched iptables?
?
What's that?
you're using Linux?
no
Windows
no idea then, I never run servers in windows other than localhost test server
So if I download linux will you guide me how to make a server?
I really don't want to download linux
sure, I've been working with Linux servers for 8 years
I want to be on windows
ok
it's great for servers if you're using it for servers
Oh
Which version
note that I can't guarantee that it'll fix your problem
I use Debian 10 personally
I can't make a difrence between
ok but what's the one you know the best and is capable of hosting a server on?
I'm not experienced at all with linux
Debian is good for it
I've tried it before but never learned it professionally
Do I download it on my 2nd pc or do I make a virtual machine?
My 2nd pc has 2gb ram is it going to handle a whole network tho?
not sure, I've only used linuxes from host providers so far, so I'm of no help how to install the base OS
Bedwars, KitPvP and Prison
nope
Proxy and Lobby 1 and 2
2gb only for proxy xD
and databases
????????????????????????????
homehosting is also dangerous
I have my proxy on 128 or 256
mb
Why is it dangerous tho?
yup, but JVM likes to use more memory than you allocate
have to account for it
Do I look like I can spend money on servers
When I don't get an income