#help-development

1 messages · Page 1624 of 1

quaint mantle
#

listen to them

digital plinth
#

DBs are made of hdds or ssds

#

google confirmed that

dusk flicker
#

lets put it this way, the fastest documented java IO I can find which is using a reader is around 20ms, one database type can do .85

tired dagger
#

I feel like this isn't possible without mods but I'm going to ask anyway. Is there a way to tell when a player manually crashes the game using F3 + C? Obviously there's no like "keylogger" so my idea was to use NMS to get the crash reason and hope the force crash message has a specific message to test for. This is the message you get when you force crash the game so I went to the stacktrace in NMS and tried following along. I have never used NMS before so I'm not really sure how it works nor how to implement it.

digital plinth
#

but they never fucking explain how can u store stuff faster on databases, databases are literally just ssds and hdds?

digital plinth
dusk flicker
#

always

#

IO is slow as shit

digital plinth
#

i dont understand how databases are faster but whatever. the strange thing is

#

my server host

quaint mantle
vast sapphire
#

how do I set a block location variable in an InventoryClickEvent?

quaint mantle
#

huh

#

i mean have you tried

dusk flicker
digital plinth
dusk flicker
#

imajin BING'd it

#

?bing

undone axleBOT
dusk flicker
vast sapphire
# quaint mantle i mean have you tried
    @EventHandler
    public void onClick(InventoryClickEvent event) {
        Player player = (Player) event.getWhoClicked();
        if (event.getView().getTitle().equalsIgnoreCase(ChatColor.AQUA + "GUI test")) {
            event.setCancelled(true);
            switch (event.getCurrentItem().getType()) {
                case IRON_ORE:
                    
                    player.getTargetBlock((Set<Material>)null,6).setType(Material.IRON_BLOCK);
                    event.getWhoClicked().getWorld().dropItemNaturally(blockLocation, new ItemStack(Material.IRON_INGOT));
                    break;

            }
        }

    }``` I need to add my blockLocation variable to the Iron block
digital plinth
#

so the straneg thing is, my server host gives me 2 free DBs and the DBs dont have a storage cap

dusk flicker
#

I presume thats mysql

digital plinth
#

i could literally store 10s of thousand of pentabyest in it

dusk flicker
#

I think thats the standard for most plugins

quaint mantle
#

it has a storage cap

dusk flicker
#

DBs have a cap just they might not advertise it

quaint mantle
#

they dont tell you

digital plinth
#

:/

dusk flicker
#

there def is

#

maybe not on you

#

but on the host

#

DBs dont take up much space, like this is my local testing one and you can see the storage sizes on it

digital plinth
#

all i know

#

they prolly have a bandwidth

dusk flicker
digital plinth
#

like google unlimited drive

#

is it possible for me to store server files on to the DB? I am running out of my hdd and i have 2 free DB which apparently are "unlimited"

dusk flicker
#

No

#

they store structured data

#

Not just random shit

digital plinth
#

huh? okay

dusk flicker
#

you define what a DB can store and it will do it, normally its in a string or something like that

#

mysql is more limited but for my case as I use Mongo I have to store it as JSON

digital plinth
#

well server files are structured too

quaint mantle
dusk flicker
#

It's a key and value thing basically

#

its hashed dumb fuck

#

Lol

quaint mantle
digital plinth
#

so databases arent some new tech that can store any kind of data faster than hdds

#

cool

dusk flicker
#

they store keys and values normally as a string

quaint mantle
#

dbs have been around for like 40 years

dusk flicker
#

also imagine if you dehashed that it would be 127.0.0.1 lol

digital plinth
quaint mantle
#

Jesus christ

dusk flicker
#

Maps are stored in memory

digital plinth
dusk flicker
#

a DB is for persistent non memory based storage

#

unless its redis ofc

digital plinth
#

thx

quaint mantle
#

my eye hurts

dusk flicker
#

why lol

quaint mantle
#

idk

digital plinth
#

now lets see how they respond

#

hehe

dusk flicker
#

who cares?

#

its not like you will ever come close to hitting it

unreal quartz
#

by “unlimited” they most likely mean “unmetered”

#

as long as your use is within reason they don’t care

digital plinth
#

someone can maliciously store a ton of data lul

quaint mantle
#

my right eye hurts whenever i look somewhere

dusk flicker
#

good job imajin

digital plinth
quaint mantle
digital plinth
#

lul

quaint mantle
#

its eye strain

dusk flicker
digital plinth
#

go rest

unreal quartz
#

then get off your pc then

dusk flicker
#

or if local just make it not public

digital plinth
quaint mantle
#

i'd not

digital plinth
#

🤣

dusk flicker
#

you should totally send it in general /s

digital plinth
dusk flicker
#

yes

digital plinth
quaint mantle
#

PES_CoolBiker Waiting for him to do it so I can kick

digital plinth
#

:/

dusk flicker
#

can you not mention me

#

every fucking time

digital plinth
#

i ahve to click it everytime lol

dusk flicker
#

good

digital plinth
#

sry bud

quaint mantle
#

"bud"

quaint mantle
#

thats the worst thing to call someone

#

agree pal

dusk flicker
quaint mantle
#

who are you?

unique kite
#

someone please tell my why everytime one of my classes is mentioned it turns red in intelij

quaint mantle
#

import it

#

?learnjava

undone axleBOT
dusk flicker
quaint mantle
#

LOL

quaint mantle
#

its the meme for me

#

no

#

;( but its funny

#

tHE pErsON tHaT jUST blOckED yOU

digital plinth
#

fucking

#

why

#

i relogged

#

i left this server

#

and rejoined

#

and my fuckin name didnt change

dusk flicker
#

you know theres an amazing thing called the edit button

digital plinth
#

what?

#

i can nick

quaint mantle
#

nah hes being salty idk why

digital plinth
#

my name on other discords are different

#

i changed like

dusk flicker
#

its your forum name

digital plinth
#

the base name

dusk flicker
#

your account is sync'd

digital plinth
#

oh

quaint mantle
unreal quartz
#

looks like you’re stuck being a supa gamer forever

digital plinth
#

i cant change my forum name

#

wow

dusk flicker
#

?changename

undone axleBOT
#

Name changes on the forums are granted to those who have donated to the project. Donations are processed manually and generally take up to 24 hours. The donation widget can be found on the home page of SpigotMC at: https://www.spigotmc.org/.

quaint mantle
#

oh well

digital plinth
#

thats such an amazing feature...

#

i contributed to spigot community :<

quaint mantle
#

one shitty plugin

dusk flicker
#

can you not flood this channel?

digital plinth
#

its 6 now

#

im releasing a new one

quaint mantle
digital plinth
#

i have 3 more under dev

#

md 5 is bad :<

bright jasper
#

Question, Im currently using gradle and i have two projects, core and spigot, spigot depends on core and i want classes from a dependency in core to be accessible in the spigot project

digital plinth
#

im a sad boi

bright jasper
#

but it isnt showing up

quaint mantle
#

stop flooding this channel

digital plinth
#

🦐

#

well I failed

#

obviously

#

i dont need you to remind me of it

#

:/

dusk flicker
#

what?

digital plinth
#

that u?

dusk flicker
#

no

#

I didn't make this

digital plinth
#

just remember the pfp from somewhere

#

okay

dusk flicker
#

ive just had it for 5 years on discord and cba to make a decent one

digital plinth
#

cba?

quaint mantle
#

?cba

undone axleBOT
#

Imajin#0001 definitely regrets to for the most part inform you that unfortunately, they essentially are unable to definitely assist with definitely your enquiry, which essentially is fairly significant. Please simply really ask again later or possibly kind of ask someone else about this enquiry, demonstrating that the person that ran this command generally regrets to kind of inform you that unfortunately, they for the most part are unable to generally assist with actually your enquiry in a subtle way. Thank you very sort of much for kind of your time and the person that ran this command specifically wishes you a really good day, so the person that ran this command really regrets to actually inform you that unfortunately, they literally are unable to definitely assist with very your enquiry, or so they particularly thought.

digital plinth
#

is that a slang?

#

?cba

undone axleBOT
#

SG#9444 definitely regrets to for the most part inform you that unfortunately, they essentially are unable to definitely assist with definitely your enquiry, which essentially is fairly significant. Please simply really ask again later or possibly kind of ask someone else about this enquiry, demonstrating that the person that ran this command generally regrets to kind of inform you that unfortunately, they for the most part are unable to generally assist with actually your enquiry in a subtle way. Thank you very sort of much for kind of your time and the person that ran this command specifically wishes you a really good day, so the person that ran this command really regrets to actually inform you that unfortunately, they literally are unable to definitely assist with very your enquiry, or so they particularly thought.

unreal quartz
#

are you 75

quaint mantle
#

poopy among us fortnite dance!

digital plinth
#

cba can't be arsed ?

digital plinth
unreal quartz
#

ding ding ding

digital plinth
#

im 775

#

oh oops wrong channel

quaint mantle
#

dude be nice

#

then leave?

#

i mean, i'd leave at that point

exotic scroll
#

hello all

quaint mantle
#

hey

#

do you need help or

paper viper
#

You know its bad when Rack says he wants to leave

dusk flicker
#

when did I say that?

quaint mantle
exotic scroll
#

who rack?

paper viper
#

hes one of the best helpers out here..

exotic scroll
#

oh ok

bright jasper
#

Is there a way to use brigaider crossplatform like spigot and fabric at one time

#

I wanna make an adapter for it but no idea how

digital plinth
#

crossplatform stuff ew

exotic scroll
#

lol

bright jasper
#

🤡 ignorance moment

digital plinth
#

if you want serious help

#

go to the discord of the crossplatform program

#

that ur using

quaint mantle
#

so maybe instead of printing loike

#

10000 messages...

#

maybe just leave, or ignore it so someone else can help?

digital plinth
quaint mantle
#

ok but theres thousands of people here

#

so doubting that many people here know that.. is ignorant

dusk flicker
#

You should be able to, you would prob have to implement it into fabric yourself tho

#

@bright jasper sorry for ping just your message is a bit high up

bright jasper
#

fabric uses base brigadier and spigot has commodore, there arent many examples on how to use it on its own which is the problem

#

Plus due to platform agnostic nature I have my own PlatformPlayer class which makes it a little more complicated

#

🙏 so yeah thats that

dusk flicker
#

Spigot should be using brigadier but it might not be accessible through the api

#

Might need to use NMS

slim owl
#

can anyone help me make a plugin 🙂

unkempt peak
slim owl
#

can I show u

#

?

#

in dm

unkempt peak
#

Is this a problem with coding a plugin or a plugin request?

slim owl
#

a plugin request

unkempt peak
#

k

#

dm me

slim owl
#

please someone help me make a plugin

quaint mantle
#

Anyone have a good code example of hypixels color scrolling scoreboard displayname?

torn oyster
#

hey guys

#

i have a list

#

formatted like this

#

{NUMBER}. {PREFIX} {USERNAME} - {TIME}

#

how do i sort it

#

by the {TIME} thing

#

e.g.

quaint mantle
#

what is the list

torn oyster
#
  1. OWNER Quared - 60s
quaint mantle
#

like whats the schema

torn oyster
#

like that

quaint mantle
#

is it a List<String>?

torn oyster
#

actually

#

the list is formatted like this

#

{PREFIX} {USERNAME} - {TIME}

#

mb

#

any ideas?

#

goswimmy

quaint mantle
#

let me try something

#

one min

eternal oxide
#

you want to sort it by a section of the whole string?

torn oyster
#

yea

eternal oxide
#

is the value actually inside the {}?

torn oyster
#

nope

eternal oxide
#

or its just on the end?

torn oyster
#

example

quaint mantle
#

OWNER GoSwimmy - 60s

torn oyster
#

yep

quaint mantle
#

he wants to sort by 60s

#

well 60

torn oyster
#

yea

eternal oxide
#

then use a TreeSet with a comparator

#

instead of a List

torn oyster
#

TreeSet<String> pklb = (TreeSet<String>) parkourLeaderboard;

#

that?

#

lol

#

im tired

bright jasper
#

Making my own crossplatform command framework ig

@Command(
        aliases = {"test"},
        permission = "discordlink.test"
)
public class CommandTest {
    @Default
    public void test(PlatformPlayer player, String name) {

    }

    @Command(aliases = {"sub"})
    public void sub(PlatformPlayer player) {
        
    }
}

what yall think so far

#

🤡

#

supposed to support brigadier in fabric and support normal minecraft whatever in spigot

quaint mantle
#

what do you mean by crossplat?

#

oh thats cool actually

bright jasper
#

its supposed to be platform agnostic so it will work in fabric and spigot

quaint mantle
#

good job!

bright jasper
#

my plugin is supposed to work on multiple platforms so yeah

quaint mantle
#

yee

#

Anyone have a good code example of hypixel's color scrolling scoreboard displayname?

slim owl
#

can anyone help me make a plugin?

quaint mantle
slim owl
quaint mantle
slim owl
#

can I show in dm

quaint mantle
slim owl
#

here watch this video I want to make the dragon in this video

quaint mantle
slim owl
quaint mantle
#

I would recommend getting this made by a service team

slim owl
quaint mantle
#

because there is no way a starter will make this plugin in a timely manner

slim owl
quaint mantle
slim owl
quaint mantle
slim owl
#

ok

eternal oxide
#

?services

undone axleBOT
quaint mantle
#

[00:38:07 ERROR]: Error occurred while enabling AbsenceBasics v1.0 (Is it up to date?)
java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203) ~[?:1.8.0_292]
at dev.bunk.absence.AbsenceBasics.onEnable(AbsenceBasics.java:56) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched.jar:git-PaperSpigot-"4c7641d"]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]

#

help

#

?paste next time please use this

undone axleBOT
quaint mantle
#

but code?

#

no

#

[00:38:07 ERROR]: Error occurred while enabling AbsenceBasics v1.0 (Is it up to date?)
java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203) ~[?:1.8.0_292]
at dev.bunk.absence.AbsenceBasics.onEnable(AbsenceBasics.java:56) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched.jar:git-PaperSpigot-"4c7641d"]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]

#

mmk

#

I can't help without code 🤔

#

o

eternal oxide
#

You need to learn how to read a stacktrace

quaint mantle
#

^

#

no

eternal oxide
#

start at the top and start readng

quaint mantle
#

wat

#

i did

#

then you didn't read right

#

at java.util.Objects.requireNonNull(Objects.java:203) ~[?:1.8.0_292]
at dev.bunk.absence.AbsenceBasics.onEnable(AbsenceBasics.java:56) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[patched.jar:git-PaperSpigot-"4c7641d"]

#

wtyf this eman

eternal oxide
#

yes, what do you think that means?

quaint mantle
#

o i see

#

ye

#

@eternal oxide could you help me rq?

eternal oxide
#

With?>

quaint mantle
#

you ever played hypixel?

eternal oxide
#

no

quaint mantle
#

is ur butt big

#

mineplex?

eternal oxide
#

no

quaint mantle
#

ew

#

ffs

#

fadecloud?

eternal oxide
#

I've never played any hosted servers, other than mine

quaint mantle
#

wait really?

#

weirdo

eternal oxide
#

What do you need help with?

quaint mantle
#

not like the scoreboard

#

just the scrolling displayname

#

like how it scrolls color not text

eternal oxide
#

thats just a scheduled task updating it

quaint mantle
#

yes but how

digital plinth
#

its like

eternal oxide
#

you run a repeatign task

digital plinth
#

a totally new game

#

different from minecraft

quaint mantle
#

I am i mean how do I get the scrolling color over the text?

eternal oxide
#

with a delay of however fast you want teh text to update

#

ah

#

well, I can;t really se in a screenshot hwo that color scrolls, but

quaint mantle
#

bc like I thought of a scroller but i dont think thatll work

eternal oxide
#

you have a 1.7 client?

quaint mantle
#

yes

eternal oxide
#

I'm just firing up a test server that does colour cycling using a scoreboard

quaint mantle
eternal oxide
#

Yep, not difficult

quaint mantle
#

damn im just dumb

eternal oxide
#

ok, join palmergames.com:1

quaint mantle
#

im on 1.17.1...

eternal oxide
#

thats fine

quaint mantle
#

i didnt even know 1.17 was a thing

#

doesnt let me join

eternal oxide
#

ignore teh flames, on teh server, but look at the mobs

quaint mantle
#

I cant join

#

let me change versions

eternal oxide
#

.1 is fine

quaint mantle
eternal oxide
#

oh

#

one sec I'll update server

quaint mantle
#

im opening new launcher

#

its fine

eternal oxide
#

ok

#

?paste

undone axleBOT
eternal oxide
#

see in that code I start a runnable that updates the colour every 5 ticks

quaint mantle
#

yeah but I dont think that will work because its a scoreboard objective displayname not a team

eternal oxide
#

you do exactly the same, but you step your colour change in yoru text, is the only difference

#

works exactly the same, its just text

quaint mantle
#

but wont that change the whole text?

#

to that color

eternal oxide
#

yes, but one step at a time

#

first get yoru text updating colour

#

once you have that working you then make it cycle

quaint mantle
#

hmmm

#

so what i'd do, is i'd split the text at every character

#

add it to a list/arraylist

eternal oxide
#

yes

quaint mantle
#

and then join it by colour codes

eternal oxide
#

then you do a colour change depending on where in teh text the character is

quaint mantle
#

i dont actually know HOW to, but this is how i can picture it being a better system than setting each and every frame of text

quaint mantle
#

and maybe make a String return of getScoreboardTitle()

#

that just returns the list, joined and formatted correctly

#

and update it every 2/3 ticks

eternal oxide
#

You don;t even need to do an array, you could simply insert a colour change into the string based upon length and timer

eternal oxide
#

so change to gold, then change to yellow, then back to white

quaint mantle
#

can I have a code example because this is hard to comprehend for me

quaint mantle
#

because i too get confused

#

so basically, make a repeating task

#

run the repeating task to update the scoreboard name

#

wait let me tell you what I have first

#

ok

#

so I have a repeatingTask

#

just send the code

#

that updates the objective displayname

#

that's all I got so far

quaint mantle
eternal oxide
#

one sec I'll see what I can do

quaint mantle
#

im curious too now on how to make like

#

scrolling text

#

I know how to do scrolling text

#

just not scrolling colors

#

with static text

#

i imagine it'd be the same system just altered

#

how do you do scrolling text?

eternal oxide
quaint mantle
#

wave?

#

wave colours

#

idk

#

lmao

quaint mantle
#

List<String> lines = new ArrayList<>();

#

int i = 15;

#

for(String line : lines);

#

etc.

#

but then I can't update?

#

my update uses teams

#

bc of stupid ass flicker

#

ohhh

#

i see

#

my scoreboard is super simple, it just displays like links

#

so idrc about flicker LOL

#

but yes that's probably not a good idea

#

yeah mine updates the displayname, rank and coins

#

and minigame stats when I get to that 😢

#

whats this

#

ChatColor.BLUE.toString() ?

#

that's gonna return "BLUE" im pretty sure

#

to differentiate teams

#

because Enum.toString()

#

prob

#

returns the ENUMNAME

#

this is always how I've done it so idk tbhj

#

alr

#

as long as it works i guess

#

I prob could change it to "sometext"

#

yeah

#

it works great

#

@eternal oxide any word on the colour

#

scroller

eternal oxide
#

sec

quaint mantle
#

tyt

#

it's so much fun making a custom server apart from the big boys (luckperms, fawe, wg)

quaint mantle
#

WHY?

#

I adore it

#

just make your own perm system @quaint mantle

#

I use to do that but there is no point

#

just add what perms you want into a list, and make permission attachments

#

if it's there and it's better than why not use it>?

#

^ plugins that big

#

not small plugins like Sitting and shit

torn oyster
#

@eternal oxide i got the treeset what do i do

#

what is comparator()?

quaint mantle
#

show all of your code

eternal oxide
#

you create a comparator that compares the time section of your string

torn oyster
#
                TreeSet<String> pklb = new TreeSet<>(parkourLeaderboard);
                pklb.comparator();```
#

idk

#

what to do with comparator

eternal oxide
#

returning -1,0,1 depending on the sort

torn oyster
#

uhm

eternal oxide
#

google java comparators

torn oyster
#

im trying to sort a list

#

from lowest double to highest

#

like this format

#

{PREFIX} {USERNAME} - {DOUBLE}

#

the prefix is sometimes null

quaint mantle
#

mysql ORDER BY function is looking king rn lmao

quaint mantle
sullen dome
#

i know i mentioned this earlier, but why tf is intellij doing such weird things? they're all created like seconds ago, never used, and some of them are saying never used as warning, some are not... the fuck?

oblique pike
#

Can i somehow "simulate" the result of 2 itemstacks being merged by the anvil ?

mortal hare
#

any idea how to build maven repo for 1.16.5, i get errors while building purpur. Ik its a spigot discord but anyone have an idea why im getting Could not obtain git hash while building the via gradlew batch script?

sullen dome
#

but preference..

quaint mantle
mortal hare
#

i would prefer eclipse if its marketplace weren't so dead

#

gosh most of the extensions there are dead links or doesnt work anymore

eternal oxide
quaint mantle
#

Eclipse has a dark mode

#

and it looks pretty good

sullen dome
#

yeah ofc, its cool.. and tbh, it's much easier for people for example, who are starting with java/spigot etc, but i personally prefer intellij, because it has the better code-correct, it looks cleaner

eternal oxide
#

text is teh source string, result is the string you put into your scoreboard

mortal hare
#

any ideas

quaint mantle
#

okay let me try it out!

sullen dome
#

imo, intellij looks way cleaner, and i like clean

eternal oxide
#

actually I see a bug already

quaint mantle
sullen dome
#

i like bugs

#

like i said, eclipse looks a bit "old" to me... idk

eternal oxide
#

thats better

sullen dome
#

cant really get used to it

mortal hare
#

Intellij pros:
Great autocomplete,
syntax highlighting

sullen dome
#

yea

mortal hare
#

clean themes

#

cons:
Eats more ram than 70 chrome tabs

sullen dome
#

eclipse pros:
easier to start with
faster

#

yea

quaint mantle
sullen dome
#

wdym with easier to navigate

mortal hare
#

intellij is pretty easy to navigate imo

quaint mantle
#

IntelliJ

sullen dome
quaint mantle
mortal hare
#

i cloned the 1.16.5 repo

#

from github

#

and executed the command

sullen dome
eternal oxide
quaint mantle
#

yeah

sullen dome
#

also, it is pretty default still, bc i setup my ubuntu like 5 hours ago lol

#

pretty much still setting everying up

mortal hare
#

helllooo

#

pls help me

#

it worked previously

eternal oxide
#

ah ok, sec

sullen dome
#

cant build isn't really telling me smt

mortal hare
#

until 1.17 came

#

i just posted a screenshot

sullen dome
#

where

mortal hare
#

scroll

sullen dome
#

no idea tbh

eternal oxide
#

Nope, that code shoudl work fine

sullen dome
#

idk if the issue is on your side, or on their

mortal hare
#

now i cant add api and NMS to maven

#

unless

eternal oxide
#

Show what you are using

mortal hare
#

i use dirty

#

install package

#

maven goal

quaint mantle
#

I'm getting this @eternal oxide java.lang.StringIndexOutOfBoundsException: offset 9, length 8

eternal oxide
#

show code

quaint mantle
mortal hare
#

does anyone have pom.xml with 1.16.5 purpur repo? i need proper artifactid and groupid

quaint mantle
#

paper 1.16.5 should work with it

eternal oxide
#

Line 65, take the +6 off

mortal hare
quaint mantle
#

so just if (index[0]++ > length) index[0] = 0;

mortal hare
#

subtract one

quaint mantle
#

i know

eternal oxide
#

line 65 take teh +6 off

quaint mantle
#

ahhh

#

okay one sec

#

kinda works kinda doesnt

eternal oxide
#

what is that index[]?

#

index is a single int

quaint mantle
#

it's what it made me change it too

#

idk either

eternal oxide
#

close

quaint mantle
#

very

eternal oxide
#

change the second and third colors

quaint mantle
#

wdym

eternal oxide
#

they are the wrong way around

#

it shoudl be light on each end

quaint mantle
#

what

eternal oxide
quaint mantle
#

im not worried about that right now

#

I just want to get it functioning

eternal oxide
#

yours is light in teh middle, dark on either end

#

you are using other formating than colors?

quaint mantle
#

wdym

eternal oxide
#

Its not a complex question

quaint mantle
#

I'm using hex colors and normal colors

eternal oxide
#

it looks like you are also using bold or something

quaint mantle
#

yes I am

eternal oxide
#

take it out and get it working first

quaint mantle
#

so everything works except the middle 4 chars dont turn color until all 4 chars are shown

eternal oxide
#

ok

quaint mantle
#

I got this to happen

torn oyster
#

why aint this connecting

#
            Properties connectionProps = new Properties();
            connectionProps.put("user", username);
            connectionProps.put("password", password);
            connectionProps.put("testOnBorrow", true);
            connectionProps.put("validationQuery", "SELECT 1");
            connectionProps.put("validationInterval", 60000);
        
            Class.forName("com.mysql.cj.jdbc.Driver");
            setConnection(DriverManager.getConnection("jdbc:mysql://" + host + ":"
                    + port + "/" + database, connectionProps));```
eternal oxide
#

?paste

undone axleBOT
torn oyster
#

it isn't connecting to the database

#

why

quaint mantle
#

use Hikari

eternal oxide
torn oyster
quaint mantle
slim owl
#

can anyone help me make a plugin

quaint mantle
#

@eternal oxide It works!

#

now I just need to add bold

eternal oxide
#

loses bold

quaint mantle
#

let me see

#

one min

eternal oxide
#

add a bold to the beginning of the result string

#

so result = bold + builder.toString();

quaint mantle
#

thank you so much ❤️

eternal oxide
#

nice

torn oyster
quaint mantle
#

not sure 🤔

#

never seen those

torn oyster
#

well

#

how do i keep on refreshing the connection

#

so it doesnt say like

#

"the last connection was successfully made 3932459ms ago"

#

@quaint mantle

quaint mantle
#

just look at the code I sent. It works

torn oyster
#

what code

quaint mantle
torn oyster
#

what is max-pool-size

#

what is min-idle

#

what is max-lifetime

#

what is connection-timeout

quaint mantle
torn oyster
#

no like

#

wait

#

did u put

#

like what are the values

#

for storage.min-idle

quaint mantle
#

config settings

torn oyster
#

yes

#

what are their values

#

are the first two 8?

quaint mantle
#

yes

#

if it's not set in the config it uses the value to the right of it

#

mconfig.getInt("storage.max-pool-size", 8) if storage.max-pool-size isnt set in the config it uses 8

torn oyster
#

k

#

Error:(3,25) java: cannot access com.zaxxer.hikari.HikariConfig

#

wut

quaint mantle
#

did you add it to your pom.xml

torn oyster
#

yea

#

but

#

it isnt working

hardy swan
#

it there a way to get the ender pearl item that is used when thrown

#

ProjectileLaunchEvent doesn't seem to have the actual item used

#

If not, if I put a something into ender pearl item's PDC, will it carry forward to the entity's PDC when thrown?

eternal oxide
#

no

hardy swan
#

sad

drowsy helm
#

it becomes an entity when thrown

summer scroll
#

you need to put the pdc again to the entity ender pearl

drowsy helm
#

diff pdc

quaint mantle
#

Just check the PlayerInteractEvent? If it's a right click with an ender pearl, and it's not cancelled, then it's likely you're throwing an enderpearl.

hardy swan
summer scroll
#

can you just get the shooter from the projectilelaunch?

hardy swan
#

cant even

summer scroll
hardy swan
quaint mantle
#

why overcomplicate it when a InteractEvent would work?

quaint mantle
#

yee

hardy swan
#

I prefer ProjectileLaunchEvent as I could instantly despawn the pearl entity being thrown if the item in hand has certain data, but retain its cooldown

#

lemme think of a work around

plain oxide
#
public class IronDoor {
    public static void ironDoor(Block block){
        Location blockLoc = block.getLocation();
        BlockState blockState = block.getState();
        Openable openable = (Openable) blockState.getData();

        int x = blockLoc.getBlockX();
        int y = blockLoc.getBlockY();
        int z = blockLoc.getBlockZ();

        if(((x == 1062 && z == 1327) && (y == 23 || y == 24)) || ((x == 1057 && z == 1284) && (y == 23 || y == 24))){
            System.out.println("test");
            if(openable.isOpen()){
                System.out.println("open!" + openable.isOpen());
                openable.setOpen(true);
            }else {
                System.out.println("close!" + openable.isOpen());
                openable.setOpen(false);
            }

            blockState.update();
        }
    }
}```

how to open Irondoor?
quaint mantle
main dew
#

How can I find memory leaks

quaint mantle
#

Does no one use google these days?

ionic reef
#

How would I push my project to an already-existing github repository, that my project is not currently connected to?

opal juniper
#

then you can use all the other command

opal juniper
#

Hey so like

#

my linked list is in the reverse order to what i want it to be

#

is there a good way to just inverse it?

#

nvm there is a method under Collections

final acorn
#

Anyone have issues making skulker entities invisible in 1.16.5? method from 1.15.2 no longer working

#
WorldServer world = ((CraftWorld) bl.getWorld()).getHandle();
                EntityShulker entity = new EntityShulker(EntityTypes.SHULKER, world);
                entity.setPositionRotation(bl.getLocation().getX() + 0.5D, bl.getLocation().getY(), bl.getLocation().getZ() + 0.5D);
                entity.setHeadRotation(0);
                entity.setInvisible(true);
                entity.setInvulnerable(true);
                entity.setNoAI(true);
                entity.setSilent(true);
                entity.setFlag(6, true); //Glow
                entity.setFlag(5, true); //Invisibility
                PacketPlayOutSpawnEntityLiving spawnEntityLiving = new PacketPlayOutSpawnEntityLiving(entity);
                ((CraftPlayer)p).getHandle().playerConnection.sendPacket(spawnEntityLiving);
                PacketPlayOutEntityMetadata entityMetadata = new PacketPlayOutEntityMetadata(entity.getId(),entity.getDataWatcher(),false);
                ((CraftPlayer)p).getHandle().playerConnection.sendPacket(entityMetadata);```
#

it just spawns a black shulker, no glow or invisibility

chrome beacon
opal juniper
#

Manually spawning entities GigaBrain

oblique pike
#

Still curious if there is any way i can virtually merge 2 itemstacks as if it would be done through an anvil so i can get a result of that merge

mortal hare
#

as far as i know, without digging into nms no

#

but i bet there's a method

oblique pike
#

fOck

mortal hare
#

inside NMS

#

which can return result item

oblique pike
#

I can PROBABLY use NMS cuz the plugin that i depend on IS using NMS

chrome beacon
#

EcoEnchants?

oblique pike
#

But i've never done that and i feel like if i try it would make me want to jump out of a window

oblique pike
mortal hare
#

there should be a method for it

#

unless its hardcoded to another method

oblique pike
#

in itemstack or not?

mortal hare
#

im not sure

#

i don't actually looked for it

#

but in my theory there should be a method returning the resulting NMS itemstack if two items are incompatible it would return null

#

pls

#

can someone fix my

#

problem

#

with gradlew and purpur

#

it don't know why but while building 1.16.5 version of pupur

#

i get that git hash not found or smth like that

eternal night
#

Did purpur even build with gradle in 1.16.5

mortal hare
#

according to build instructions it does

eternal night
#

Most paper forks only switched post 1.17

#

Ah

mortal hare
#

can i just use purpurclip

#

to get maven repos

#

?

eternal night
#

I mean, did you applyPatches 😅

eternal night
#

Yikes

eternal night
#

XD

#

Happens to the best of us lmao

lavish wave
#

How can I make a plugin, that is multiversion. But for the 1.13-1.17

mortal hare
#

use interface

eternal night
#

If you don't use NMS you should be able to simply code against 1.13 spigot API

mortal hare
#

and implement methods

#

or use reflections if you're sure that the methods are working more or less the same

#

but its not guarantee that it would work on future versions while interface approach would stop you using that plugin while developer updates to newer version

lavish wave
#

But the JRE/JDK version is in the 1.17 different

mortal hare
#

since it wouldnt found a required version clas

#

does 1.17 run only on java 16?

lavish wave
#

yes

mortal hare
#

i think then compile it in java 16

#

it should work with older versions of servers

#

iirc

mortal hare
#

:/

#

i though this was gonna fix it

#

does purpurclip jar do have install argument?

eternal night
#

Concerning it is based on paperclip I'd hope so

lavish wave
mortal hare
#

create an interface with defined methods which are incompatible with versions. implement them in a classes for each version of minecraft. Inside onEnable() method check the bukkit version (OBS) and load the according class with classloader. If not found throw ClassNotFound Exception. Instanciate the class, and voila you have version compatible interface thats handled by each version separately without you needing to create separate jar versions

#

google it

#

there's plenty of examples

#

there's even a youtube video

#

which is quite good

#

idk the link tho

bright jasper
#
    private void registerDynamicCommand(String name, Command command) {
        String bukkitVersion = getServer().getClass().getPackage().getName();
        try {
            Class<?> clazzCraftServer = Class.forName("org.bukkit.craftbukkit." + bukkitVersion.substring(bukkitVersion.lastIndexOf('.') + 1) + ".CraftServer");
            Object craftServer = clazzCraftServer.cast(getServer());
            Object commandMap = craftServer.getClass().getDeclaredMethod("getCommandMap").invoke(craftServer);
            Map<String, Command> knownCommands = (Map<String, Command>) commandMap.getClass().getDeclaredMethod("getKnownCommands").invoke(commandMap);
            knownCommands.put(name, command);
        } catch (ClassNotFoundException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
            e.printStackTrace();
        }
    }
#

finally got this to work

mortal hare
#

just be careful

#

there's bunch of issues with deregistration

#

of commands

#

tab completion gets broken

#

and you need to resend the packet

#

if you deregister command

bright jasper
#

Yeah i know, i needed to do it because im doing some crossplatform stuff so my plugin works on multiple platforms and kinda needed to make my own command framework in the process

mortal hare
#

i've had mine somewhere

#

with nodebuilders

bright jasper
#

I actually could not figure out how to get brigadier to work on spigot

mortal hare
#

bukkit commands are basically wrapped in brigadier

#

which sucks

#

it depends on the version

#

in purpur you can register brigadier commands

#

by accessing datapack command dispatcher

#

there's two types of command dispatchers

bright jasper
#
@Command(
        aliases = {"test"},
        permission = "discordlink.test"
)
public class CommandTest {
    @Default
    public void test(CommandSender sender) {
        sender.sendMessage("lmao");
    }

    @Command(aliases = {"subcommand"})
    public void sub(CommandSender sender) {
        sender.sendMessage("subcommand lmao");
    }
}

this is how im doing it, regular spigot will basically just register a normal command and it will look shittier i guess idk. Fabric will convert the annotations/nesting type stuff into brigadier

mortal hare
#

as far as i saw

bright jasper
#

Theres also stuff for string arguments like @Choice() which accepts a choice array

#

but i didnt finish that yet

mortal hare
#

@bright jasper Any tips for learning annotations

#

they're pretty cool but can't seem to have courage

#

to do so

bright jasper
#

An annotation is basically just a immutable value container

mortal hare
#

any sources

#

i mean

bright jasper
native nexus
#

Annotations are easy peasy, nothing to be afraid about

bright jasper
#

Its not that difficult tbh,

@Retention(RetentionPolicy.RUNTIME)
public @interface Command {
    String[] aliases();
    String permission() default "";
}

this is all it is

#

to get an annotation off something just run thatThing.getClass().getAnnotation(Annotation.class)

mortal hare
#

so you create an annotation by using annotation

#

inception

bright jasper
#

Well Retention is what tells it to keep that annotation in Runtime

bright jasper
#

its not required

#

but you should have it there

mortal hare
#

its an enum

#

can you do it in compile time tho

bright jasper
#

You could, ive never tried

mortal hare
#

it would be way more performance friendly

#

for libraries

bright jasper
#

Its also seversely limited though

#

Most of what you use an annotation for is marking something with extra information you want to access at runtime

lavish wave
#

How can I make a Multiversion Plugin with JDK 16, for the versions 1.17/1.16/1.15/1.14/1.13. When I start 1.13 with JDK 16 is there a error.

chrome beacon
#

Code against 1.13 and compile with Java 8

lavish wave
#

But then 1.17 dont work

chrome beacon
#

It does

#

Java 16 can run Java 8 code

bright jasper
#

Spigot API is not Java 16, minecraft is

#

Minecraft will run at least version 16, which will run your plugin which would be lower

barren moon
#

I dont know if this distance is defined in minecraft

lavish wave
bright jasper
#

Made this

#

Its not finished yet and i hope to just do the yes/no true/false thing with booleans later but yeah

#

Made it in a day I guess

#

Its for my platform agnostic plugin so I kinda had to reimplement stuff

#

The only pitfall i can see is that atm commands can have only ONE level of nesting when it comes to subcommands

#

as in actual subcommands under the main annotated class

gleaming grove
#

what about nested nested commands

bright jasper
#

Yeah just mentioned that, it does not have that yet

#

Ideally id want to make it possible by making a nested class

#

but my plugin does not need it atm so i think its fine

#

I might also be able to make a CommandGroup system where you can group many commands under one CommandGroup and it will kinda be like categories which have infinite nesting

gleaming grove
#

I use this approach, so this way i can do infinite nesting

bright jasper
#

Ah i see

#

Oh yeah the other kinda main thing is that doing argument parsing wont really do well with choices after choices

#

Like if you want a different context to pop up after the first Choice you cant

#

It will be the same tree sorta

slim bough
#

yo

bright jasper
#

I guess I could put many arguments together and do @Predicate("yes") for the last choice but meh

#

id rather keep it simple

slim bough
#

is there a plugin/way to make it so that I can enchant playerheads and they work like helmets?

bright jasper
#

Not like my plugin is super command intuitive lmao

slim bough
#

like provide protection

bright jasper
#

its in the video

#

the subcommands + choices are processed and returned from tab

#

the issue im describing is ideally when you have a choice with like "green" and red lets say you want to give a different context for green and red depending on argument

#

this is why something like brigadier is useful but the way im doing it its not really possible

#

But for my use it works i guess so

unique halo
#

in practice servers like lunar, mineman etc. for their arena creation, do they create an entirely new world for each duel and teleport the players there? or do they copy and paste the same arena in the same world and teleport the players to a different arena each time.

opal juniper
#

It depends

#

Normally

#

They have a world schematic that they paste onto a new world

#

But it depends from server to server

bright jasper
#

In cases like hypixel its just one spigot node on bungee with slime for world schems but thats... something else so

opal juniper
bright jasper
#

Hypixel doesnt for that scenario but some do

opal juniper
#

Seems unlikely and prone to breaking

bright jasper
#

Yeah for sure but its a possibility

#

In hypixel they have one spigot node and use a custom template world loaded which is all in memory called slime

#

So their network just finds an available spigot server with not many duels going on at once and puts players in there

opal juniper
#

By spigot you mean their own custom server

#

It is a fork of very very old spigot yes

bright jasper
#

I mean a spigot node, they are bungeecord and spigot but its MANY bungeecords and spigots at the same time

#

So all bungee proxies connect to all spigot servers

unique halo
#

so for my plugin should i do new world

bright jasper
#

and some servers are dedicated to duels

opal juniper
#

Sure

opal juniper
bright jasper
#

wish this was updated lmao

#

Thats how they do things like housing

unique halo
#

do i have to use that plugin or can i just do like
World newworld = Bukkit.createWorld()

bright jasper
#

Nah make your own world, just make sure to track that world and delete it after

unique halo
#

alright

bright jasper
#

Considering what you are doing you should override the world generator and make it just paste a schematic when the world is created

#

That just places it at 0,0

#

Probably could be cleaner tho but yeh

gleaming grove
#

ok i go to see that, do you want my code? maybe there is something helpful for you

bright jasper
#

Nahnah no need, just wanted to show how i did it for feedback

#

I probably could improve the system imo lmao

gleaming grove
#

ok

unique halo
#

i just wanna make a void world and paste my build

#

but when i creatworld it makes terrain and all

bright jasper
#

I actually do not know how to do it but i know there is a ChunkGenerator class somewhere

#

You are gonna have to do some digging

gleaming grove
#

@bright jasper for now i can only recommand you those things - better make own name, to make import packet less confusing (line 14/15)

  • Make implementation for consoleSender, for sure you will need that in future (line 15)
bright jasper
#

and yeah i do need to do that for 14/15

#

thats why i check if its a player and if not it just passes null which automatically registers as console

slim owl
#

can anyone make me a plugin

eternal oxide
#

?services

undone axleBOT
slim owl
#

I don't have money

gleaming grove
#

@bright jasper and one more thing, if you want to make your plugin more flexible those methods should return Boolen. To see if operation was successful or not

bright jasper
#

Yep i need to do that too

#

i was mainly confused because even if you return false from a command it doesnt show a difference so thats why i didnt do it

gleaming grove
#

yea but in case command is triggered by other plugin like this Boolen result = Bukkit.getServer().dispatchCommand(player, command)

bright jasper
#

i forgot that was a thing

unique halo
# bright jasper You are gonna have to do some digging

ooh i found out how its actually really simple in 1.8 spigot

WorldCreator wc = new WorldCreator("Voidworld");
wc.type(WorldType.FLAT);
wc.generatorSettings("2;0;1;"); //This is what makes the world empty (void)
World newworld = wc.createWorld();
prime mountain
#

hey so i want to define a var in OnEnable and they have my objects access it?

#

define a list OnEnable and have a listener add to it, and other objects to read it

gleaming grove
#

you mean like this?

#

and then Main.getPlugin(Main.class).dataManger

prime mountain
cobalt arch
#

I am making a plugin and I added the spigot api file to my project with eclipse. I used the add external jar option but it does not get added. Can anyone pls help.

prime mountain
#

thats in the same class

#
class Test : JavaPlugin(){
    override fun onEnable() { 
    val example: MutableList<String> = ArrayList()

...

object IS : CommandExecutor {
     override fun onCommand(sender: CommandSender, cmd: Command, lbl: String, args: Array<out String>): Boolean {
example.add("example")
#

@gleaming grove hopefully this makes my intention more clear

gleaming grove
#

what is that language?

prime mountain
#

kotlin but its basically the same as java

#

i can understand java but i have hard time communicating in it

gleaming grove
#

so just make like that

prime mountain
#

in python you would do something like globals()['example = []']

prime mountain
#

and just in a listener it trys to add to the list

gleaming grove
#

and then List<String> list = Main.getPlugin(Main.class).example;

#

use this code in listener

prime mountain
#

why the getPlugin?

gleaming grove
#

to get you plugin object

#

do you know the desing pattern signelton?

prime mountain
#

OOOH GET PLUGIN IS A METHOD FUNCTION MY BRAIN MELTED

#

sorry idk why i looked at that like "what?"

ivory sleet
#

It’s not a real singleton tho

prime mountain
#

so another way to do this this

#
  val example : MutableList<String> = Main.example
#

or well

#

thats not optimal

gleaming grove
#

you can make example as static varable but this is bad approach

ivory sleet
#

Why is that?

prime mountain
#

val example : MutableList<String> = Test().example

#

that way we dont have more duplicates in ram than we need without needing to delete a var

gleaming grove
#

and then Main.example will works

ivory sleet
#

retkid why not just inject your dependencies?

prime mountain
ivory sleet
#

You use kotlin right?

prime mountain
#

yes

ivory sleet
smoky finch
#

So I made a particle that follows a player from a location. It's not a straight line, it keeps track and updates when the player moves.
I wanted to step it up a little and make a wavy effect when it follows the player

new BukkitRunnable() {
    final Location lastLocation = entity.getLocation();
    double theta = 0;
    static final double rate = Math.PI / 10;

    @Override
    public void run() {
        lastLocation.add(Math.sin(theta), 0, 0);
        Vector direction = player.getLocation().toVector().subtract(lastLocation.toVector()).normalize();
        lastLocation.add(direction);

        theta += rate;
        if (theta > Math.PI) theta = -Math.PI;
        
        player.getWorld().spawnParticle(Particle.FLAME, lastLocation, 1, 0,0,0,0);
    }
}.runTaskTimerAsynchronously(plugin, 0L, 2L);

This works when the player moves along the Z and Y axes, but when I move in the X axis it doesn't have the wavy effect. It goes in a straight line and stops time to time (which I'm certain it's because of the sinus curve)

prime mountain
#

I feel like Java has the expectation for anyone to code in it to be stupid and really wants to hold your hand

#

like that is the design philosophy

smoky finch
#

The only thing that bothers me the most is the fact that Java doesn't allow non-final variables inside anonymous classes. It's not even a language limitation, It's straight up just an intentional restriction

#

But I guess these are offtopic #general

gleaming grove
#

other limitation is that you cant create new object from pure generic type

prime mountain
#

also another question

#

can i have multiple functions on one listener object

gleaming grove
#

yes

prime mountain
#

so i only ever need one?

#

alright that makes my life easier

ivory sleet
#

Idk if it’s possible in kotlin either tho

#

Maybe with reified

ivory sleet
#

And ftr easy to solve with an effectively final variable

hybrid spoke
gleaming grove
#

that was simple solution for simple question

hybrid spoke
#

instantiating it directly would be the better way here

  • not making it static
vast sapphire
#

how would I check if a block clicked in a gui is equal to java public List<Material> gens = new ArrayList<Material>(); { gens.add(Material.IRON_ORE); gens.add(Material.DIAMOND_ORE); }

#

I have v if (event.getCurrentItem().equals(gens))

#

i would have to loop through the array with java for (int i = 0; i < 1; i++) but what do I put in the for loop?

ivory sleet
#

use an enum set

#

and then check if the set contains the current item

unreal quartz
ivory sleet
#

yeah the plugin class loader ensures that, but it doesn't magically make it a real singleton

#

of course it works just like a singleton

dense goblet
#

Yes big noobie mistake I was making for years is using lists for everything

ivory sleet
#

lmao

dense goblet
#

Idk how I didn't stumble upon at least a set or something before college

ivory sleet
#

yeah same

#

I used arrays all the time back then, not even lists

dense goblet
#

Oh man lol

#

What if you needed to resize them

ivory sleet
#

yeah

#

I created a new array and then added all the items 😛

dense goblet
#

Lmao

barren moon
#

How can I get a free Entity ID when sending a spawn_entity packet?

quaint mantle
#

Is there a way to slow the day to say like an hour? I want to make a holloweenbmap where it's nighttime for like an hour and when a mob dies from the sun then it let's go of a pressures plate which means times up

vivid temple
#

someone a suggestion for a free spigot hosting that is not my localhost?

dense goblet
#

You'd have to keep track of the current time as a float

#

Every tick increment it by some reduced amount and set the world time to the floor of that number

quaint mantle
#

So maybe like a command that with a timer that adds to the time every few seconds or so?

#

Or actually wait your ideas smoother

dense goblet
#

Or for better compatibility with /time, just store a float that, while it exceeds one, gets 1 subtracted from it and the world time is incremented by 1

#

And every tick add a small amount to it

#

You could also make the day faster by adding more than 1 per tick

quaint mantle
#

Ohh I c, I'll try making it into a command

#

Thanks

silk mirage
#

.