#help-archived
1 messages · Page 36 of 1
So i'm updating something from 1.12 to 1.15
and i'm trying to find a replacement nms method that has changed or relocated
i mayve found it but im not exactly sure if its the samething
would anyone know what that does
by chance
Entity#a
@upbeat wyvern, yep. I wrote item.setDisplayName("test") and I still got kicked with that message
Nope
the problem seems to be comming from your client - have you something more detailled in your game logs ?
I have a question. I have always wanted to make a server and i have in the past, is it still worth making one in 2020 through? I was thinking of making a mini games server and i would start of with 2 mini games and work my way up from there i dont really have any cool ideas for mini games so i would use mini games already out there. Would this be worth making and would i even get any players also would the server be able to pay for its self or even make profit?
I'll also need some help if anyone has the time, we're working on a server which has about 15-30 ish people on at a time, it's got 10GB of ram(we're trying to get more) but we are lagging insanely hard with tps between 1 and 8. We just don't know why, if anyone could look at the timings report with me that would be awesome. https://timings.aikar.co/?id=8503508bcaef4ee3989163c185bc85e2#timings
Basically from what I understand a lot of the tps lag was coming from guardians or endermen spawning, but we disabled those since then and it still hasnt done anything
We figure that even though 10gb isnt optimal it shouldnt be lagging this hard
@half marsh Might be some plugins you have causing it
@upbeat wyvern, thanks for the tip. I found a full error. https://pastebin.com/aH1rFbqN
I've looked at those but im also just not sure what to be looking at, i know some plugins like essentials or mcmmo are causing somewhere like 300ms of delay, but we just dont think that makes sense considering last time we made a server like this it went fine
Hey I have been searching for a plugin what allows you to blow up things in warter but I cant find any plz dm a link to any and if anyone says search on Google I have and not found any what work
@zenith siren okay i have an idea - maybe try to init item again, set the properties to an empy array, set the gamemode and the ping
seems to be the information written in the packet
yo so i am kinda confused, i port forwarded and everything but it aint letting me start
And there are servers that support asynchrony, or at least in some way multithreading, for example, chunk loading for each player in their own thread. What could be adequately scaled to classic Dedicate?
C0nn0r, do you have another server running on that port already?
No.
If you've closed your server without running the stop command, it's possible it may still be running in the background
(i.e. hitting the X button on the console window)
My co-founder runs my other factions server.
@upbeat wyvern, this is the code but I still get the error :/
@subtle blade My co-founder runs the other server.
whats the difference between getName and getDisplayName in ProxiedPlayer?
Our IPs aren't the same, but our ports are.
I am trying to make arrows go through players... but only when the arrow comes from a certain player. does anyone know of a way to do this?
25565 is the default one, so, no surprise there.
You can set the displayname but not the name @lofty otter
so if im just reading
Just like spigot
are they the same
i want the players normal username
the one they have with mojang
i thought about using ProjectileHitEvent but setting the colision in the event wont take effect until the next time it triggers
so I just use getName right?
Yes
@rigid notch lmk when you've found the link 😄
does anyone know if ProjectileHitEvent fires before or after ProjectileLaunchEvent?
wot
lol
@zenith siren what happend if you set the username to "test" ? rather than something with "[" ?
PHE is before afaik
@rigid notch wdym?
hmmm
like wdym shared hosting?
hits then damages
paying for one to host 2?
or...?
no
i dont think so, he hosts my other server
what im trying to do essentially is cancel the projectile hit event
that's his job is to host the factions, im hosting skyblock
wdym same host
IP?
port?
or allow the arrow to travel through under certain conditions
@subtle blade Is it possible I am able to delete my account please?
You can report your own account on the forums and request deletion. md_5 is the only one that can do it
Though really, we discourage any deletion as we use your account for archiving purposes if you've contributed to the forums
the port is the same but we aren't on the same host
Otherwise it leaves gaps in threads
@rotund fulcrum You're not on the same network?
no
not on the same IP
we live in the same country, but the states aren't near
how would i do that
Still got it @upbeat wyvern, I just want to say thank you for sticking around
is there such thing as a packet i can send that makes players collidable or not?
But the error remains
@rotund fulcrum make sure the port in your server.properties is the port that you opened
the port that you forwarded
Why is everyone looking now to port forward their server?
I've done it, just got an error
not at all
latest
[17:27:13] [Server thread/INFO]: Starting minecraft server version 1.8.8 [17:27:13] [Server thread/INFO]: Loading properties [17:27:13] [Server thread/INFO]: Default game type: SURVIVAL [17:27:13] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-db6de12-18fbb24 (MC: 1.8.8) (Implementing API version 1.8.8-R0.1-SNAPSHOT) [17:27:13] [Server thread/INFO]: Debug logging is disabled [17:27:13] [Server thread/INFO]: Server Ping Player Sample Count: 12 [17:27:13] [Server thread/INFO]: Using 4 threads for Netty based IO [17:27:13] [Server thread/INFO]: Generating keypair [17:27:14] [Server thread/INFO]: Starting Minecraft server on IPADDRESS:25565 [17:27:14] [Server thread/INFO]: Using default channel type [17:27:14] [Server thread/WARN]: **** FAILED TO BIND TO PORT! [17:27:14] [Server thread/WARN]: The exception was: java.net.BindException: Cannot assign requested address: bind [17:27:14] [Server thread/WARN]: Perhaps a server is already running on that port? [17:27:14] [Server thread/INFO]: Stopping server [17:27:14] [Server thread/INFO]: Saving players
@wanton delta have a look to https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/LivingEntity.html#setCollidable-boolean- LivingEntity#setCollidable
@rotund fulcrum Are there any recommendations how to live when the server is 2 ghz but multi-core?
are you asking me for recommendations? if so, can't give rn receiving help myself
It’s sad because there is no way to find a server with a normal frequency and there are more than enough cores (((
Everyone is asleep
@rotund fulcrum why is the ipaddress set to 25565?
Can you show us your server.properties?
well is the ip address in the server.properties empty
@upbeat wyvern doesnt really accomplish what i need
try making it empty
it has my ipv4
with default port
why
wouldn't that not work?
but i want people to connect
people are going to be playing
they wont be able to connect to my localhost
oh
wat
i didnt know dat
ok
ok saved it in Visual Studio Code
now i start
yep it works
but it's on localhost
no one will be able 2 connect
how
don't think that is a reliable way of doing this
tbh
if you have it port forwarded, it should work
i do
so i was wondering
could running a server on my hardware possibly decrease its lifetime?
or stress it out to the point where something dies?
I was having some issues with my pc not shutting down and a very slow windows launch after running some stuff with heavy load on my server
@wind dock no.
using hardware typically contributes to decreasing its lifetime
don’t overclock and you’re good
best to just not use your computer at all
It'll use resources and if you leave it on too long and it overheats maybe. But that's not a result of running a server, that's a result of a crappy setup tbh.
there is something in my task manager in background processes
called "Start"
tried closing it, it just reopens
don't just close random tasks because you don't know what they are...
that's a windows process
best to just not use your computer at all
I agree. Let's all just shut off our computers
it is earth day... maybe we should?
Yes
Why does AWE spam my chat with the GC when no one is running any commands? :/
it's punishment for using AWE
wtf else am i supposed to use
lol
world edit
Told you.
IT AUTO CONFIGGED

YAY!!!!!
GG
Yeah, it kinda does that. we said it would. ;']
GG
XD
gg
^
@silk bane what should I use instead?
so i'll have a jumpstart
FAWE doesn't work.
just use the regular worldedit
I want to use limits per group.
WorldEdit doesn't support that.
yes it does
no?
how would you change your server name
just use perms
BungeeCord
I'm sending a PlayerListItem packet and it fully works unless I try to set the displayName. Then I get this kick message.
This is the code
@silver pollen That doesn't solve my problem.
I want different world edit limits per group. eg donators can have a higher block limit than defaults.
oh ok - have you tried to use other builds for fawe
FAWE doesn't have a stable release for 1.15.2. So I used AWE, which does.
I have everything setup right, it just spams with garbage collection even though there should be nothing to collect atm.
what is the exact spam?
how often does that occur?
ok i dont know then
I don't know if it is open source or not, but if it is you can just make the runnable have a longer delay. I don't know much about garbage collection
Might just reset my config. Maybe I messed with something.
@zenith siren found it
the problem come from the value of display name
the object isn't a string but a "chat" object
@upbeat wyvern I couldn't find it on the wiki, whats it under
it's the wiki from minecraft protocol
yeah, what page
the fact is we need something like
item.setDisplayName("{\"text\": \"content\"}");```
yes
it works
there should be an implementation of Chat in bungee
in spigot it's PacketPlayOutPlayerInfo
so i looked in the protocol for something similar
Really quick question, what actually defines the player when doing Action.REMOVE_PLAYER
The UUID?
probably
yes only the uuid
there is a gson adapter for the BaseComponent there https://github.com/SpigotMC/BungeeCord/blob/master/chat/src/main/java/net/md_5/bungee/chat/ComponentSerializer.java , i guess we need to use it
@zenith siren java item.setDisplayName(ComponentSerializer.toString(TextComponent.fromLegacyText(username))); this should work
This also works
yeah but there are some little problems with that, like if the name breaks the json
normally this shouldn't happen
err
should this work like this
Team team;
if (entityhuman instanceof EntityPlayer) {
EntityPlayer thatPlayer = (EntityPlayer)entityhuman;
team = thatPlayer.getBukkitEntity().getScoreboard().getPlayerTeam(thatPlayer.getBukkitEntity());
if (team == null || team.allowFriendlyFire()) {
return true;
}
} else {
OfflinePlayer thisPlayer = entityhuman.world.getServer().getOfflinePlayer(entityhuman.getName());
team = entityhuman.world.getServer().getScoreboardManager().getMainScoreboard().getPlayerTeam(thisPlayer);
if (team == null || team.allowFriendlyFire()) {
return true;
}
}
if (this instanceof EntityPlayer) {
return !team.hasPlayer(((EntityPlayer)this).getBukkitEntity());
} else {
return !team.hasPlayer(this.world.getServer().getOfflinePlayer(this.getName()));
}
}```
context
ugh
idk how to give context
hello spigot, if you want to make an agency with me that will be in management and marketing then dm me right now so we can chat about it. thanks.
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
@wanton delta what is the method a ?
it's obfuscated
im trying to figure out the logic behind how an arrow detects if it goes through a player if it has friendly fire
Does anyone know how I make my custom /help command take higher priority than the standard /help that comes with spigot?
and that was the method
Replacing it in the commands.yml file does not seem to be working
what is the class ?
EntityArrow
just gonna repaste
public boolean a(EntityHuman entityhuman) {
Team team;
if (entityhuman instanceof EntityPlayer) {
EntityPlayer thatPlayer = (EntityPlayer)entityhuman;
team = thatPlayer.getBukkitEntity().getScoreboard().getPlayerTeam(thatPlayer.getBukkitEntity());
if (team == null || team.allowFriendlyFire()) {
return true;
}
} else {
OfflinePlayer thisPlayer = entityhuman.world.getServer().getOfflinePlayer(entityhuman.getName());
team = entityhuman.world.getServer().getScoreboardManager().getMainScoreboard().getPlayerTeam(thisPlayer);
if (team == null || team.allowFriendlyFire()) {
return true;
}
}
if (this instanceof EntityPlayer) {
return !team.hasPlayer(((EntityPlayer)this).getBukkitEntity());
} else {
return !team.hasPlayer(this.world.getServer().getOfflinePlayer(this.getName()));
}
}```
oh im sorry
that method is in EntityHuman
called by EntityArrow (in my version line 180)
i am mainly confused why its getting the team of just one player
if (team == null || team.allowFriendlyFire()) {
return true;
}```
seems counterintuitive
i think true means the arrow hit
because if they're not in a team it wants to hit
or if the team allows friendly fire
it wants to hit
can I have your link ? i cannot find a readable version of the file online
if you follow what i mean
teams can ignore friendly fire protection
which is what that checks for
yes i know
so how is it counter intuitive
because its only grabbing the team of the shot player
and isnt comparing it against the shooter
oh wait
nvm
i see where i got confused
if the team allows friendlyfire itll shoot the player no matter what
ofc
yea
@wanton delta so you're trying to "change" the behavior of that method ?
what would be counted as your public IP address? i apparently used a local one when i hosted so no one connected
google what is my ip
did you find how to make the arrow go through the player ? @wanton delta
what do you need help with?
Crouched means you are pressing the shift button
Swimming means you are in the swimming positions
Yeah but what is the difference between setting the pose at index 6 and setting the flag on index 0
hmm let me see the decompiled class
One can be crouched but not sneaking
You can be in the crouched position but not holding the sneak key
oh yea that makes sense
Sneaking under something and letting go of sneak is a good example of this
It will keep you crouched
I think the same applies to the swimming position tbh. If you stand under a trapdoor and flick it on, it will throw you into the "swimming" position
Though there's no true keybind for this
Same logic though
So, for example, If I would see an entity crouched I would set the entity pose and not the flag "crouched"?
correct
Though if you wanted to distinguish between the two when getting that information, you have the getPose() for crouching and Player#isSneaking() if they're holding the sneak button
o wat
that's nms
Oh it is, okay lol
Yes of course
Is there an event called when, let's say, a torch/lever/sign is broken upon it's anchor block being broken? Like if I have a sign on a piece of stone, if I break the stone, is there an event that is called for that sign being broken?
Yes? I think that's a BlockPhysics event?
Though there may be a more specific event
Thanks, will look into it 🙂
@subtle blade Hi there I'm trying to confirm my email on the Spigot Forums and when I press on confirm from my email, it just redirects me another page saying this:
"SpigotMC - High Performance Minecraft - Error
Security error occurred. Please press back, refresh the page, and try again."
What email service are you using? Outlook, Google, ...?
Gmail.

I'm not sure. I don't handle email confirmations or anything so that's likely something for md_5 to answer. Though he's not around atm
@subtle blade Ooo, does he come on this discord?
Occasionally, yes. You might see him send messages in #general from time to time though I think the best point of contact would be to send an email to support@spigotmc.org
I don't know the response time but that's the best spot to ask
I will do that now. I will try another browser to before I send an email.
Yes! Definitely try that 🙂
Is there any plugin what allow players to use tnt to expload blocks under warter
Water
I try google cant find any
PacketPlayOutPlayerListHeaderFooter a = new PacketPlayOutPlayerListHeaderFooter();
try {
Field field = a.getClass().getDeclaredField("header");
field.setAccessible(true);
field.set(a, IChatBaseComponent.ChatSerializer.a("{\"text\":\"test\"}"));
field.setAccessible(false);
} catch (Exception err) {
err.printStackTrace();
}
ep.playerConnection.sendPacket(a);
This just kicks me - no console error
am unsure why
@subtle blade Solved it! 🙂
Perfect! Was it just the browser?
you have debug client log?
@subtle blade Yes, well I just exited out of the browser and ran CCleaner and did the activation in the same browser. I think it was the cookies or cache. 😛
client can log every packet
let me turn thato n
haha
what server hosters would you recommend?
let's go off of this base...
say i only had 15 dollars a month, what would you recommend for server hosting?
I can go off of that ty
ugh, i can't find this option
i want the old old client back 😠
oh nevermind
it was right in front of me
anyone know any good and cheap server hosters?
good, cheap, choose one
oh fuck its 2am already
ah ok
-Dlog4j.configurationFile=D:\config.xml isn't working -.-
i don't know if i'm tired, stupid or both
my plugin acts like it's not there. it's literally one eventhandler
som1 halp me pls
@rotund fulcrum I use OVH SSD VPS 3 and it’s pretty good, 80gb ssd 8gb ram and 2 vcores for $15 a month (or 14 if you buy yearly)
@mossy crane show code
package tech.sshdoes.sandblock;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class SandBlock extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getConsoleSender().sendMessage(ChatColor.DARK_AQUA + "SandBucket has started - Made by SSH#4388 (https://github.com/ssh-sysadmin)");
// Plugin startup logic - Made by SSH#4388
}
@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
Player p = e.getPlayer();
Block b = e.getBlockPlaced();
if(b.getType() == Material.QUARTZ_ORE){
Location loc1 = b.getLocation();
Location loc2 = loc1.subtract(0, 1, 0);
Material underQuartz = loc2.getBlock().getType();
if(underQuartz == Material.QUARTZ_ORE)
loc2.getBlock().setType(Material.SAND);
}
else{
return;
}
}
}
oh
I think I see it
I didn't register the eventhandler
you dont register the listener
sure 😄
show it again..?
it's the same but the eventhandler is registered
okay, so show it
package tech.sshdoes.sandblock;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class SandBlock extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getConsoleSender().sendMessage(ChatColor.DARK_AQUA + "SandBucket has started - Made by SSH#4388 (https://github.com/ssh-sysadmin)");
getServer().getPluginManager().registerEvents(this, this);
// Plugin startup logic - Made by SSH#4388
}
@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
Player p = e.getPlayer();
Block b = e.getBlockPlaced();
if(b.getType() == Material.QUARTZ_ORE){
Location loc1 = b.getLocation();
Location loc2 = loc1.subtract(0, 1, 0);
Material underQuartz = loc2.getBlock().getType();
if(underQuartz == Material.QUARTZ_ORE)
loc2.getBlock().setType(Material.SAND);
}
else{
return;
}
}
}
is the plugin enabled?
then your logic is wrong in your method
Location loc1 = b.getLocation();
Location loc2 = loc1.subtract(0, 1, 0);
public Location add(@NotNull Location vec) {
if (vec != null && vec.getWorld() == this.getWorld()) {
this.x += vec.x;
this.y += vec.y;
this.z += vec.z;
return this;
} else {
throw new IllegalArgumentException("Cannot add Locations of differing worlds");
(or subtract, which does the same but minusing)
you're not getting the block below
you're just modifying the location object to think the y is 1 lower
no you don't
y
should I just use this:
Location loc2 = loc1.getBlock().getRelative(BlockFace.DOWN).getLocation();
Material underQuartz = loc2.getBlock().getType();
if(underQuartz == Material.QUARTZ_ORE)
loc2.getBlock().setType(Material.SAND);
}
what there needs the location
where can u toggle on verbose in luvk perms
@frigid ember link?
well somebody earlier today told me to toggle on that setting
but he didnt specify where to toggle it on
Using default game log configuration client-1.12.xml (outputs XML) ahhhhh
What Avro is saying is that this:
Location loc1 = b.getLocation();
Location loc2 = loc1.subtract(0, 1, 0);
Material underQuartz = loc2.getBlock().getType();
if(underQuartz == Material.QUARTZ_ORE)
loc2.getBlock().setType(Material.SAND);
}```
can be simplified to this:
```java
Block underQuartz = b.getRelative(BlockFace.DOWN);
if (underQuartz.getType() == Material.QUARTZ_ORE) {
underQuartz.setType(Material.SAND);
}```
😄
Lol
SO
end code:
@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
Player p = e.getPlayer();
Block b = e.getBlockPlaced();
if(b.getType() == Material.QUARTZ_ORE){
Location loc1 = b.getLocation();
Block loc2 = loc1.getBlock().getRelative(BlockFace.DOWN);
Material underQuartz = loc2.getType();
if(underQuartz == Material.QUARTZ_ORE)
loc2.setType(Material.SAND);
}
else{
return;
}
}
The else { return; } is also useless by the way 🙂
It would likely be useless there as well ;P
why tho
would the loop keep going?
no workie
imma gonna try the shortened version
yeaaaaaa
doesn't work
what doesn't work?
Did you register the listener?
yupp
Does the plugin show up in the plugin list?
Can we see your code?
package tech.sshdoes.sandblock;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class SandBlock extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getConsoleSender().sendMessage(ChatColor.DARK_AQUA + "SandBucket has started - Made by SSH#4388 (https://github.com/ssh-sysadmin)");
getServer().getPluginManager().registerEvents(this, this);
// Plugin startup logic - Made by SSH#4388
}
@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
Player p = e.getPlayer();
Block b = e.getBlockPlaced();
if (b.getType() == Material.QUARTZ_ORE) {
Block underQuartz = b.getRelative(BlockFace.DOWN);
if (underQuartz.getType() == Material.QUARTZ_ORE) {
underQuartz.setType(Material.SAND);
}
}
}
}
Should work
doesn't
You are using a quartz ore block and not a quartz block right?
yup
and sand and not red sand
no
oke
below the block you're placing
it's supposed to place sand
Oh yeah sorry, I read it the other way
The logic you have now asks if you place quartz ore on quartz ore, it sets the quartz underneath to sand
if I have a spawn living entity packet, is there a way to put that living entity on a scoreboard team
(can also do this via packets)
i dont think there is an add to team packet
the scoreboard team packet has a string collection
could i use the fake entity's uuid?
im not sure if its different considering its a player spawn
you send the TeamPacket with the mode being 3 (add players to team) and send the entity UUID
Btw you should prevent nesting if statements, if you can help it 😛
why so @unreal hedge ?
u talking to me?
no
o
notyou12 lol
yea
?
depends on the case
it's simple
And it doesn't optimize code
depending on what youre doing it can
question: how do I make a loop?
@wanton delta Tell me where it would optimize your code
you're speaking gibberish
Pretty much yeah, makes your code more readable.
im not speaking gibberish 😳
I agree with it being more readable
@near lodge just curious, im pretty new to ProtocolLib, is there a way to set the mode for a protocol lib packetcontainer?
@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
Player p = e.getPlayer();
Block b = e.getBlockPlaced();
if (b.getType() == Material.QUARTZ_ORE) {
Block underQuartz = b.getRelative(BlockFace.DOWN);
if (underQuartz.getType() == Material.QUARTZ_ORE) {
underQuartz.setType(Material.SAND);
}
}
}```
What I tend to do out of habit, usually people initialize variables at the top but I only initialize them when needed, for instance after the first if statement, I'd initialize player lol
otherwise i can just do it the normal way
What do you mean by mode?
@unreal hedge idek why I initalized player
thats ok
I'm not using it
Me neither lol
so
how do I loop the placing sand part
I want to loop a whole if statement
until that if statement just doesn't work
if (underQuartz.getType() == Material.AIR) {
underQuartz.setType(Material.SAND);
}
Is what I want to loop
How many times?
And why?
until UnderQuartz.getType isn't air
So a task?
Pretty sure when you set a block to sand via a plugin, it won't fall unless you update its block state
Oh okay, nice
you can set whether or not to update physics
default it does ig
setType(material, true) //updates physics
the boolean is whether you want to update physics or not
Well you have two options. Use a loop and check how much blocks of sand you'll need then create a task, or just create the task and constantly check.
Wait I think I get what you are trying to do
Also, is it important that the sand falls? Or could you just have all of the air blocks instantly set as sand?
it needs to fall
it's so that a cannon refills itself
so it places sand until it has sand right under it
then, once it has air under it, it starts again
Yeah, you'll need to create a task/scheduler
can you help me with that?
i don't want it to cancel itself
So you want it to keep going, on and on forever?
wait
Then you'll want to cancel it.
🤦♂️
then I make another thing to check if the quartz block is there
to set it to false if it isnt........
I'll just let you find out the hard way lol
I am lazy, you can't expect me to explain all that 😦 And I can barely remember half of it lmao, only just getting back into this 💩
I got this: int taskid = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask
Yes, you use that id when you want to cancel the task
Yes, those are called parameters.
yea, what do I put for them
You see how Bukkit.getServer().getScheduler() returns BukkitScheduler right?
it does?
Yes, it is an instance of a class.
oh, oke
So you then check the apidocs
For that class
Which you can find here https://hub.spigotmc.org/javadocs/spigot/org/bukkit/scheduler/BukkitScheduler.html
You then, check for the method you're trying to use and see what the parameters are (and the description)
Does anyone know anything about dynmap here?
So I did wb fill
With word border plugin
For dynmap
But then I accidently uh shut down my pc
Do I need to wb fill AGAIN?
Or can I just do dynmap fullrender
you should run /wb fill again, if it didn't complete it will continue from where it left off
@ashen ember it completed
But I shut down the pc
(I'm running on own hardware)
So do I need to wb fill again?
so long as it saved the world it should be okay but i would run the fill command again to be sure
But uh fill takes 5 years(exaggeration but it takes a LONG time)
It saved the world
Definetly
but if it hasn't finished you will have to do it again anyway and if it saved when it was rendering it wont take so long if its only got say 6% left to render
if its saved then your good to render your map
Alright
What does wb fill do?
Exactly?
All I know is that I use it before dynmap fillrender
renders your minecraft map out so its pre rendered, your server wont have to generate chunks when players walk out into it
yeah, dynmap will be even bigger too, i think its default config is HD now
This is supposed to take up a lot of ram/cpu right
rendering the map yeah, dynmap not so much
Oh
The wb fill is the rendering part? @ashen ember
Cause that heck ramped up my cpu fan
yeah that fully renders the world upto your set border
once its done your server wont have as much work to do when players are exploring out also
Using this for an smp earth map as well lol
the only downside to pre-rendering is if in a future version of MC they add a new biome for example, you would have to extend the border and render more or have a new world for it
now that's done just run /dynmap fullrender <world>
Shouldn't take up much power but will take time
when rendering your Minecraft Map lagg should be expected yeah
i would use HD, looks a lot nicer
is there a problem going on with the downloads?
Is hd 3d?
32, 2d and caves
not really, i've run HD maps on a low connection in the past and its always been fine
there is something in the settings where you can add compression to the rendering, i had mine set to 80
how big did you set your world border?
Thanks!
np
Uh 1 sec
i just ask because of the storage it takes up rendering HD maps, i rendered a 6000 x 6000 world with it on 0 compression and the size was between 15GB - 20GB of 5kb image files, so long as you have storage you are all good but because there's so many tiny files moving them around can be a pain, its good for hosting though as it only requests the small images to make up the map image as you zoom so the browser isn't loading all the offscreen stuff and becoming leggy
I sent u dimensions @ashen ember
ah 👍 didn't notice
I have my server on a 1 terabyte hdd
So I think I should be fine?
Even though my limit for it is maybe 150gb
yeah
from what you sent your world is just over 10000 x 10000, id think mabey 30GB + another 20 for nether and end at most
you should be fine
thats HD with no compression
Oh ok
@ashen ember so how much would you recommend?
Like what would be a reasonable amount for my world
My server files*
what do you mean?
you mean trim the world so it isnt so big?
Uh no
Like what would be a reasonable amount of storage space to allocate for the server
If I'm using 50 plug-ins and dynmap and such
oh, i use a 120GB SSD and have maps stored on a 1TB Hard Drive
80 gb probably
Like I mean
How much space do you predict I will need
For 50 plugins and dynmap and stuff like that
Plugins are usually a couple kilobytes or megabytes
i would just use whatever is available, your maps are likley going to take up around 40GB on HD if your minecraft world is 10000 x 10000
np, if you have any problems after rendering you can DM me & i'll help out best i can
hi does anyone know a way to convert EnumChatFormat to ChatColor
eh for now im just using ChatColor.getByChar(chatFormat.character)
WrappedDataWatcher wrapped = new WrappedDataWatcher();
wrapped.setObject(MetaIndex.ENTITY_META.getIndex(), WrappedDataWatcher.Registry.get(Byte.class), (byte) 64);
PacketConstructor packetConstructor = ProtocolLibrary.getProtocolManager().createPacketConstructor(PacketType.Play.Server.ENTITY_METADATA, 0, new WrappedDataWatcher(), Boolean.valueOf(true));
PacketContainer glowingPacket = packetConstructor.createPacket(player.getEntityId(), wrapped, Boolean.TRUE);```
does anyone know of a way to increase the length of a glowing affect using packets like this?
(0x40 is the byte flag for glowing)
@wanton delta is this to add glow to an item?
nope spectral glow
i think ive figured it out
i think im sending other metadata packets that override it
Probably something in an update I'm not familiar with lol, nvm
Yeah, I wasn't familiar with Spectral arrows, I don't know much from versions above 1.8, I'm only getting back into developing after a good while
is there a way to generate vanilla structures in a custom generator? I can't seem to find anything
don't use clearlag. If you have item lag, decrease the despawn time @frigid ember
anti-lag plugins that actually work are SAML, LimitPillagers, and VillagerOptimizer (although villageroptimizer is relatively ineffective now that 1.15.2 is a thing_
I'm trying to upload files from a server that I have to Multicraft, but when I enter the server in minecraft I get this: if you wish to use ip forwarding please enable it in your bungeecord config as well
is spigot
enable ur ip
so u can join
if you wish to use ip forwarding please enable it in your bungeecord config
who i can
in ur config
Im having issues with other plugins having libs loaded.
I shade it and relocate the lib toooo
\
[23:49:38 WARN]: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User siuyyxmg_iron already has more than 'max_user_connections' active connections
How can I fix this? I'm using async threads and opening new connections for all my SQL tasks
[23:49:38 WARN]: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User siuyyxmg_iron already has more than 'max_user_connections' active connections
How can I fix this? I'm using async threads and opening new connections for all my SQL tasks
@buoyant path try using a connection pool
HikariCP is a good one 👍
What exactly do they do and why couldnt I just change that value
could someone tell me why this command doesnt work //set %10stone,30%cobble_stone,15%grass_block,%20gravel
in world edit
%10stone hmm?
Also %20gravel
?
oh lol thanks
What exactly do they do and why couldnt I just change that value
@buoyant path connection pool 🤷♀️
also, yes you can change max connection if you own the mysql server
Yeah i see what u mean now
better use connection pool though
but i cant so
Is there like a 1 class resource for it?
using a api seems like trouble lol
??
//set stone%10,cobblestone30%,grass_block%15,gravel%20 it still no work
10%, not %10
oh
still no work
//set stone10%,cobblestone30%,grass_block%15,gravel%20
could you write it for me xD
//set 10%stone,30%cobblestone,15%grass_block,15%gravel
oh thanks
Numbers first, percent middle, then the block name
ok thank you havent used world edit in a while
Used literally every option except the correct one 😅
The right way is always the last one you try
What's the best way to move a plugin to local dev server after maven build automatically?
Do I have to make a script that watches for changes and copies it or is there an easier and better way?
Rather don't change the output dir in the pom
is there anyway to stop world saving when /stop command is executed?
Please help me I just lost my world of minecraft just by changing version
As mentioned in #general, if you didn't backup your world, you can't
Why in the world would you ever want to do that
Stops the world from being griefed or changed which can be nice.
yea
@velvet halo I've made a plugin that do runtime injection into Minecraft's code to do that before
unfortunately Mojang change world saving stuff and now it seems like the way to do it is to patch the server even before it started
I've made a plugin that do runtime injection into Minecraft's code to do that before
That almost sounds like a really, really bad idea
Probably because it is a really, really bad idea lol
Why lol
Anything that changes code at runtime is going to inevitably break something
no, you can't inject it while it's running duh
you need to inject into a class which have not loaded yet
I understand that, but the same applies ;P
I guess it's fine if you know what you're modifying does
^
can somebody help me with placeholder api and bossbar? That's the code and it shows up as (picture below) I've been trying for hours now and I can't get it to work
Parse the placeholder in chat
What do you mean?
/papi parse me %mcmmo_level_fishing%
I've already done /papi ecloud download mcmmo
doing "/papi parse me %mcmmo_level_fishing%" shows the level in chat
but how would I have the level show up in the bossbar? I did the same thing with TitleAPI and it works, but I can't get it to work with any bossbar
this works
but not the bossbar
Will papi automatically update that?
because when a player first joins their mcmmo profile isn't loaded
it takes a few seconds
alright ill try that
Is there an event for mcmmo that checks when experience is gained?
Yea, theres also a profile load event
McMMOPlayerProfileLoadEvent
Listening to that vs onJoin would be better
^
also also, if you've already got mcmmo as a dependency why are you using papi to access their power level?
could just use mcmmos functions for it
I don't know how lol, i just started about a week ago and don't really know much about developing, but i'm starting somewhere, thanks guys
mcmmo doesn't really have a great api right now but you'd just need to look through the source for their user manager
i guess papi works though so nbd
Okay, so I listened to McMMOPlayerProfileLoadEvent instead of onJoin, and it takes about 3 seconds before it loads the bossbar, but it still doesn't show the level
and @velvet halo there is an event that checks when experienced is gained
when you compile mcmmo yourself because you don't want to pay 🙂
wdym?
you should update that every X second anyway though?
he's listening to the levelup event too
ah
that's just for first join
meh, is load event got invoke when load or loaded though
You can cancel it so its while loading, but you can also call #getProfile on it
which forces the rest of the load
I think it's a issue with the mcmmo papi extensions on ecloud, it's got a lot of issues
You should try with electroniccats new mcmmo placeholders
it might be better to runtasklater on loading event?
like update bossbar a sec later then
Yea, if he was using the mcmmo way of getting profiles I'm pretty sure it would work but with papi you'll probably need a task
should be ticks
alright
alright it works! Thanks i used runtasklater
lol i thought it was ms and put 2000 and was waiting forever
😄
How would i do an api call to this with java? https://docs.tebex.io/plugin/endpoints/player-lookup Sorry never done this before.
I have this plugin and I think I have everything set up correctly, but when I put it on the test server it doesn't recognize the command
Did u put it in plugin.yml
yes
main: com.lonnonjamesd.Launch.Main
name: LaunchPlugin
version: 0.1
author: LonnonjamesD
api-version: 1.15
Commands:
Launch:
aliases: lch```
And then in ur main class getCommand(“Launch”).setExecutor()?
The one that extends JavaPlugin
yes
In ur onEnable put that?
// Launch command!
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (label.equalsIgnoreCase("launch") || label.equalsIgnoreCase("lch")) {
if (sender instanceof Player) {
Player player = (Player) sender;
// /launch
if (player.hasPermission("launch.use") || player.hasPermission("launch.*")) {
if (args.length == 0) {
// launch normally
player.sendMessage(ChatColor.LIGHT_PURPLE + "Zoom boy");
player.setVelocity(player.getLocation().getDirection().multiply(2).setY(2));
return true;
// launch [number]
} else {
// launch with the arg they sent
player.sendMessage(ChatColor.DARK_PURPLE + "Zoom boy");
player.setVelocity(player.getLocation().getDirection().multiply(Integer.parseInt(args[0])).setY(2));
return true;
}
} else {
player.sendMessage(ChatColor.DARK_RED + "You don't have access to that boy!");
}
} else {
Player player = (Player) sender;
player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&oConsole Goes Flying!"));
}
}
return false;
}
}```
no I didn't
Its better if u check with cmd.getName tbh
Who can help me cuz i use Shop Plugin but i get this error It was working fine but then it stop https://pastebin.com/Ss7ZCH7b
thats the error
Huh what that
@bronze marten would you know how to fix
@pale plaza
22.04 20:42:08 [Server] INFO Caused by: java.lang.NoSuchFieldError: GRAY_WOOL
22.04 20:42:08 [Server] INFO at conj.shop.events.listeners.Editor.editItem(Editor.java:103) ~[?:?]
Line 103 of Editor
ok what do i do to fix
Yes thats always a great idea @stark lodge
ok
@pale plaza dont use GRAY_WOOL, as it doesnt exist
does it have to extend anything
CommandExecutor iirc
Its also in the tutorial wiki tbh
implements CommandExecutor
@bronze marten I guess that a plugin ??? as i dont think i have any plugin like thta
that
@pale plaza ah, report the plugin to the dev then. You might as well check your config then if it contains GRAY_WOOL or sth
Ok Thanks
Never say just a NullPointer
have you registered your command in your plugin.yml
yes
@stark lodge I think its caps sensitive
main: com.lonnonjamesd.Launch.Main
name: LaunchPlugin
version: 0.1
author: LonnonjamesD
api-version: 1.15
Commands:
Launch:
aliases: lch
usage: "/launch <number>"```
Ur command is Launch in plugin.yml
it is indeed
Eclipse is great
^
Smh
nvm that, same error
I changed Launch to launch
package com.lonnonjamesd.Launch;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
@Override
public void onEnable() {
// startup, reloads, plugin reloads
this.getCommand("launch").setExecutor(new Launch());
}
@Override
public void onDisable() {
// shutdown, reloads, plugin reloads
}
}
public class Launch implements CommandExecutor {
// Launch command!
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
// /launch
if (player.hasPermission("launch.use") || player.hasPermission("launch.*")) {
if (args.length == 0) {
// launch normally
player.sendMessage(ChatColor.LIGHT_PURPLE + "Zoom boy");
player.setVelocity(player.getLocation().getDirection().multiply(2).setY(2));
return true;
// launch [number]
} else {
// launch with the arg they sent
player.sendMessage(ChatColor.DARK_PURPLE + "Zoom boy");
player.setVelocity(player.getLocation().getDirection().multiply(Integer.parseInt(args[0])).setY(2));
return true;
}
} else {
player.sendMessage(ChatColor.DARK_RED + "You don't have access to that boy!");
}
} else {
Player player = (Player) sender;
player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&oConsole Goes Flying!"));
}
return false;
}
}```
player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&oConsole Goes Flying!"));
}
Is it case sens cuz that got caps XD
it's eclipse style this is fine
it isn't
you shall not capitalize package names by the way
it returned true
where is that
Then maven compile with resources?
there is none in eclipse
Bru
we're superior
only if you use mvn or gradle
main: com.lonnonjamesd.Launch.Main
name: LaunchPlugin
version: 0.1
author: LonnonjamesD
api-version: 1.15
Commands:
Launch:
aliases: lch
usage: "/launch <number>"```
@stark lodge commands is also with cap here
could you send me your jar file
I am away for some time now, sorry
@stark lodge which channel do i ask in
public class JsonStorage {
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
public static void write(Path path, Object object) {
try (BufferedWriter bufferedWriter = Files.newBufferedWriter(path, StandardCharsets.UTF_8, StandardOpenOption.CREATE_NEW)) {
GSON.toJson(object, bufferedWriter);
} catch (IOException e) {
e.printStackTrace();
}
}
public static <C> C read(Path path, Class<C> clazz) {
try (BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8)){
return GSON.fromJson(reader, clazz);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
``` Pretty happy with this class, does anyone has any more recommendations?
Hello I have a problem that I have not been able to solve for several days. On my 1.12.2 server I wanted to put a texture pack for all players. However if I launch with spigot no problem the texture pack is downloaded. But if I restart the server without spigot, no trace of the resource pack. I only use spigot for worldedit, otherwise my server is in vanilla with commands blocks.
The pack is in direct download in dropbox or minepack but every time I am in vanilla it does not ask to be downloaded.
Can someone please help me?
Not really spigot related, but is there a worldguard flag to disable magma block damage ?
or any other way i can disable it ?
il need help
there;s the mob-damage flag
A team of hackers are crashing my server with this command : //eval java for(i=0;i<256;i++){for(j=0;j<256;j++){for(k=0;k<256;k++){for(l=0;l<256;l++){ln(pi)}}}}... Is they a way of blocking this command ?
i use the ChatControl plugin to block that
they had no permissions
i'm not sure if its still the case but WE Still runs the calculation even if you dont have the perm
default
Deny them worldedit.calc
u have to block the command before it hits WE
they aren't in wolrdedit.calc
lol thats terrible from worldedit
How can i stop it ?
sec @worn gate
//calc for(i=0;i<256;i++){for(j=0;j<256;j++){for(k=0;k<256;k++){for(l=0;l<256;l++){ln(pi)}}}}
//calculate for(i=0;i<256;i++){for(j=0;j<256;j++){for(k=0;k<256;k++){for(l=0;l<256;l++){ln(pi)}}}}
//calc for(i=0;i<256;i++){for(j=0;j<256;j++){for(k=0;k<256;k++){for(l=0;l<256;l++){ln(pi)}}}}
//calc for(i=0;i<256;i++){for(b=0;b<256;b++){for(h=0;h<256;h++){for(n=0;n<256;n++){}}}}
//solve for(i=0;i<256;i++){for(b=0;b<256;b++){for(h=0;h<256;h++){for(n=0;n<256;n++){}}}}
/worldedit:/calc for(i=0;i<256;i++){for(b=0;b<256;b++){for(h=0;h<256;h++){for(n=0;n<256;n++){}}}}
/worldedit:/solve for(i=0;i<256;i++){for(b=0;b<256;b++){for(h=0;h<256;h++){for(n=0;n<256;n++){}}}}
/worldedit:/eval for(i=0;i<256;i++){for(b=0;b<256;b++){for(h=0;h<256;h++){for(n=0;n<256;n++){}}}}
all commands which can be used
@worn gate what I do is use this plugin https://www.spigotmc.org/resources/chatcontrol™-the-ultimate-chat-plugin-500-000-downloads-1-2-5-1-15-2.271/
And in the commands.txt file inside of the rules folder of the plugin I have some settings that look like this to block the command from running
i dont have time to fully run u through the plugin but if you download it and take a poke around.
also theres way better ways to do regex but thats another story lol
And i just found a way with Wurst Hacked client to get op. Is they a way to block this ?