#help-archived

1 messages · Page 30 of 1

wanton delta
#

new Wool

#

im not sure

#

if that is

#

how you do that

#

new ItemStack(GREEN_WOOL)

naive goblet
#

Only god knows

inland meteor
#

Is it possible to run an API in a bungee plugin? Like I'm just wondering whether it is possible

chrome lark
#

That's actually supported

#

Well, was, no idea if it still is

lone rapids
#

Okay, I'm not sure what you mean by implicit else statements troxx, like what the application is here.

chrome lark
#

But, really, you should probably be using the actual material type

#

early return

lone rapids
#

Also, I'll change to GRASS_BLOCK and ==

chrome lark
#

Basically, how many times is that going to check the material? is that needed to check that many times?

wanton delta
#

@lone rapids implicit else means if (this is true) return; //beause this stops anything from below running

#

so in your case

naive goblet
#
if (!statment) {
return; //we return if the statement doesn’t match
}
//continue code```
lone rapids
#

Ye I got that part but I'm not returning anything?

wanton delta
#
    return; //anything below will not run
lone rapids
#

Also, GRASS_BLOCK is not a material for 1.8 I'm pretty sure

naive goblet
#

return is to stop a method from executing code beneath itself

chrome lark
#

You're checking the material type passed in the event every iteration in that for loop

naive stratus
#

Are blocks anchored at the center? Is 0,0,0 in the middle of a block?

chrome lark
#

No

wanton delta
#

no

naive stratus
#

no

wanton delta
#

.5, .5, .5

naive goblet
#

since the method is void we only use return and not return type

naive stratus
#

Okay, thank you

wanton delta
#

it USED to be super weird

#

but now its not. lol

lone rapids
#

So I would use return; in order to stop the PlayerInteractEvent?

wanton delta
#

ya

#

or any void method for that matter

naive goblet
#

Any event we use return;

lone rapids
#

But doesn't it stop if none of the if statements trigger? or when it gets to the end

naive goblet
#

atletas when using the EventHandler

wanton delta
#

take this for example

#

my code will only cancel the event if its not in _bypassCommands

#

or

#

this code

#

not mine

#

lol

lone rapids
#

Well wouldn't the example include if (!(statement))?

wanton delta
#

well

#

depends

lone rapids
#

Ye I guess it doesn't really matter

wanton delta
#

in my case i want cancel the event if its not in bypasscommands

naive goblet
#

Instead of:

if (item.getType() == Material.DIAMOND) {
//code if material is diamond
}

Do this

if (item.getType != Material.DIAMOND) {
return; //stops code if not material diamond
}
//code if material is diamond```
wanton delta
#

if it is, it wont get cancelled as it skips that code

naive goblet
#

Important is to use NOT operator

lone rapids
#

Ye, saves me from doing an extra else statement troxx

#

I see what you mean

naive goblet
#

So we want to reverse whatever we’re actually checking for

lone rapids
#

Alright, let me update my code and see if that changes anything

naive goblet
#

Also consider using && instead of 2 seperate statements

bronze marten
#

Line count

#

Pls max 120 chars ok

lone rapids
#

Does the 'not' statement reverse && to ||? Lol I forget

bronze marten
#

Yes

#

not(A or B) = not(A) and not(B)

naive goblet
#

Kind of but whenever you’re developing big statements try to really think what you’re doing

wanton delta
#

otherwise you could just break them up into two different statements to make it easier to understand

#

but also

#

back to that new Wool thing

#

please do not do that

lone rapids
#

lol one second

naive goblet
#

Think it’s best to learn the best way asap

wanton delta
#

use ItemStack#new

#

since youre using 1.8

#

youll have to manually configure datatypes

naive goblet
#

new ItemStack(Material.WOOL, 1, (short) durability)

#

iirc

#

the durability would choose color

chrome lark
#

oh, 1.8, rip

bronze marten
#

oof material id’s

wanton delta
#

ItemStack(Material, Count, (short) Durability, (byte) Data)

#

you want to use the Data for wool

lone rapids
#

I'm using 1.8 because I want to make plugins for a server that uses 1.8.9, that's the way to go right?

naive goblet
#

yes

wanton delta
#

well you can use 1.8.9

#

but yea

lone rapids
#

Alright, I just did the implicit else or whatever you called them. I will do the itemstack now

wanton delta
#

in case you use NMS youll want to use 1.8.9

#

because R1 is 1.8

#

R2 is 1.8.3

lone rapids
#

I see this NMS word but I don't know what it stands for

bronze marten
#

Just do reflections

wanton delta
#

and R3 is 1.8.9

#

its preference

lone rapids
#

Whenever I launch the server locally it says "Illegal reflective access" or something along those lines lol

chrome lark
#

.8, there was never a .9 server, just a string change

naive goblet
#

It’s called reflection I think. There is a difference between reflections and reflection ?

bronze marten
#

@lone rapids that means someone is trying to make sometimg private public

wanton delta
#

I personally dont prefer reflection

chrome lark
#

General gist atm is to ignore it, plugins need to update and stuff to fix that, but many are pushing that off for reasons

wanton delta
#

because if something changes in the reflected class, it doesnt show up as an error in your syntax

#

and only in console

#

but idk some people do prefer reflection

bronze marten
#

Just read the error

wanton delta
#

i personally dont

naive goblet
#

Well it’s reliable sometimes like making particles in 1.8

wanton delta
#

when i had to update something from 1.12 to 1.15 it was a pain to go through all the reflection changes >.<

naive goblet
#

I do never prefer reflection but sometimes it has a good functionality

wanton delta
#

true

#

there are some things that just will never change

#

but who knows.... we had The Great Packet Rewrite of 1.8 lol

bronze marten
#

The other option is to create seperate classes for each breaking nms xd

wanton delta
#

lmao thats what i did in a plugin i made 3 years ago

bronze marten
#

Cursed

lone rapids
#

What does nms stand for? 😮

wanton delta
bronze marten
#

net.minecraft.server

naive goblet
#

XSeries

subtle blade
#

Never say never

wanton delta
#

but who knows.... we had The Great Packet Rewrite of 1.8 lol
@wanton delta

bronze marten
#

@wanton delta bruh xd

wanton delta
#

honestly the worst part was buildtools

bronze marten
#

Enjoy updating plugin on each mc update xd

subtle blade
#

XSeries
Ew

wanton delta
#

hoenstly the class inside of the version packages has never changed

#

i shouldve used reflection

#

but i wasnt very well knowledgable 3 years ago

#

and i wanted to challenge myself to try doing it that way lol

lone rapids
#

So for the itemstack (short) durability is damage/durability depending on the block and byte data was the color?

naive goblet
#

I did a lot of abstraction and interfacing. I did like 3 layers when only needed 1 or 2 :/

wanton delta
naive goblet
#

@wanton delta just put the durability or damage to 0

naive goblet
#

It’s deprecated

wanton delta
#

yes

#

i know

naive goblet
#

Use short only

wanton delta
#

but hes using 1.8

#

but the data is color

naive goblet
#

It’s still deprecated in 1.8 iirc

wanton delta
#

yes

#

youre right

subtle blade
#

Are you creating wool?

wanton delta
#

yea

subtle blade
#

org.bukkit.material.Wool

lone rapids
#

I'm looking at the 1.7.10 javadoc I think

naive goblet
#

1.8 colors

lone rapids
#

thank you choco

wanton delta
#

yea honestly i take back waht i said

#

just leave it with what youre doing

naive goblet
#

Martoph using the damage is fine

wanton delta
#

...i dont think it is?

subtle blade
#

ItemStack wool = new Wool(DyeColor.BLACK).toItemStack(1);

wanton delta
#

yea he did that originally

#

i thought he was making it in 1.15 so i told him to do it the other way lol

subtle blade
#

ic, ic

#

Should definitely update though. Material.BLACK_WOOL is much nicer 🙂

wanton delta
#

everything is nicer in 1.15

dusty topaz
naive goblet
#

Pvp there is /-:(

lone rapids
#

Choco, you said I was 5 years out of date. If I update does that mean using the 1.15 jar file?

#

But I lose compatibility with 1.8 servers?

wanton delta
#

the fact people want to stick with 1.8 pvp that can be changed with a plugin.... as well as missing out on hundreds of features

#

im not sure i get it

#

screw 1.8 servers

naive goblet
#

@dusty topaz uh damage should be fine. In earlier api you had to seperate iirc

wanton delta
#

theyre legacy

bronze marten
#

Can anyone tell me btw what made MC so slow in starting up from 1.13+? 1.12.2 seemed so much faster lmao

wanton delta
#

they do not deserve support

#

they know that

#

besides

#

dinnerbone is workig on another combat system

subtle blade
#

*Jeb

wanton delta
#

right

#

forgot D:

naive goblet
#

It’s gonna be released when?

wanton delta
#

we dont know

#

but there are snapshots

naive goblet
#

Exactly

wanton delta
#

idk if you know

bronze marten
#

1.8 etc starts up in 2-3sec, 1.13+ 10-12s xd

wanton delta
#

my point is

#

its gonna change again soon

#

so may as well update to 1.15

subtle blade
#

Choco, you said I was 5 years out of date. If I update does that mean using the 1.15 jar file?
But I lose compatibility with 1.8 servers?
Yes and no. If you use 1.15 API methods in your plugins, yes you're limited to 1.15. If you're still using 1.8 API features, your plugins should still work up to your version

naive goblet
#

Well spam pvp is the best :p

subtle blade
#

Bukkit remains as forwards compatible as possible

radiant pollen
#

@bronze marten security?

wanton delta
#

PVP can be changed in 1.9+ with plugins :S

lone rapids
#

It works now guys, thanks for the help troxx, Martoph, FrankHeijden, and ehhh I guess Choco.

naive goblet
#

Nonono

bronze marten
#

Like what? @radiant pollen

naive goblet
#

Doesn’t work as good as if both client and server has the same system

subtle blade
#

EHHH I GUESS!?

#

:((

lone rapids
#

jkjk Thanks for the help

radiant pollen
#

I don't know. I just know that 1.8 requires a lot of fixes for common dupes and game-breaking bugs.

subtle blade
#

I'll remember that

naive goblet
#

Like stellar spigot kappalul

lone rapids
#

💔

bronze marten
#

But how does that help at startup? xd

#

Isnt duping more a runtime thing :P

radiant pollen
#

No idea. The game has also grown since then.

naive goblet
#

I believe during 1.9+ that mojang recoding entire Minecraft and they probably add some good stuff that takes time to load

bronze marten
#

It only happened since 1.13 tho

naive goblet
#

Ok 1.13

#

Than but ya

radiant pollen
#

Even loading a singleplayer world takes more time these days.

naive goblet
#

Well it’s loading fancier now

bronze marten
#

Mmh

naive goblet
#

That defo takes some effort to do

wanton delta
#

ok but world creation time

#

isnt even that bad

naive goblet
#

True

bronze marten
#

World creation is ok

wanton delta
#

out of all the games with loading screens

#

minecraft is pretty fast lol

bronze marten
#

But for already existing worlds bruh

#

How did they add 10seconds of loading time xd

#

Where does it hang :S

wanton delta
#

iirc their main goal was to fix water, lava, and lights not being updated on generatino

naive goblet
#

I believe they ip grab you and will steal ur bank account

bronze marten
#

:O

wanton delta
#

because before youd have a lot of floating water/lava that needed to be updated

#

and a lot of light glitches

#

then they also redid how trees populate

naive goblet
#

I mean RTX was pretty damn awesome

wanton delta
#

i dont have good enough graphics card 😭

naive goblet
#

Ah rip

wanton delta
#

im assuming ur talking about bedrock one

naive goblet
#

Ye

#

I did try it for some seconds then back to coding

wanton delta
#

i think my graphics card could handle it

#

maybe not at 60fps

#

but they block anything lower than rtx 2060 i think

frigid ember
#

Did you guys see CaptainSparklez video he was on like 10 fps the whole time

wanton delta
#

woe is me

naive goblet
#

Let’s go with 1 FPS (:

#

Yeah it’s requiring a lot

#

Does BukkitScheduler take a BiConsumer?

bronze marten
#

Dont think so

naive goblet
#

Dang it

subtle blade
#

Why would you need a BiConsumer?

#

Why would you even need a Consumer? lol

bronze marten
#

consume

#

🍞

naive goblet
#

Yaas

tiny dagger
#

but it makes no sense

#

you can use as many external parameters as you want

#

if you somehow having a biconsumer just execute it in the runnable

wanton delta
#

me sitting here not know what any consumer is 😭

tiny dagger
#

functional programming introduced in java 8

naive goblet
#

L A M B D A S ( <:)

wanton delta
#

ah it consumes

#

literally in the name lmao

naive goblet
#

Imagine if it would do the opposite 🧐

bronze marten
#

Spitter?

wanton delta
#

i still dont really know why youd use it

tiny dagger
#

it has his uses

#

like you can find a lot of uses to it

#

it's like having a method as a field

naive goblet
#

Using functional interfaces will often make your code more compact linewise atleast and it provides some really nice methods

wanton delta
#

oh wow i see now

#

it does look pretty useful

bronze marten
#

Java did a really nice job tbh woth functional stuff

naive goblet
#

I mean methods like forEach is a for loop though so some methods are not that special

subtle blade
#

Why do you need a Consumer for that though? I don't understand. You can already target a Runnable with a lambda

tiny dagger
#

he is doing what i was doing when i was new to java

subtle blade
#

Bukkit.getScheduler().runTask(plugin, () -> {});

bronze marten
#

@naive goblet the foreach is nice with the :: operator

wanton delta
#

ya true

naive goblet
#

yeah .map() and flatMap as well

bronze marten
#

Streams <3

naive goblet
#

== heaven

subtle blade
#

Streams are a nightmare if you overuse them, which a lot of developers do

naive goblet
#

That’s true as well

wanton delta
#

i am probably one of those developers 😭

subtle blade
#

Both in terms of readability and performance

wanton delta
#

actually idk

#

sometimes i dont

tiny dagger
#

i never used streams personally, i feel like it's the same as Optional

bronze marten
#

Uhm

#

Are those even related

naive goblet
#

I did find out about ifPresent() and orElse sometime ago which is very useful

tiny dagger
#

yeah, they are not worth using

naive goblet
#

;-;

bronze marten
#

Optional is cool?

subtle blade
#

It was a bad addition

bronze marten
#

getOrElse is nice

#

But its kinda the same as the sth == null ? default : sth;

#

It do be cleaner tho

naive goblet
#

Ternary

#

I always follow the KIAA and RY principles

wanton delta
#

i usually use streams in place for loops that only have 1 line now that i think about it

lone rapids
#

Hello good sirs, I will reward you with a view of the product you helped me create

wanton delta
#

even though i know its slower

lone rapids
naive goblet
#

Nice

bronze marten
#

I use streams to initialise a variable

lone rapids
#

Oh no, it seems to open on any block that I right click!!

bronze marten
#

Once

lone rapids
bronze marten
#

Static thing

lone rapids
#

Is this the problem?

naive goblet
#

Using the stream with varargs can also be kinda neat

bronze marten
#

@lone rapids change && to ||

wanton delta
#

use || ?

#

yea

bronze marten
#

And use !=

lone rapids
#

But I surrounded the statements in ()

wanton delta
#

instead of !(thing == thing) yea

lone rapids
#

So the && wouldn't be effected

wanton delta
#

use thing != thing

bronze marten
#

Yeah but its cleaner

lone rapids
#

Ok sir

wanton delta
#

no you dont understand

naive goblet
#

Only reason to use !(statment) is if the statement is an instanceof check or if it’s multiply statements you wanna invert

wanton delta
#

if its NOT right clicking a block AND its not glass return

#

instead of

#

if its NOT right clicking a block OR its not glass

#

sometimes it helps to say it out loud

lone rapids
#

Oh

naive goblet
#

I always imagine capitalized letters as someone is screaming them to me

wanton delta
#

i am screaming wdym

lone rapids
#

I know that the ! distributes to everything

wanton delta
#

err

#

just use !=

subtle blade
#

Not quite

wanton delta
#

yea

#

idk how to explain

lone rapids
#

lol

wanton delta
#

you might be thinking of !(condition && condition1)

#

instead of what youre doing

lone rapids
#

^

naive goblet
#

You could use the original statement and then revert it. Then the !() would be useful

wanton delta
#

!(condition) && !(condition1)

lone rapids
#

Yes

naive goblet
#

exp.

lone rapids
#

I learned it like !(a < b) is the same as (a >= b)

bronze marten
#

!(c1 && c2) == !c1 || !c2

wanton delta
#

^^

lone rapids
#

But I guess I didn't account for the '!' apply to a and b

#

Because if a was an int like 7 then it wouldn't do anything

#

! is opposite of? 😮

#

Which is '-'

bronze marten
#

! = “not”

buoyant path
#

java.sql.SQLException: Unknown character set index for field '255' received from server.
What is this ?
this.connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + database, username, password);
here is the line the error is thrown from

public void connect()
            throws SQLException, ClassNotFoundException {
        Class.forName("com.mysql.jdbc.Driver");
        this.connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + database, username, password);
        Bukkit.getLogger().info("SQL Connection opened");
    }```
whole method
wanton delta
#

!(condition && condition1) will run the code (condition && condition1)

buoyant path
#

Sorry for copy paste i couldnt be bothered to type it out again lol

wanton delta
#

!(condition) && !(condition1) will run condition then condition1

buoyant path
naive goblet
#

NOT PASTEBIN

#

It gives me raw epilepsy. Please in the name of god use anything but pastebin

dusty topaz
#

What's the sound for placing an anvil

sharp trout
#

All hail Pastebin.

lone rapids
#

Clang, jkjk

buoyant path
#

i tried to use hastebin

#

it didnt let me save

#

lol

sharp trout
#

Hatebin is kind of broken

#

Yeah

naive goblet
wanton delta
buoyant path
#

this.connection = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + database, username, password);

#

this line right here

bronze marten
#

@buoyant path try to update the mysql jdbc dependency

dusty topaz
#

Ah i suppose it's different in 1.8 old land

wanton delta
#

-_- yea i wouldnt know

buoyant path
#

@bronze marten which version?

#

Im using 5.1.14

bronze marten
#

Try 5.1.30

buoyant path
#

wait

#

im using 5.1.44

#

Ill try 5.1.30 idk why mine isnt working

bronze marten
#

Could also be bcs of updates I guess, if the table isn’t important to you try deleting it and recreating it

naive goblet
#

^ seems more reasonable than a patch would cause this

buoyant path
#

I was gonna create the tables after i established connection to the SQL database

frigid ember
#

If I want to store a list of players that have something enabled for them, how would I do that? I've read that storing players in a List<Player> is bad practice.

bronze marten
#

UUID?

buoyant path
#

Yeah

naive goblet
#

A Set of UUID

frigid ember
#

Okay thanks

#

So that would be Set<String>?

naive goblet
#

UUID

bronze marten
#

Set<UUID> data = new HashSet<>();

naive goblet
#

Set so not a UUID occurs twice

#

Yes

frigid ember
#

Oh I didn't realise getUniqueId returns a Java UUID

wraith dew
#

does PlayerCommandPreprocessEvent.getMessage() contain the '/'?

buoyant path
#

Still having the error

silk gate
#

yes

#

i think

#

let me check lol

#

yeah it does

naive goblet
#

Iron unsure what this means java.sql.SQLException: Unknown character set index for field '255' received from server.

buoyant path
#

I sent the full error below that

#

its a pastebin

naive goblet
#

Don’t make me blind

buoyant path
#

Lol

#

Ill try

vernal spruce
#

boys,how do you handle gui inventorys? Went from usual methods to objects that handle it(own listener and stuff)

#

best way?

frigid ember
#

CommandHandler.java:

  @EventHandler
  public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    // ...
  }

In onEnable in Main.java:

Bukkit.getServer().getPluginManager().registerEvents(new CommandHandler(), this);

But I'm getting an error in the console:
[FlamingHead] FlamingHead v1.0.0 attempted to register an invalid EventHandler method signature "public boolean com.github.aimorris.minecraft_flaming_head.CommandHandler.onCommand(org.bukkit.command.CommandSender,org.bukkit.command.Command,java.lang.String,java.lang.String[])" in class com.github.aimorris.minecraft_flaming_head.CommandHandler

Anyone got any ideas?

vernal spruce
#

You are registering a command as an event?

frigid ember
#

oh wait

#

i'm stupid

#

thanks lol

naive goblet
#

@vernal spruce InventoryHolder is my personal advice

buoyant path
#

its not letting me save the hastebin...

#

im pressing the button and it doesnt work

naive goblet
#

you hatebin

#

Anything but pastebin

#

Make an abstract class for it with some methods that runs onEvents

buoyant path
naive goblet
#

Then when making new invs. Just extend your abstract class and super the params

vernal spruce
#

Hmm how would that look like troxx with the holder? As atm i have a class GuiHandler with a constructor so i can pass some more things with it

#

hmm i see

naive goblet
#

Iron reset your db

buoyant path
#

sb?

#

oh

naive goblet
#

AC sux

#

Stell I’m on phone so will take time

buoyant path
#

theres nothing in my db rn

vernal spruce
#

dont worry gonna look more in depth

#

on other source codes to see

#

what is the most popular way

#

as atm i dont have any problem with having a object handling it but im looking for better if i can

frigid ember
#

Is it bad practice to just have a bukkit runnable constantly cycling through all online players?

naive goblet
#
//abstract class
abstract class AbstractMenu implementa InventoryHolder {
private final Inventory inv;
public AbstractMenu(int size, String title) {
inv = Bukkit.createInventory(this, size, title);
}
public abstract void onClick(InventoryClickEvent r);
@Override public final Inventory getInv() {return inv;}
}
//register this listener once
class MenuListener implements Listener {
@EventHandler public void onClick(InventoryClickEvent e) {
if (e.getInventory().getHolder() instanceof AbstractMenu) { ((AbstractMenu) e.getInventory().getHolder()).onClick(e);}
}
}
}
//some menu
class MenuSome extends AbstractMenu {
public MenuSome() {
super(54, “Some Title”);
}
@Override public void onClick(InventoryClickEvent e) {
//do stuff
}
}```
#

Ik horrible probably some compilation error as wel

#

@vernal spruce this is what you kinda want to do

#

Aimorris why?

#

Why do it constantly

#

@frigid ember

frigid ember
#

Nevermind, I just realised a much better way to do what I'm trying to do

naive goblet
#

(:

vernal spruce
#

hmm so im inheriting from the menu?

velvet halo
#

You could create a MenuItem class with an InventoryClickEvent consumer, then have an ItemStack and a Slot for the position in the inventory

naive goblet
#

Yeah inheritance

buoyant path
#

@naive goblet my db is empty why doesnt it work?

#

it wont connect

#

to it

solid ermine
#

i have a problem with commandsigns. each time i try to do a command,it says This command block already has a position. can u guyz help me?

naive goblet
#

Iron it’s some illegal character I have not a strong clue about it

vernal spruce
#

hmm isnt there some unique identifier on the sign?

solid ermine
#

Idk

vernal spruce
#

to diference them between each other

naive goblet
#

Send some code

solid ermine
#

?

vernal spruce
#

looks more like a plugin help rather than code problem

#

yeah..

#

got spigot link of the plugin?

solid ermine
#

I just shut down my computer can i dm u later?

vernal spruce
#

post here dont dm..

naive goblet
#

^

solid ermine
#

Ok

buoyant path
#

Wtf

solid ermine
#

I'm new to aternos btw

buoyant path
#

illegal character?

naive goblet
#

Can have to do with os

buoyant path
#

Im using db4free for testing and ik all the stuff is right

solid ermine
#

Can i dm someone good with that plugin?

vernal spruce
#

as said post here as its likely for people to go sleep

#

so you wont get help..

solid ermine
#

I may post l8r

naive goblet
#

Yeah good night 😴🥱

solid ermine
#

Good night

vernal spruce
#

2am..

#

say the plugin name

naive goblet
#

Forgot I was sleepy but thx

solid ermine
#

It's 7pm here in canada

vernal spruce
solid ermine
#

Idk i download directly from aternos

#

But ig?

vernal spruce
#

aternos?

naive goblet
#

Aternos peepoPoo

solid ermine
#

Ye

naive goblet
#

It’s kinda whack

#

It has a very brief limitation

vernal spruce
#

is that some free scammy host?

solid ermine
#

Idk

subtle blade
#

@ aternos

naive goblet
#

No form what I know you’re only able to install certain plugins with it

#

And stuff like that

vernal spruce
#

damn its empty for me @subtle blade

solid ermine
#

I agree

naive goblet
#

I’d recommend server pro instead

solid ermine
#

Server pro?

#

Ok thx

naive goblet
#

It’s somewhat better

solid ermine
#

I will start over

#

Thank you

vernal spruce
#

so its basically a hoster with moderated plugins? 😂

naive goblet
#

Yeah atarnos is the toilet:/

#

Yes

vernal spruce
#

@solid ermine dont buy host till you finish it

silk gate
#

aternos has been around for yearrrsssss

solid ermine
#

Host?

vernal spruce
#

i often do my server on local then buy a host for it

naive goblet
#

Outdated and poopy

silk gate
#

I think I used to use them back in like 2011 with my mate

solid ermine
#

Sry for bad english

naive goblet
vernal spruce
#

i don't get it.whats the deal with it? is free?

solid ermine
#

Ok thx

naive goblet
#

But if you want to go all in. VPS is what you should be looking on

silk gate
#

mfw my bot's competitor goes offline and I gain 400 servers in a day

naive goblet
#

Gg wp

silk gate
#

wrong channel nice

frigid ember
#

you can also get super cheap servers from pebblehost but they arent a good quality

vernal spruce
#

does budget matter? that 10e vps from hetzner oh goodness

#

8gb ram

naive goblet
#

Ovh is better I’d say

solid ermine
#

Wait it's not free?

naive goblet
#

Hetzner security isn’t that good

#

Sever pro should be free?

solid ermine
#

Ok

naive goblet
#

Or if they changed it

silk gate
#

wdym hetzner security isn't that good

naive goblet
#

They have a free version

vernal spruce
#

didnt rly care as it was for modpacks

silk gate
#

are you talking abt ddos protection

vernal spruce
#

i needed alot of ram

naive goblet
#

My friend tried ddos and it didn’t do a shit

#

Ovh has much better security and protection

frigid ember
#

Hey guys, I probably asked this before but I forgot. Do I have to check if the hashmap value exists before removing it?

    @EventHandler
    public void onLeave(PlayerQuitEvent e) {
    Player p = e.getPlayer();
    
    if (npcStorage.get(p.getUniqueId()) != null) {
        npcStorage.remove(p.getUniqueId());
    }
    }
silk gate
#

wouldn't use security to talk about ddos

solid ermine
#

Is it only on bedrock edition?

frigid ember
#

I'm trying to create a plugin that, when a player runs a command it will spawn particles around them until they run the command again, which will make the particles turn off.

My current idea is to add the player's UUID to a Set<UUID> when they run the command and have a bukkit runnable that is constantly running through all players in the set to create the particles, and then when they run the command again just remove them from the Set<UUID>. Is there a better way to do what I'm trying to do? By better, I mean more efficient and cleaner code.

naive goblet
#

Right security might the wrong word but ddos attacks then

vernal spruce
#

@frigid ember yeah checking it would be better

frigid ember
#

Alright, thanks

solid ermine
#

Guys is server pro only for bedrock edition? Cuz i am on java

vernal spruce
#

oh boy are you trying to reinvent the cosmetic wheel?

naive goblet
#

@frigid ember It’s probably the best idea in the concept

frigid ember
#

okay

#

@vernal spruce no.

vernal spruce
#

@solid ermine no,it has bedrock but it's mainly java

solid ermine
#

Ok

vernal spruce
#

carefull what you select also yes,it's not free

maiden sky
#

Hey hey hey

I have a problem with my server that runs spigot
when ever a play that’s not op drops a stack of items only 1 appears on the ground
Any solutions?

naive goblet
#

What

#

op drops?

vernal spruce
#

seems like a plugin doing that

proper cobalt
#

operator

vernal spruce
#

rather than spigot

#

does it only give 1 when you pick it up?

maiden sky
#

but the only plugin I have on is a grappling hook one

#

yes

#

It only gives 1 item when you pick it up

vernal spruce
#

try removing the plugin and testing again

maiden sky
#

Ok

solid ermine
#

Thx btw you guyz help me so much

zealous cliff
#

Is it possible to run a server on the 1.16 snapshots? I couldn't find a guide

naive goblet
#

Nope

vernal spruce
#

only official one i think

#

but no spigot

zealous cliff
#

rip, so is the community server a closed beta or something?

vernal spruce
#

yes its for testing

zealous cliff
#

k

naive goblet
#

Stellrow nice resources

finite belfry
#

why do my server restarts itself?

naive goblet
#

Sry couldnt keep myself from not looking (:

vernal spruce
#

theyr shit @naive goblet

#

i need to delete them and remake

naive goblet
#

Rayvel no idea

vernal spruce
#

or reupload

naive goblet
#

Uh I need to find new people to work with :/

vernal spruce
#

also i have quite alot of new ones that i need to post

naive goblet
#

Yeah

finite belfry
frigid ember
#

So this is my current plan:

  Set<UUID> enabledPlayers = new HashSet<>();

  @Override
  public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

    if (sender instanceof Player) {
      UUID u = ((Player) sender).getUniqueId();

      if (enabledPlayers.contains(u)) {
        enabledPlayers.remove(u);
        // How to stop the BukkitRunnable for the player with UUID of u?
      } else {
        enabledPlayers.add(u);
        // Start the BukkitRunnable for the player with UUID of u.
      }

      return true;
    }

    return false;
  }

But I have no idea how I would reference a specific bukkit runnable to stop...

vernal spruce
#

@finite belfry

#

?paste

worldly heathBOT
naive goblet
#

Doesnt work :/

vernal spruce
#

are you sure about keeping the list there?

#

paste doesnt work?

frigid ember
#

Stellrow you talking to me about the list?

vernal spruce
#

@frigid ember You don't stop the runnable for the player,you loop the list

#

so you only care about who is in the list

#

rather than for each player

naive goblet
#

He needs the timer

vernal spruce
#

hmmm you wanna do timer for each player?

frigid ember
#

Wait so I would loop through the set, and then what? Add one particle for each player every loop?

naive goblet
#

yeah would still loop the set

#

But we need the timer for spawning particles

#

If you want to do it consistently

vernal spruce
#

well i thought you had a method for it

#

like doParticle(Player p) so you can call that inside the set loop

solid ermine
#

Guys there is a limit of plugins in server pro

vernal spruce
#

@solid ermine your ram is the limit..

solid ermine
#

?

vernal spruce
#

cant install that many if you dont have enough ram

naive goblet
#

so make a timer where you eventually loop through the Set and spawn particles and the make a command where you can remove Player from set and readd

vernal spruce
#

he kinda has that logic in place

#

he just needs to figure out the looping part

naive goblet
#

it’s plugin limited I think

solid ermine
#

I don't get anything

vernal spruce
#

@naive goblet how come so?

silk gate
vernal spruce
#

i thought hosting companys dont care how many plugnis you install

silk gate
#

@solid ermine just read their website instead of asking us

#

@vernal spruce yah but it's free so

solid ermine
#

I read it

vernal spruce
#

ahh i see

frigid ember
vernal spruce
#

thought its paid

silk gate
#

didn't read it in enough detail then @solid ermine

vernal spruce
#

you would rather need a method doing that for you @frigid ember

#

particles arent my best as i kinda have vectors

#

hate*

naive goblet
#

@frigid ember
BukkitScheduler#runTaskTimer(plugin, ()-> {
Set<T>#stream().forEach(t -> {
//spawn particles
}
}, 0L, 20L);

vernal spruce
#

me hate math 😂

solid ermine
#

I mean for the free version @silk gate

silk gate
#

yes

#

it says on the website

vernal spruce
#

@solid ermine what is the purpose for the server? to play with friends?

silk gate
#

I posted a screenshot

frigid ember
#

@naive goblet but then how would I stop those bukkitrunnables when the player executes the command again?

solid ermine
#

Ye

naive goblet
#

Remove the player from the set

vernal spruce
#

in that case ur better off hosting one yourself or whoever has a more beefyer computer

naive goblet
#

We just spawn particles for everyone in the set

vernal spruce
#

and keep it on while u play on it

finite belfry
frigid ember
#

oh wait I read it wrong

#

I'll give that a try

solid ermine
#

@silk gate can i dm u?

finite belfry
#

please help

silk gate
#

pls dont

solid ermine
#

Ok

#

Sry

silk gate
#

i dont wanna end up being your personal assistant for the next 6 years

solid ermine
#

Ok

#

U can tell me if i'm annoying tho

frigid ember
#

@naive goblet plugin is my main class instance, yeah?

subtle blade
#

Yes

frigid ember
#

Why am I converting the set to a stream before doing foreach?

subtle blade
#

No reason

#

Collections are Iterable and define forEach()

frigid ember
proper cobalt
#

you have two instances of commandhandler

#

one when you set the command in the main class and once more in ParticleCreator

frigid ember
#

Ah I see

#

How would I make sure I'm accessing the same Set of enabled players?

proper cobalt
#

there are a few ways you could do it

#

easiest would probably be to put the set in the main class and then make a constructor in the commandhandler that passes the plugin so you can access the set to add and remove players

frigid ember
#

Why not just make a constructor in the commandhandler that passes the set?

proper cobalt
#

what would you do to pass the information out of commandhandler then?

frigid ember
#

I'm not passing any information out of the command handler?

proper cobalt
#

you need the enabledPlayers for your ParticleCreator

frigid ember
proper cobalt
#

it won't, it's a separate variable

frigid ember
#

oh

#

Well then how do I change the Set in the main class using this?

proper cobalt
#

you'd need to put the set in the main class

#

and then just access the set from there

frigid ember
#

The set is in the main class

proper cobalt
#

yea access that set instead of creating a second one

#

instead of the set have that variable be the FlamingHead plugin

#

and then you can access plugin.enabledPlayers and add/check for players there

silk gate
#

install libssl

#

like it tells you to

jovial trout
#

given an EntityDamageByEntityEvent is it possible to determine the bow that shot the arrow the entity is hit by?

subtle blade
#

Not in the EntityDamageByEntityEvent alone, no

jovial trout
#

what event am i looking for?

#

i know theres an event for when the player draws a bow

#

i dont know what to look for in the javadocs

subtle blade
#

You would have to listen to EntityShootBowEvent (on the MONITOR priority, preferably) and map the projectile's UUID to the ItemStack used to shoot it

#

Then you could fetch the bow from that map in the EntityDamageByEntityEvent using the damager (the projectile)

#

Modifying that mapped ItemStack won't mirror any changes to the actual item in the inventory, that's much more trivial of a task

jovial trout
#

thats quite a lot huh

#

man

silk gate
#

doesn't the arrow entity have a shooter field

#

or projectile

jovial trout
#

protectiles do

#

projectiles

rustic glade
#

It would be nicer if there were an event for having that

jovial trout
#

ah

#

dotrar, youre a smart lad

silk gate
#

oh right you want the bow

#

shooter could've switched hands by now

subtle blade
#

Yes, the bow, not the entity

jovial trout
#

ah

subtle blade
#

That's why I said map it lol

jovial trout
#

i guess i will

silk gate
#

I usually attach the data I want in the arrows metadata

jovial trout
#

thats a good idea

frigid ember
#

Choco

jovial trout
#

and once the arrow makes contact i can just check for the metadata i'm looking for

frigid ember
#

I have a person on spigot who gave me a plugin that had a backdoor

#

Where do I report them?

subtle blade
#

Preferably you report the resource

frigid ember
#

They gave it to me on discord

subtle blade
#

We can't deal with anything off-platform

#

That's outside of our jurisdiction

frigid ember
#

You're going to let this guy get off scot free?

#

There's proof it's him

jovial trout
subtle blade
#

^

#

Discord is an over-glorified web app. Inspect element is not difficult so proof is difficult to grab unless you're actually at Discord where you can link messages

#

Though as far as we're concerned, we cannot do anything

frigid ember
#

I literally have the plugin

subtle blade
#

I understand that

frigid ember
#

With a picture of him sending it

jovial trout
#

report him to discord and have his account taken down

subtle blade
#

Discord is an over-glorified web app. Inspect element is not difficult so proof is difficult to grab

jovial trout
#

they can view the attachment and see its malware

subtle blade
#

I'm not saying you have any reason to manipulate what is being sent but we also can't just assume someone's right

frigid ember
#

He deleted his messages after I screenshotted them

jovial trout
#

too late then

#

discord doesnt act on deleted messages

silk gate
#

yeah way too late lol

#

well

#

no they do

honest cobalt
#

is there a way to link vanilla server to bungeecord? (if it is vanillacord then can someone lmk how to set it up)

jovial trout
silk gate
#

too late for spigot

subtle blade
#

They do if you have the message link

honest cobalt
#

^ no

silk gate
#

@jovial trout press ctrl shift i

jovial trout
#

they dont, sadly

honest cobalt
#

message deleted is deleted

jovial trout
#

@silk gate that's my point

honest cobalt
#

they wont act on it 99% of the time

silk gate
#

oh right ur a different person

#

a

jovial trout
#

discord keeps deleted messages for 7 days and they still won't go retrieve deleted ones

#

i reported something a while ago and got this in response

#

bc it was deleted

silk gate
#

no they delete from DB straight away unless you report the message from in the app

jovial trout
#

untrue

#

they're cached for 7 days

#

as per people i know who work there

subtle blade
#

They will delete from private messages right away iirc

#

We don't do witch hunts either

jovial trout
#

also not true

frigid ember
#

Atleast have a reputation system

silk gate
#

a

frigid ember
#

wow this turned to shit jc

silk gate
#

I will ask spencer

jovial trout
#

feel free

subtle blade
#

I'm sure it would be as effective as the review system on the forums lol

jovial trout
#

he dont work dere no mo

subtle blade
#

"omg this is a fake -rep, can you please remove it?"

silk gate
#

yah I know

#

but

#

jake does

frigid ember
#

thats why everyone uses plugin sites other than spigot nowadays

jovial trout
#

lol

frigid ember
#

no accountability

subtle blade
#

Dude, we literally can't do anything

#

It's on Discord

#

That's like reporting a scam on Skype to Discord

#

The fuck are they going to do?

frigid ember
#

I would literally share my screen with you to show our messages on the app

#

"it's on discord"

subtle blade
#

Sharing doesn't resolve the issue of HTML doctoring

frigid ember
#

"can't do anything"

silk gate
#

you can do some crazy stuff and edit it

frigid ember
#

would literally turn on my camera, show you my face, go on my phone and go through the app there on my iOS device!!

#

still on discord, can't do anything

#

bureaucratic bullshit goin on in here

silk gate
#

you could edit it if you were really determined

subtle blade
#

We cannot ban willy-nilly based on what somebody says without irrefutable evidence. It's much more dangerous

silk gate
#

no one does anything about off platform stuff this isn't limited to spigot

frigid ember
#

there's a level at some point where you couldn't.

#

i'm offering you irrefutable evidence @subtle blade

silk gate
#

you could create a fake discord app if you wanted

frigid ember
#

i could download the discord app from the app store for him

#

: )

silk gate
#

fake app store

frigid ember
#

ok

subtle blade
#

I think you're far too persistent. You shouldn't run software made by someone relatively unknown

jovial trout
frigid ember
#

I didn't run the software

subtle blade
#

That's computers 101

frigid ember
#

I had my developer check it.

#

Don't make assumptions.

silk gate
#

yah most cases it gets instantly deleted

honest cobalt
#

can someone tell me how i can link a snapshot server to bungee?

silk gate
#

in popular servers where msgs are always in cache then yeah it'll probably be cached

honest cobalt
#

i did vanillacord

subtle blade
#

I don't think Bungee supports snapshots?

jovial trout
#

not afaik, ghosty

honest cobalt
#

hm kk

subtle blade
#

arockstar it's not that we have no accountability. If you saw the amount of people we ban in a day, you'd think otherwise

frigid ember
#

vanillacord is off platform, they cannot help you.

subtle blade
#

Though we make those bans based on proper evidence that we can support, generally in the form of a forum message or something to do with our platform

#

Off platform we have no control

#

We'd be none the wiser

frigid ember
#

ok

#

cant say i didn't warn you

#

🤷‍♂️

#

deal with him yourselves

subtle blade
#

If he does anything on Spigot or in this Discord, we will

#

If you ever become a moderator or member of staff on any large & reputable platform, your perspective will change and you'll understand why we won't take action

frigid ember
#

You don't have to prove your "credibility" to me, I've already been a moderator on other websites and I took action against things like this. In extreme cases, you're saying you wouldn't even ban a child pedophile who was blackmailing someone apart of the SpigotMC for their nudes?

#

It'd be off platform, right?

silk gate
#

discord would be better suited to deal with that

jovial trout
#

that escalated

silk gate
#

discord log absolutely everything you do, they have the evidence to go to the police etc

#

spigot don't really have a place in it

wicked sage
#

is there any property you can put on a player that can be temporarily read (in memory is fine) by other plugins? something like a tag?

silk gate
#

@wicked sage metadata

frigid ember
#

It's an extreme case, but the person still breaks the rules and you throw your hands up in the air because "it's off platform"

jovial trout
#

you can attach metadata

wicked sage
#

hmm ok

#

ill look that up

silk gate
#

@frigid ember if it doesn't happen in this guild then spigot have no place

jovial trout
#

mr arockstar i sincerely doubt you arguing with the moderators will change their mind in the slightest

wicked sage
#

isn't metadata linked to a single plugin tho? @silk gate

frigid ember
#

@jovial trout that's an authoritative fallacy, don't appeal to him just because he's a mod

jovial trout
#

if somebody is blackmailing somebody on discord and you try to get their facebook taken down i would love to hear the results

wicked sage
#

livingEntity1.setMetadata("data", new FixedMetadataValue(MainClass.getInstance(), true));

silk gate
#

@wicked sage if you get the instance of the other plugin you can read it

jovial trout
#

@frigid ember i didnt say he was right im saying its futile. thanks

wicked sage
#

ah okay

#

fair enough

subtle blade
#

is there any property you can put on a player that can be temporarily read (in memory is fine) by other plugins? something like a tag?
This was actually the original purpose of metadata 😄

frigid ember
#

@jovial trout Not a good enough analogy. He's literally linked to this discord. It would be more like he messaged me on whatsapp and I told facebook what was going on.

#

You're acting like there's no correlation

silk gate
#

if it didn't happen in here they don't care

frigid ember
#

also you're welcome

subtle blade
#

In extreme cases, you're saying you wouldn't even ban a child pedophile who was blackmailing someone apart of the SpigotMC for their nudes?
This would be at the discretion of the platform on which the distribution occurred. If it was on Discord (outside of this one), that's on Discord and the community where it took place to take action

silk gate
#

go report him to discord and they'll insta disable his account

jovial trout
#

im acting like nothing you say is gonna change anybodys mind and i shouldnt have gotten myself dragged into this in the first place

frigid ember
#

then stay out of it next time lmao

jovial trout
#

i will

silk gate
#

friend of mine uploaded a blank file called keylogger.exe and he got disabled, phone number blacklisted too

subtle blade
#

Keep acting the way you are and you're raring for a kick. Because this discussion is taking place on SpigotMC's Discord where we do have jurisdiction

frigid ember
#

k

keen compass
#

I see everyone is having fun today

subtle blade
jovial trout
#

correct me if im wrong but i dont see a constructor for metadatavalue?

subtle blade
#

FixedMetadataValue

silk gate
#

fixedmetadatavalue

#

a

subtle blade
#

MetadataValue is an (interface?)

#

Abstract class? I don't remember lol

jovial trout
#

ah

#

thank you

subtle blade
#

Depending on what you need, there's also LazyMetadataValue IIRC

keen compass
#

MetadataValue is an interface

jovial trout
#

i dont need it to be lazy

keen compass
#

and you are correct on the lazy one too @subtle blade

subtle blade
#

Right, has an abstract implementation

keen compass
#

kind of on point today 😄

jovial trout
#

i just need to attach a key value pair to a projectile

subtle blade
#

Yea, FixedMetadataValue is fine

storm tulip
#

@subtle blade is there some kinda guide on making a patch? How does on make a PR to spigot exactly or edit it?

subtle blade
#

I really should write up a thread on the metadata API and its original purpose

#

Eh, I've only ever found one good guide on how to contribute. 1 sec

placid owl
#

is the right channel to receive support with troubleshooting ?

jovial trout
#

can we call setMetaData directly or do we need to first get the meta data, check if its empty, and set it back like w/ itemmeta?

#

ignore me

storm tulip
#

okay, I honestly wanna look around first, and learn more about it.
Been in this server a few days and have learned a ton about random things that I didnt know existed

subtle blade
#

(if you're PRing to Bukkit/CraftBukkit, use their directories instead in the root)

jovial trout
#

looks like i cant get the array of all the meta data

subtle blade
#

PR to Spigot only for Spigot-exclusive APIs and server performance improvements

#

I highly recommend you create constants for your keys under the form group:artifact-Key

#

i.e. I used one today as the following, wtf.choco:MyPlugin-ThisWasMyKey

jovial trout
#

quite the long key name but i suppose

#

makes sense

#

polluted namespaces? what is this, C++?

storm tulip
#

hmm okay, i literally dont know what that is

#

the keys

wanton delta
#

if you PR craftbukkit md will make the appropriate patch/fix as well

subtle blade
#

Just an identifier for metadata values

#

Best to be as unique as possible

jovial trout
#

a key is something you attach a value to, so that you can later get that value by looking up the key

storm tulip
#

is this related to patch files? Ive never done that

subtle blade
#

No no no, this is in response to broman lol

jovial trout
#

like if my key is "broman" and the value is, say, a phone number

#

you can later look up my name and get the value, aka my phone number

subtle blade
#

That thread I linked above is the best information you'll find on how to use BuildTools imo

wanton delta
#

choco do u know how dependencies make it to the nexus repo

subtle blade
#

As in non-Spigot dependencies? Plugins?

wanton delta
#

correct

subtle blade
#

You'd have to ask md on that one

wanton delta
#

interesting

#

cuz i see independent devs that ahve their plugin apis on the spigot nexus

subtle blade
#

afaik he will let pretty much anybody that asks

wanton delta
#

i was always curious how they do that

storm tulip
#

yeah I have a pipeline for that

#

if u use jenkins theres a plugin
and teamcity has one too

subtle blade
#

You can just deploy with Maven afaik

storm tulip
#

youre gonna need a vcs server, ci to build and then push if u wanna automate it

silver pollen
#

@subtle blade is it bad practice to use a static hashmap?

placid owl
#

could someone tell me how they know if their spigot server is running versus a standard vanilla server?

subtle blade
#

In most cases, yes, though it depends on your use case ;P

#

Bukkit adds a few commands (/plugins & /version namely)

silver pollen
#

ok

placid owl
#

so I could just type /version into the server console to verify that I am running a spigot server ?

subtle blade
#

Yes

#

Though I think the first line of the server when it starts up says the version

wanton delta
#

is there a situation that you would not know you are running a spigot server?

#

that is my main question

subtle blade
#

lol

silver pollen
#

don't include the slash in console

wanton delta
#

buying an alt was worth it for testing plugins

#

but now i need a 3rd person 😭

subtle blade
#

😦

keen compass
#

other then that, generally the name of the jar is an indicator too

subtle blade
#

Unless you're on a host

#

That doesn't allow for FTP

gloomy girder
#

does anyone know how to shut the entire system off when nobody is on the minecraft server?

silk gate
#

yeah pterodactyl uses server.jar

gloomy girder
#

is there a plugin?

subtle blade
#

(*cough* ATERNOS)

keen compass
#

that is why I said generally, probably wouldn't be reliable on a host that provides them for you

silk gate
#

even on hosts that let you upload your own

wanton delta
#

what is this aternos thing ppl keep mentioning

subtle blade
#

Free server host

silk gate
#

no one changes it from server.jar on pterodactyl

wanton delta
#

oh

keen compass
#

there are some that don't @silk gate

wanton delta
#

its mentioned quite a lot

silk gate
#

most just leave

#

@wanton delta people like free stuff so hey

gloomy girder
#

does anyone know how to shut the entire system off when nobody is on the minecraft server?
@gloomy girder

subtle blade
#

does anyone know how to shut the entire system off when nobody is on the minecraft server?
Sounds like something a plugin shouldn't be able to do

#

Though if you want to just shut down the server, why?

#

You can't turn it back on unless you do so manually which interrupts traffic

gloomy girder
#

i want to shut down the system to save costs

placid owl
#

wait why is aternos free

gloomy girder
#

i have something that auto turns it on already

keen compass
#

@subtle blade unless you make a system that does it for you 😉

wanton delta
#

....how does it turn it on?

#

that seems odd to me

gloomy girder
#

startup script

subtle blade
#

I'm unfamiliar with any plugin that does this, at least publicly available

wanton delta
#

yes but when/how

gloomy girder
#

through discord

silk gate
#

@gloomy girder they're gonna need to wait quite a while for it to load

wanton delta
#

oh

#

thats interesting

keen compass
#

you could have a plugin on the hub that runs a command to console

silk gate
#

their client will time out in that time

gloomy girder
#

they turn it on through discord though too

#

its only for a few people

#

like 10

silk gate
#

ah right

keen compass
#

use DiscordSRV to have a bot, and in that plugin that uses DiscordSRV on the hub, just have it run a command to console to start or stop the server.

wanton delta
#

you could use this

#

and check every like 10 minutes

#

and shut it off the same way you turn it on

subtle blade
wanton delta
subtle blade
#

I'd decompile the plugin just in case to double check no malware but the source seems safe enough

wanton delta
#

mine is from dinnerbone but requires programming knowledge

keen compass
#

I use dynamic services for starting new servers, which I can use to check the status of the server as well 😉

wanton delta
#

and some way to send commands to console remotely which i do not know how to do lol

#

there is a server host that does turn off servers after all players leave

#

i forget what it is

#

but that tells me its possible at least

subtle blade
#

It's actually still actively maintained which I'm surprised about

keen compass
#

Realms does it @wanton delta if no one is on the server if I recall it shutsdown

wanton delta
#

hmm i dont think so

#

ive used realms

#

and realms is almost completely different

gloomy girder
wanton delta
#

oh the dinnerbone mcstatus is a py script

#

i uh did not realize

gloomy girder
#

i just found it

subtle blade
#

Looks fine to me

gloomy girder
#

alright thanks everyone

wanton delta
#

turns out there is a Server#shutdown method

#

the more you know

gloomy girder
#

gonna edit it to shut down the whole pc

subtle blade
#

That's what all these plugins do, Martoph, yes

wanton delta
#

yes but im just saying i did not know that existed lol

placid owl
#

so i installed build tools and what not with the git bash stuff

#

but i could not for the life of me find the spigot.jar file that was referred to over and over

#

does anyone know where that is

wanton delta
#

did you get any errors

#

it should be in the directory you ran buildtools

#

spigot-1.15.2.jar

silk gate
#

@gloomy girder do you have like wake on lan setup to boot it

placid owl
#

yeah so i ran buildtools from my desktop

subtle blade
#

Oh that's a big no no lol

silk gate
#

@gloomy girder

subtle blade
#

Create a folder! ;P It creates a bunch of things

silk gate
#

a

wanton delta
#

lmaoooo

silk gate
#

nice mention discord