#help-development

1 messages · Page 845 of 1

wet breach
#

since location as a string adds that 🙂

hollow oxide
#

need help on a dumb thing

    <repository>
        <id>papermc-repo</id>
        <url>https://papermc.io/repo/repository/maven-public/</url>
    </repository>

<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.20.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>

but

Could not find artifact org.bukkit:bukkit:pom:1.20.4-R0.1-SNAPSHOT in papermc-repo (https://papermc.io/repo/repository/maven-public/)

wet breach
#

add spigot

#

repo

hollow oxide
#

how?

#

this ?
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.20.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>

wet breach
#

by adding another repo tag?

#

not sure why you think you can only have one repository

#

but you can add as many repositories to the pom for maven to check that you want

#

also not sure if spigot or paper will have the bukkit api hosted itself

#

since bukkit is pretty much dead and the only reason it is kept around is for legacy reasons

hollow oxide
#

this is why i want to use it

wet breach
#

but, you can use buildtools to obtain the bukkit api though

echo basalt
#

bukkit api is hosted on the spigotmc repo too

#

dw

wet breach
#

I know spigot api is

echo basalt
#

I remember using it when I started

#

org.bukkit:bukkit-api:1.8.8-R0.1-SNAPSHOT

#

sum nlike this

wet breach
#

yeah that is the only one that exists

#

there is no updated ones 😛

echo basalt
#

goes all the way up to 1.15.2

hollow oxide
#

i'm in 1.20.4

echo basalt
#

then use spigot

wet breach
#

anyways, regardless they learned about specifying more then one repo XD

echo basalt
#

org.spigotmc:spigot-api:1.20.4-R0.1-SNAPSHOT

astral scroll
#

someone has used Lamp command?

hollow oxide
#

spigot works but not bukkit

echo basalt
#

spigot-api bundles bukkit

hollow oxide
#

yup but i want to use bukkit.craftbukkit and it is not provided

#

import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;

this precisely

#

not even the right version xDD

echo basalt
#

so you import spigot instead of spigot-api

astral scroll
#

mapped

echo basalt
#

And you need to run buildtools for that

hollow oxide
#

I suck with dependency

echo basalt
#

given you're running maven I'd run the remapped flag

hollow oxide
#

k got it

hollow oxide
hollow oxide
#

how do i fix those two?

echo basalt
#

remove em

#

you don't need them

hollow oxide
#

and how do i fix that?

echo basalt
#

you import spigot and map it to mojang's mappings

#

ezpz

young knoll
#

?nms

hollow oxide
#

already got the build

        <plugins>
            <plugin>
                <groupId>net.md-5</groupId>
                <artifactId>specialsource-maven-plugin</artifactId>
                <version>1.2.2</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>remap</goal>
                        </goals>
                        <id>remap-obf</id>
                        <configuration>
                            <srgIn>org.spigotmc:minecraft-server:1.20.4-R0.1-SNAPSHOT:txt:maps-mojang</srgIn>
                            <reverse>true</reverse>
                            <remappedDependencies>org.spigotmc:spigot:1.20.4-R0.1-SNAPSHOT:jar:remapped-mojang</remappedDependencies>
                            <remappedArtifactAttached>true</remappedArtifactAttached>
                            <remappedClassifierName>remapped-obf</remappedClassifierName>
                        </configuration>
                    </execution>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>remap</goal>
                        </goals>
                        <id>remap-spigot</id>
                        <configuration>
                            <inputFile>${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar</inputFile>
                            <srgIn>org.spigotmc:minecraft-server:1.20.4-R0.1-SNAPSHOT:csrg:maps-spigot</srgIn>
                            <remappedDependencies>org.spigotmc:spigot:1.20.4-R0.1-SNAPSHOT:jar:remapped-obf</remappedDependencies>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>```
#

fucked up the version

echo basalt
#

Hmm I decided to work again on my skyblock shenanigans

#

Might copy the minestom itemstack system

#

I'm thinking, for the ItemMeta system, should I make some sort of MetaValue system where I can have like

default void setCustomName(String name) {
  setValue(MetaValue.CUSTOM_NAME, name)
}
#

Now I want to avoid a Map<MetaValue, Object> but I might need to do it

ivory sleet
#

Yeah doesn’t sponge also have an object mapping approach, just like how minestom is object mapping it.

echo basalt
#

Thinking this

#

I might put the metavalues in the interface

#

Maybe

#

So that leather color would belong to the leathermeta interface instead of allowing any value to be set

hollow oxide
echo basalt
#

did you run buildtools yet

hollow oxide
#

i think so

#

this ?

echo basalt
#

did you run it with the remap tag

hollow oxide
#

java -jar BuildTools.jar --rev 1.18.2 --remapped

this

#

java -jar BuildTools.jar --rev 1.20.4 --remapped ||in the right version||

wet breach
#

?bootstrap

undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

ivory sleet
# echo basalt

Nice except shouldn’t it be Integer since custom model data can be null, just a lil nitpick but else nice

echo basalt
#

I guess?

wet breach
#

primitives can't be null

#

I think its better that it returns 0 instead of null

ivory sleet
#

yes but custom model data may be absent on an item stacks data

#

its not

echo basalt
#

There you go

ivory sleet
#

you really wanna represent its absence and the fact that it can be zero as two separate cases

echo basalt
#

ugh

#

that getCustomModelData should compare to null

wet breach
#

but yeah since you changed it to Integer that would be correct

echo basalt
#

my old approach was to store every single field so eh

#

I'd rather just write it in a future-proof way

#

this has been stagnating my project for way too long

#

time to do it all over again with guis

hollow oxide
echo basalt
#

this would've been so much easier if I just compromised and locked into spigot

#

oh well

#

that one minestom user will appreciate

wet breach
#

lol

wet breach
#

the first post leads you to the second in how to setup your pom

#

and obtain the remapped stuff

hollow oxide
#

yup, copy pasted and nothing changed

#

looking like this

echo basalt
#

I guess the cool thing of this item builder is that I can make it immutable by just making the setValue method return a new copy

#

or somn

hollow oxide
#

Could not find artifact org.spigotmc:spigot-api:jar:remapped-mojang:1.20.4-R0.1-SNAPSHOT in spigot-repo (https://hub.spigotmc.org/nexus/content/repositories/snapshots/)

for this part:

<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>papermc-repo</id>
<url>https://papermc.io/repo/repository/maven-public/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
</repositories>

what's wrong?

bleak stream
#

Send the dependencies too

hollow oxide
chrome beacon
#

Remove -api from spigot

quartz solstice
#

Hi, does anyone know how to cancel a schedule sync repeating task (sorry for the dumb question, this.cancel() was not working btw)

hollow oxide
#

still having problems

#

BUT a lot of them are resolved so i'm happy actually

primal ermine
#

hi. I'm facing weird issue while making 2fa sensitive commands system.
When executing p.chat(command); or p.performCommand(command); and using /op player as command, player p receives No permission error, though this player have those permissions

#

Is there any other way I can sudo player?

warm mica
quartz solstice
warm mica
quartz solstice
#

could it be a probem with putting .cancel in if statements? @warm mica

warm mica
primal ermine
quartz solstice
hollow oxide
echo basalt
#

ew wtf

quartz solstice
#

When I put this.cancel at the start of the function it worked but once i moved it into the if statement it stopped working

#

And yes, i have checked that the if statement I actually runs.

crimson scarab
#
public static void setBlockInNativeDataPalette(World world, int x, int y, int z, int blockId, byte data, boolean applyPhysics) {
    net.minecraft.server.v1_14_R1.World nmsWorld = ((CraftWorld) world).getHandle();
    net.minecraft.server.v1_14_R1.Chunk nmsChunk = nmsWorld.getChunkAt(x >> 4, z >> 4);
    IBlockData ibd = net.minecraft.server.v1_14_R1.Block.getByCombinedId(blockId + (data << 12));

    ChunkSection cs = nmsChunk.getSections()[y >> 4];
    if (cs == nmsChunk.a()) {
        cs = new ChunkSection(y >> 4 << 4);
        nmsChunk.getSections()[y >> 4] = cs;
    }

    if (applyPhysics)
       cs.getBlocks().setBlock(x & 15, y & 15, z & 15, ibd);
    else
       cs.getBlocks().b(x & 15, y & 15, z & 15, ibd);
}```

can someone teach me or tell me how to convert this to 1.20 mappings
young knoll
#

Gotta get that few microseconds

crimson scarab
#

no i wanna render videos

#

ive got good progress

#

i need to do more BLOCKS

hollow oxide
#

how do i fix this ?

rotund ravine
#

Don’t use both paper and spigot

hollow oxide
#

k

echo basalt
#

as a repo

fair crest
#

Hey. guys how do i make a whitelist for a plugin.

hollow oxide
#

yup solved the error

#

not this tho

young knoll
#

Are those spigot names

#

Iirc mojmap doesn’t use TileEntity

hollow oxide
#

?

hollow oxide
warm mica
tender shard
river oracle
#

?nms

river oracle
#

?mappings

undone axleBOT
tender shard
#

?switchmappings

hollow oxide
tender shard
#

you're using the wrong class names

#

you're using the obfuscated class names although you're on mojang maps

#

World e.g. is called Level in mojang maps

opaque scarab
#

My SMP server has a data pack (terralith) and I’m looking to add seasons to the server. The problem is, I need to get every custom biome. Should I iterate through an array of terralith biome names, and get the registry for each?

tender shard
hollow oxide
opaque scarab
#

It’ll show you the names of the remappings

#

Level = World, LevelChunk = Chunk, etc

hollow oxide
hollow oxide
#

yup

tender shard
#

then I don't see the issue

hollow oxide
#

no result

tender shard
#

you enter the old class name there

#

and then it tells you the mojang name

tender shard
river oracle
#

also important to remember you need to be on the correct version to

hollow oxide
#

i thought that i was swiching from mojang to Spigot ;-;

river oracle
#

no

#

you're switching from spigot to mojang

hollow oxide
#

well anyways got it

#

thx everyone

#

just realised that i need to translate all my code ;-;

#

quite ez in fact

#

just some stuff that i can't translate ez

echo basalt
#

yeah in that case

#

you gotta grab the mappings in the old version

#

and read what's there

#

and do stuff

hollow oxide
#

did something else : look at the functions, looked at their return then chose by that

java is great sometime

echo basalt
#

I'd go by their names

#

You have a mappings viewer

#

@ivory sleet Any way I can hide get/setValue without making an abstract class?

fair crest
#

hi guys, im asking this so i can figure it out. how can i make a whitelist feature to a plugin making it so people can't use it without a code.

#

reason why is im putting it on a minehut server with other people having access to the console

echo basalt
#

Well

#

Isn't that basically authme

fair crest
echo basalt
#

You join, run a command n then you get access

fair crest
#

is it good to work with 1.20?

echo basalt
#

Try it

fair crest
fair crest
fair crest
tender shard
tender shard
echo basalt
#

Hmm I need to make converters

#

this is annoying

tender shard
#

converters for what?

fair crest
echo basalt
rotund ravine
#

A converter to a converter

#

Grats

quaint mantle
#

who using Eclipse?

rotund ravine
fair crest
#

Guys. is there a way to whitelist a plugin without authme?

#

basically restrict access to it with a code

quaint mantle
#

i want to setup the project in eclipse

rotund ravine
#

So?

#

There’s plenty of guides on that

weak adder
#

How can i get the UUID of a offline player by his username?

echo basalt
#

Bukkit.getOfflinePlayer(name).getUniqueId()

#

Keep in mind this can be a blocking method

#

How do I create a bukkit item meta based on its type think3d

river oracle
echo basalt
#

yeah I'm figuring I don't need it for now

#

idk I'm happy with this system but it has no point of entry

#

it'd require me to create some sort of singleton

#

There's no MinecraftItemstack.create("minecraft:stone") type deal

remote swallow
#

no way y2k awake after midnight

echo basalt
#

mostly because meta would be fuggly

river oracle
#

Could use ItemFactory.createItemStack

echo basalt
#

yuh but that needs a singleton or sumn

#

I still need to access my platform adapters

#

Might need to do something similar to LuckPermsProvider

#

grr I hate singletons but I guessi t's for API purposes only

#

mm I hate this

#

We have progress

#

this is also viable

#

I should rename MinecraftMaterial to MinecraftItem and vice versa

#

yo @river oracle got a sample inventory API I can look into?

#

Gotta make uh

#

the whole thing

#

Thinking of this

#

I could delegate the slot stuff to a ContainerMetadata thing and just associate it with the menu type

river oracle
#

Generally though avoid how bukkit does it is my advice

echo basalt
#

I remember there was some weird generics magic going on

river oracle
#

Sync your stuff with the MenuType registry

#

And use Menu's

#

They require a player instance but work much more nicely than whatever cluster fuck bukkit does underneath

echo basalt
#

I'll want you to go over this tomr

river oracle
#

Alr ping me when your around I'll need like 10 hours tho xD gotta get my beauty rest

echo basalt
#

basically containers and inventory views are segmented

#

inventory views hold the title and the top/bottom containers

#

As well as the player n stuff

river oracle
#

I'll give my reccomendations tomorrow for now I'll be off for the night though

#

Might dm you something when I wake up in the morning

echo basalt
#

Sure

#

I'll either be asleep or outside

tender shard
#

because that doesn't even make any sense

#

also you've been keeping to ask this question several times now and nobody understands what you're even trying to do

#

so step one is that you try to figure out what you even wanna do yourself

spare hazel
#
enforce_secure_profile: false
listeners:
- query_port: 25565
  motd: '&1Another Bungee server'
  tab_list: GLOBAL_PING
  query_enabled: false
  proxy_protocol: false
  forced_hosts: {}
  ping_passthrough: false
  priorities:
  - auth
  bind_local_address: true
  host: 0.0.0.0:25565
  max_players: 10000
  tab_size: 60
  force_default_server: true
remote_ping_cache: -1
network_compression_threshold: 256
permissions: {}
log_pings: false
connection_throttle_limit: 3
server_connect_timeout: 5000
timeout: 30000
player_limit: -1
prevent_proxy_connections: false
ip_forward: true
groups: {}
remote_ping_timeout: 5000
connection_throttle: 4000
log_commands: true
stats: a1c55607-d707-4956-88ff-1df70b3cfd36
online_mode: false
forge_support: false
disabled_commands:
- disabledcommandhere
servers:
  skyblock:
    motd: '&1Just another BungeeCord - Forced Host'
    address: 0.0.0.0:25501
    restricted: true
  auth:
    motd: '&1Just another BungeeCord - Forced Host'
    address: 0.0.0.0:25511
    restricted: true
  lobby1:
    motd: bruh
    address: 78.38.186.117:25511
    restricted: true
  smp_1:
    motd: bruh
    address: 0.0.0.0:25101
    restricted: true
  smp_2:
    motd: bruh
    address: 0.0.0.0:25102
    restricted: true
  smp_3:
    motd: bruh
    address: 0.0.0.0:25103
    restricted: true

does anyone know what is the problem? when i do a bungee command it recommends the commands and then the player names but when i execute a command in the servers it just gives player names untill i type something

#

will switching to waterfall help

#

bcz im using paper on the backend servers

#

adding waterfall didnt help

#

imma move to papermc help

fair crest
# tender shard so step one is that you try to figure out what you even wanna do yourself

ok so you know how some plugins (ex: axiom) has this paywall feature. were they allow some code or uuid to be used. where once you pay they allow it. i just want it so i can use it to prevent some guys with console (i'm doing this as im a dev on a server) so i can keep the plugins private without giving everybody with console the plugin.
if it makes you understand what im trying to do. then great.
if not sorry, im not the best at explaining at what im trying to do

arctic vault
#

public String onPlaceholderRequest(Player player, String identifier) {

    if(identifier.equalsIgnoreCase("coins")) {
        return null;
    }

    if(player == null){
        return "";
    }

    return null;
    }
}
#

can someone help me about that

#

how can i add a placeholder from my plugin

ocean hollow
#

Did I understand correctly?

gleaming grove
#

How can I send actionbar to player?

ocean hollow
#

player.sendTitle("title", "actionbar", time, time, time); but its deprecated

gleaming grove
#

ok I found it player.spigot().sendMessage(ChatMessageType.ACTION_BAR, *coponent*);

astral pilot
#

how do i reschedule a BukkitRunnable

upper hazel
#

how get structure chest in generation process. What the event need?

chrome beacon
proud badge
#

yo so sometimes the join message that shows on PlayerJoinEvent doesnt show, but it shows to some players. My guess is the message fires before the player can properly join, anyone else heard of this?

quaint mantle
#

i wanna make skyblock system
but someone give me idea for how works this system
i mean how do i store player islands ?

tender shard
astral pilot
chrome beacon
#

Yeah looks like a DRM

fair crest
#

idk

#

im not the best with java and plugins right now

chrome beacon
#

Yeah that's DRM

fair crest
chrome beacon
#

Digital Rights Management

#

Anyways it's quite easily bypassed

fair crest
#

so

#

all i want is a way for a player list

chrome beacon
#

If you can't trust the people you're working with maybe find some other place

fair crest
upper hazel
#

do those admins have access to the console?

fair crest
chrome beacon
#

Just tell them not to reuse the plugin

upper hazel
#

lool

chrome beacon
#

If you trust them that should be the end of it

upper hazel
#

like those admin

chrome beacon
#

If you cannot trust the people you give access to the server then you have some real problems

tender shard
#

Tell them they‘ll get cute anime girls if they dont steal it

upper hazel
#

lol

chrome beacon
#

Do NOT trust random people with user and system data

upper hazel
#

Well, in that case, hiring those admins is not an option

chrome beacon
upper hazel
#

here the question is about quality: you can take high-quality hired ones but have the risk of being deceived or acquaintances but the quality may drop

chrome beacon
#

Keep in mind that it's not hard to remove

quaint mantle
quaint mantle
#

Compiled code is a mess

chrome beacon
#

Not really

tender shard
#

Decompiled kotlin definitely is a mess

chrome beacon
#

True

#

But we're talking Java

fair crest
#

anyways if you got any suggestions for apis.

#

apis to use*

quaint mantle
#

purpose?

tender shard
#

and these

fair crest
#

anything

tender shard
#

and ACF

fair crest
tender shard
#

what what

fair crest
#

where are these links

tender shard
fair crest
#

ok time to go internet hunting

upper hazel
#

what event i can use for get chest for generated
structure

tender shard
#

LootGenerateEvent gets called when the chest gets "populated", i.e. first opened

upper hazel
#

opening a chest by a player or is it figurative

#

opened from system ?

chrome beacon
#

Player or anything interacting with it

upper hazel
#

world can "open" it when ganarated structure?

#

or for it need entity

chrome beacon
#

Loot is only generated when needed

#

(Assuming loot tables)

upper hazel
#

oh

chrome beacon
#

So the first time you open a chest for example

tender shard
#

buried chests etc are empty until they're first opened

upper hazel
#

bruh i not can get structure from this event

chrome beacon
#

Yeah

upper hazel
#

LootGenerateEvent

#

I wanted to get the structure and its chest when generating

#

for check and get the desired structure

#

and add item in chest

#

but i gess this impossible?

tender shard
#

why do you need the structure?

#

why don't you just check the LootTable

#

you get the connection by calling getConnection() on the mysql driver object

rotund ravine
#

What are you using for sql

upper hazel
tender shard
#

and why can't you just check the LootTable to identify which structure it is

upper hazel
#

link content and structure?

tender shard
#

just get the loottable's namespacedkey and check if it's e.g. chests/jungle_temple or chests/village/...

upper hazel
#

via wiki

tender shard
#

check the LootTables class

#

it contains all the namespaces

rotund ravine
#

I meant how are you pooling*

#

Use hikari or smth

#

Probably not needed though

tender shard
#

Yes use hikari

hollow oxide
#

this command works in the chat,

#

but not in an execute

storm jungle
#

looking for someone who can modify a source code to keep the crops growing using an item placed in a chunk doing this job if there are no players nearby on no players in the server

pseudo hazel
#

?services

undone axleBOT
storm jungle
#

nah need someone now to help me here

eternal night
#

I mean, post what you have and what your issue is ?

zealous bane
#

w

#

why i cant paste screenshots

eternal night
#

you need to verify with your spigot forums account

zealous bane
#

now i cant verify

#

;ddd

#

it says comand not found

#

when i write /verify

quiet ice
#

well now you are verified

#

but why would one paste in screenshots in this channel?

storm scaffold
#

Is there a way to tell if a player is touching a cobweb at all, like when checking if they're touching water at all

astral pilot
#

what is the best way to count how many mobs are there in a server

late sonnet
zealous bane
storm jungle
#

what do i need to change in this code to make it the crops grow even if there is no player nearby the crops or no players in the server

tender shard
#

why did you duplicate all that code like 7 times

#

and why do you use the chunk's coordinates as key if you already only store it inside that chunk anyway

storm jungle
#

@tender shardcome dm

hollow oxide
#

import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
is there a version of it in 1.20.4?
import org.bukkit.craftbukkit.v1_20_R4.CraftWorld;
is not working

tender shard
hollow oxide
#

thx

shadow night
#

Whats the point of relocating cb and nms

tender shard
#

nms isn't relocated anymore

#

and choco told me for CB it's relocated so people don't use it lol

shadow night
#

Lol

#

But getting usable CB is a challenge on its own

astral pilot
#

what is the best way to count how many mobs are there in a server

chrome beacon
#

if you want just hostile mobs you can filter by the enemy interface

proud badge
#

bruh any1 know where I messed up https://paste.md-5.net/jisicikawo.md

    @Override
    public void run () {
        if(!PearlQueue.pearlQueue.isEmpty()) {
            HeeseLogger.getInstance().getLogger().info("Executing periodical database access...");
            try {
                Statement statement;
                statement = GetConnection.getConnection().createStatement();
                for (PearlThrowLog i : PearlQueue.pearlQueue) {
                    String sql = "INSERT INTO pearl_logs(uuid, world, x, y, z, yaw, pitch, timestamp) VALUES('" +
                            i.getPlayerUuid() + "', '" +
                            i.getPlayerLocation().getWorld().getName() + "', " +
                            i.getPlayerLocation().getBlockX() + ", " +
                            i.getPlayerLocation().getBlockY() + ", " +
                            i.getPlayerLocation().getBlockZ() + ", " +
                            i.getPlayerLocation().getYaw() + ", " +
                            i.getPlayerLocation().getPitch() + ", '" +
                            i.getTime() + "')";
                    statement.execute(sql);
                    PearlQueue.pearlQueue.poll();
                }
                statement.close();
            }catch(SQLException e) {
                HeeseLogger.getInstance().getLogger().info("Error with statement");
                e.printStackTrace();
            }
        }
    }
}```
proud badge
#
                            i.getPlayerUuid() + "', '" +
                            i.getPlayerLocation().getWorld().getName() + "', " +
                            i.getPlayerLocation().getBlockX() + ", " +
                            i.getPlayerLocation().getBlockY() + ", " +
                            i.getPlayerLocation().getBlockZ() + ", " +
                            i.getPlayerLocation().getYaw() + ", " +
                            i.getPlayerLocation().getPitch() + ", " +
                            i.getTime() + ")";``` ok updated, still same issue
hardy cairn
#

can someone help me, i want to make a method which soulbinds a item to certain player

proud badge
#

?

proud badge
#

It doesnt let the player enter anything

#

so SQL injection impossible

#

its impossible to do an SQL injection here because it doesnt promt the player for any input

clear condor
#

Hello guys,

public static AdapterPlugin getInstance() {
        if(instance == null) {
            instance = new AdapterPlugin();
        }
        return instance;
    }```
why it throw IllegalStateException?
chrome beacon
#

I'm guessing you tried to instantiate your plugin class

#

You can't do that

clear condor
#

why

chrome beacon
#

Because there should only be one instance of your plugin

clear condor
#

and it is

chrome beacon
#

not two (or more for that matter)

#

No the way you've written your code there there will always be two instances

#

One that you tried to make and the other that Spigot makes when loading/enabling your plugin

hardy cairn
#

hi can you help me, i need some help creating a soulbound item which cannot be dropped and be with player even if he dies, if he has a custom role/permission. can you like guide me on how to do that

#

im kinda confused

potent elbow
#

Hello anyone know why Cannot resolve method 'setCancelled' in 'PlayerQuitEvent'

    @EventHandler
    public void onQuit(PlayerQuitEvent event) {
        Player player = event.getPlayer();
        while (true) {
            event.setCancelled(true);
            player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cYou cant leave server!"));
        }
    }```
if i delete             event.setCancelled(true); and leave the server my server crashed
quaint mantle
#

You want to cancel a player quitting?!?

potent elbow
#

to have more players?

hardy cairn
#

i dont think you can do that xd

potent elbow
#

why

compact zodiac
#
private final LobbyCommand instance = this;
    @Override
    public void onEnable() {
        this.getCommand("lobby").setExecutor(LobbyCommand());

    }

    @Override
    public void onDisable() {
        instance.getLogger().info("Disabled.");
    }

Why print NullPointerException?

quaint mantle
#

Yea u cant

#

Bro what

potent elbow
quaint mantle
#

its new LobbyCommand() not LobbyCommand()

potent elbow
#

u can use without new too

quaint mantle
#

Also

#

Is your command extending JavaPlugin?

compact zodiac
compact zodiac
shadow night
compact zodiac
#

sorry

#

my brain

#

have

#

issue

#

no

quaint mantle
#

Then just use this instead of LobbyCommand()

hardy cairn
#

hi Draco can you guide me on how to create a soulbound item which can be given to a player with custom permission? just a little guide

compact zodiac
hardy cairn
#

like which cannot be dropped by dropping or dying

compact zodiac
quaint mantle
#

Mhm. Do the die event and check if you have any soulbound item you want to keep. Then just give the item again

#

And before giving check if he has permission

quaint mantle
eternal oxide
#

you also have to listen to all inventory click event to ensure teh player isn;t moving the item/dropping it

hardy cairn
#

oh ok hmmm, i will try to implement it thanks!

quaint mantle
#

Also

hardy cairn
#

?

compact zodiac
#

private final LobbyCommand instance = this;

#

it's final variable

quaint mantle
#

Why is it private? Just remove the variable

hardy cairn
#

maybe try this? this.getCommand("lobby").setExecutor(instance);

compact zodiac
hardy cairn
#

oh sorry my bad

quaint mantle
#

It's not in your plugin.yml

#

?paste

undone axleBOT
quaint mantle
#

Paste error here

#

or, instance is null

hardy cairn
#

@compact zodiac still try what i sent tho

#

maybe it work?

astral pilot
hardy cairn
#

oh wait

#

im stupid-

compact zodiac
#

but varaible is final and

hardy cairn
#

nvm'

quaint mantle
#

?learnjava

undone axleBOT
hardy cairn
#

oh yea i forgot you had a final variable

#

wait

quaint mantle
#

I am not helping further

#

Go learn java

hardy cairn
#

lol

#

wait a min lemme try

eternal oxide
#

static access in a non static way

hardy cairn
#

oh wai-

#

why am i so dumb

#

omg

eternal oxide
#

we've all been there 🙂

hardy cairn
#

🥲

short plover
#

is there a way to check whether or not a redstone update would update any block around it

quaint mantle
#

By checking

hollow oxide
#

got this error but it's looking good in my IDE

river oracle
#

I'd use something like MineDown or MiniMessage

#

but you could use legacy chat you essentially need to make a linear gradient

#

look at my createLinearGradient method

#

both MineDown and MiniMessage are Chat APIs

#

they parse an easy to use format into components

#

no no API could do that easily

#

you'd need to essentially read the chat component and do a reverse on the linear gradient to get the starting 2 colors

#

2 easy APIs to use are MiniMessage or MineDown for parsing strings into Styled Components

#

if you want to do any form of reading you'll need to make your own way

#

note that MiniMessage requires kyori adventure

#

whereas Minedown works natively with spigot

#

yes

#

yes

#

you don't

#

you'd need to write your own API for that

#

that parses the Json Based Components into colors again

#

no

#

because it seems unecessary to me and probably many others

#

no I'm not feeding you code

#

you have to make it yourself

hollow oxide
#

Error occurred while enabling wamasterv3 v${project.version} (Is it up to date?)
java.lang.NoClassDefFoundError: net/minecraft/world/level/Level

with:

package fr.axsc6_l.wamasterv3.commands.commandHook.mapping;

import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.arguments.selector.EntitySelectorParser;
import net.minecraft.commands.arguments.selector.EntitySelector;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BaseCommandBlock;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.CommandBlockEntity;
import fr.axsc6_l.wamasterv3.commands.commandHook.mapping.api.AMapping;
import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_20_R3.CraftWorld;
import org.bukkit.entity.Entity;
#
public class NmsV1_20_R3 extends AMapping {
    public NmsV1_20_R3() {
    }

    public List<Entity> getEntitiesFromSelector(String selector, Block commandBlock) {
        List<Entity> entities = Collections.emptyList();
        CommandSourceStack wrapper = this.getCommandListenerWrapper(commandBlock);
        EntitySelectorParser argumentParser = this.getArgumentParser(selector);

        try {
            List<? extends net.minecraft.world.entity.Entity> nmsEntities = this.getNmsEntities(argumentParser, wrapper);
            entities = this.convertToBukkitEntity(nmsEntities);
        } catch (CommandSyntaxException var7) {
            this.handleCommandSyntaxException(commandBlock, var7);
        }

        return entities;
    }

    public CommandSourceStack getCommandListenerWrapper(Block block) {
        Level world = ((CraftWorld)block.getWorld()).getHandle();
        BlockPos blockPosition = new BlockPos(block.getX(), block.getY(), block.getZ());
        CommandBlockEntity tileEntityCommand = (CommandBlockEntity)world.getBlockEntity(blockPosition, true);
        BaseCommandBlock commandBlockListenerAbstract = tileEntityCommand.getCommandBlock();
        return commandBlockListenerAbstract.createCommandSourceStack();
    }

    public EntitySelectorParser getArgumentParser(String selector) {
        StringReader stringReader = new StringReader(selector);
        return new EntitySelectorParser(stringReader);
    }

    private List<? extends net.minecraft.world.entity.Entity> getNmsEntities(EntitySelectorParser argumentParser, CommandSourceStack wrapper) throws CommandSyntaxException {
        EntitySelector selector = argumentParser.parse(false);
        return selector.findEntities(wrapper);
    }
    private List<Entity> convertToBukkitEntity(List<? extends net.minecraft.world.entity.Entity> entities) {
        return (List)entities.stream().map(net.minecraft.world.entity.Entity::getBukkitEntity).collect(Collectors.toList());
    }
}```
river oracle
#

you aren't remapping

#

?nms

proud badge
#

rip can I not use a regular date?

ivory sleet
#

Nooe

#

Cuz its the sql date type

proud badge
#

ok ig ill just store unix time in seconds

hollow oxide
river oracle
#

I know its hard to read but I believe in you 😉

hollow oxide
#

ive read it multiple time

#

but still didn't got the right info i guess

river oracle
#

send your pom

#

?paste

undone axleBOT
hollow oxide
river oracle
#

?paste

undone axleBOT
hollow oxide
river oracle
#

what jar are you using

#

maven should create 2 or 3 you have to use the one with 0 suffixes or prefixes

#
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>```
#

why are you compiling with java 8

#

use java 17 with latest version

hollow oxide
#

corrected it, thx

#

but did not solve the issue

river oracle
#

maven should create 2 or 3 jars you have to use the one with 0 suffixes or prefixes

hollow oxide
#

sure i'll check that

hollow oxide
river oracle
#

don't ever compile with artifacts

#

ever ever ever

#

if you're using maven never compile like that

hollow oxide
#

how should i compile ?

river oracle
#

you should see a little M button on the right hand side of your intellij

#

click that open]

hollow oxide
#

yep

river oracle
#

click package

#

it'll output your jar in the target directory

rare rover
#

hmm, how would i set biomes using packets?

#

i found dis:

#

but i have no clue how to use it, since there is no documentation and the constructors are:

hollow oxide
#

it kinda worked...

same error, but not same exact message:

craggy rivet
#

i'm developer please ADD developer mode

#

@smoky yoke

hollow oxide
river oracle
#

developer mode is so ambiguous too

#

my guess is you're in the wrong place

craggy rivet
#

HOW I AM OPEN TICKET

pseudo hazel
#

please dont talk in all caps

#

and also explain what you want please

hollow oxide
chrome beacon
#

That'll help with hotswapping code

#

Not all code can be hotswapped and some JVMs are better than others at it

#

You can make Intellij build and restart the server with a single button click

clever lantern
#

when calculating sha1 checksum of resource pack should i use zipped or unizpped file

#

okay i think that i cant even use unzipped

chrome beacon
#

Yeah

#

zipped

wet breach
clever lantern
#

how do i make plugin that has a world with a minigame build by me in it

#

or it spawns at certain coords

chrome beacon
#

You'd load a world

#

and then start a minigame in that world

#

Honestly though you might want to be more specific

rare rover
#

how do you get BlockState using nms?

#

from a material, if possible

chrome beacon
#

depends

#

what version

rare rover
#

1.20.4

#

R3

chrome beacon
#

Block#defaultBlockState

rare rover
#

ty

#

hmm, now how would i detect if the player broke a client side block?

tame wolf
#

client side block?

rare rover
#

yeah

#

sent by a packet

#

i can break them in creative but not survival using a diamond pickaxe

wet breach
#

you would have to listen for the packets and intercept them, since the server isn't aware about the block the server if it processes the packet just ignores it

#

so you have to intercept before the server can process it

rare rover
#

okay. So how would i do that?

wet breach
#

if you know how to send packets, you know how to listen for them

#

instead of injecting to outbound, you instead inject to listen for inbound instead

#

you would register a handler/listener on the network

steel swan
#

Hey, little question, i have an inventory (from an other player) and i wanna set a players inventory to the inventory i have (called inv). how do i do that?

lost matrix
#

ProtocolLib helps if you dont want to inject a packet handler yourself

wet breach
#

^

#

there is that too

lost matrix
steel swan
lost matrix
steel swan
#

i wanna replace the content, and i juste found this method, would it work? :

e.getEntity().getInventory().setContents(inv.getContents());

#

(getEntity returns a player)

lost matrix
#

Yes this should work

storm scaffold
#

Would it be possible to make a player move faster when trying to walk around when falling in the air

proud badge
#

how would I check the action in an EntityInteractAtEntityEvent?

tender shard
#

the action is always right click

proud badge
#

oh

#

ok thanks

tender shard
#

Represents an event that is called when a player right clicks an entity that also contains the location where the entity was clicked.

woeful crescent
#

you could always check every tick if they’re on the ground or not then set speed accordingly

#

but i’m no expert

sullen marlin
#

There's a flight speed attribute but idk if it affects falling

shut bane
#

Good morning, I've been researching for a while, and I still don't know what the AnimatedScoreboard variable is, and I need the following:

Hours played variable

Time variable in today's world

And current date variable.

If you know what any of them are, please tell me. Thanks

sullen marlin
#

What is Animated scoreboard? Is this a development question?

shut bane
#

Yes, since it is a plugin I don't know what those variables are.

chrome beacon
#

The answer is no

quiet ice
#

I have little to no clue what you are asking

chrome beacon
#

if you're looking for the placeholder it's not a development question

shut bane
#

How not? It is the development of the plugin itself.

chrome beacon
#

so you want the code for it?

shut bane
#

I need those variables

tender shard
#

i think they're looking for PlaceholderAPI placeholders list?

chrome beacon
#

probably

#

so it's not a development question

quiet ice
#

What the hell even is AnimatedScoreboard?

chrome beacon
#

a plugin

quiet ice
shut bane
#

Ok, thanks

proud badge
eternal oxide
#

Column timestamp is the wrong type

proud badge
#

its an integer

eternal oxide
#

error says otherwise

proud badge
#

oh wait

#

I need to delete my database since I updated the tables

hollow oxide
tender shard
hollow oxide
#

put it where?

tender shard
#

in your server directory

wintry lynx
#

Does anyone know if achievements are handled by the server or client?

grand flint
#

u can however handle the achievments menu from the server as well

wintry lynx
#

So theoretically I can access and use achievements to determine if a player is within a structure?

grand flint
#

why would u do that

wintry lynx
#

Or is there a better way

#

I want to know when a player is in a structure and when they leave

grand flint
#

why did u think achievements was the way to do it? 💀

#

what

wintry lynx
#

I tried plugins but there is no enter structure event

#

not that i know of

grand flint
wintry lynx
#

Yes. That uses nms.

#

And that requires a constant check

#

instead of one for entering and one for leaving

grand flint
#

ok so how do u plan to detect when a player leaves the structure

#

oh yeah just use the "Left the structure" achievement

wintry lynx
#

You can do that

#

Ive done it lol

grand flint
#

then why are u asking

#

💀

wintry lynx
#

cuz i wanted to ask if it was the best way

wintry lynx
grand flint
#

explain to me how u detect when a player enters or leaves a structure w achievements

#

i want to know

wintry lynx
#

location: structure: (the structure)

#

Then an achievent that requires the stucture to be none

#

or not that structure

#

Then I can just do a listener event that listens for an advancement.

robust helm
#

Im trying to add a recipe for a "revive-star", basically an item that unbans a player in lifesteal. The recipe is supposed to have the head of the killed player and some diamond blocks and the revive-star should then unban the uuid from its lore. Do i need some crafting events for this or is there any better option?

blazing ocean
eternal oxide
#

you didn;t run buildtools with --remapped

agile hollow
#

how can i create a gui that interact with the bungeecord?

blazing ocean
#

i ran java -jar BuildTools.jar --rev 1.20.1 --remapped

#

oop

#

hi, im trying to setup remapped nms on windows, i get this error: [ERROR] Failed to execute goal on project mc-infinite: Could not resolve dependencies for project live.mcinfinite:mc-infinite:jar:1.0: org.spigotmc:spigot:jar:remapped-mojang:1.20.1-R0.1-SNAPSHOT was not found in https://hub.spigotmc.org/nexus/content/repositories/snapshots/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of spigotmc-repo has elapsed or updates are forced -> [Help 1]
. i ran java -jar BuildTools.jar --rev 1.20.1 --remapped. this is my pom.xml: http://0x0.st/H6at.xml

eternal oxide
#

?nms

blazing ocean
#

thats what im doing

#

NVM IM STUPID

quaint mantle
#

😂

tender shard
#

Oh no, the quality video link is gone

quiet ice
#

Okay who the hell is commenting on that video?

wary harness
#

What is max size of uploading image to spigot

#

I am trying to upload same image on my second project

#

I litterly downloaded it from my first one

#

and I am gettign error

tender shard
#

The upload limits changed on jan 1st

#

No clue what the new limit is though

wary harness
#

Can we use third party

#

site

tender shard
#

If you have a direct link, then yes IIRC

wary harness
#

so this should work

#

that is image in my project 1

quiet ice
#

why on earth do you use that high of a resolution

wary harness
#

image is 900 Pixels

quiet ice
#

Although, could be AI-genned, at which point that doesn't make you that clinically insane

wary harness
#

it is fine I got it working

grim hound
#

How hard would it be to create my own server engine? Just an empty server, with no blocks and stuff. Like a queue server, no need for bukkit compatibility.

grand flint
#

called a limbo

sullen canyon
#

the way he speaks is ironical or that's just how he speaks

grand flint
sullen canyon
#

ik the image can't share sounds but if anyone is familiar with his content and knows for sure please let me know

pseudo hazel
#

yeah im pretty sure he just has a lisp

idle sparrow
# grand flint https://github.com/Elytrium/LimboAPI

He said his own. You clearly didn't understand what he was asking.

@grim hound If you're asking how hard it would be to make something like Spigot, very difficult. If you're wanting to just make something simple and not efficient - could probably do it in a few days.

grand flint
#

can u pipe the fuck down 💀

#

literal moron

idle sparrow
#

umadbro

#

gitgudkid

grand flint
#

nah ur just a shit developer lmao

pseudo hazel
#

also how hard something is really depends on experience

grand flint
#

whos so eager to get his lil ego up

pseudo hazel
#

also stop fighting

grand flint
#

i sent him something

idle sparrow
grand flint
#

he may have

#

not knew

idle sparrow
grand flint
#

lmaoo

#

ur the only one w a large ego

pseudo hazel
#

yes thats true but a question like how hard is it to make a server implementation is kind of a loaded question in any case

idle sparrow
pseudo hazel
#

fair

idle sparrow
#

🖖

idle sparrow
grand flint
#
  1. im older then u
#
  1. u got 0 datapack experience clearly
idle sparrow
young knoll
#

Oi

#

Enough

idle sparrow
grand flint
#

litearlly stfu 💀

idle sparrow
#

Aight.

#

🫡

young knoll
#

Randomly insulting each other isn’t gonna solve anything

grand flint
#

also randomly replying to my replies isnt gonna solve the original problem

idle sparrow
#

I could go on about that, but I'mma just head out. Lmfao.

glad prawn
idle sparrow
#

So it's been awhile since I messed with Spigot and I've been noticing Paper a lot more. Is it worth learning and using Paper or can I just stick with base Spigot?

tender shard
#

You should stick to spigot if you wanna upload your stuff to spigotmc

idle sparrow
eternal night
#

I mean, asking in spigot if you should use a competitor of spigot is kind of nonsensical

eternal night
#

I mean, paper competes with spigot for market share

idle sparrow
#

Paper uses Spigot

eternal night
#

it is a fork

idle sparrow
#

how can you compete with what youre forking from lol

eternal night
#

huh ?

idle sparrow
#

its like saying spigot is a competetor to MC lol

#

MC Realms* lol

eternal night
#

yea, to the vanilla server software it is

idle sparrow
#

But it branches from vanilla software.. lol

eternal night
#

and still spigot aims to be the no 1 server software you use

idle sparrow
#

and Paper uses spigot

#

xD

#

if paper "beat" spigot, there would be no paper. like what

eternal night
#

I mean, the goal of every fork is to be so popular you hard fork

idle sparrow
#

paper just makes a few adjustments to the efficiency of things. i fail to see them trying to compete with spigot lol

eternal night
#

Well, their API changed rather drastically in a lot of places

river oracle
#

...

#

I think I think I'm losing all my brain cells

idle sparrow
#

just having a hard time understanding lol

eternal night
#

I mean, asking people in this discord (people that generally believe spigot to be better, otherwise they'd be in the paper discord) if paper is better

#

like

#

do you see how that might not be a useful question

idle sparrow
#

isnt that the point of paper though? to fix performance issues?

eternal night
#

high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies

idle sparrow
#

I can obviously see it, yeah

eternal night
#

it does other changes

#

like fix dupes and stuff

#

that not all people might like

idle sparrow
#

isnt that how software grows though lol

#

spigot just grabs paper devs, i dont really see the hard contrast of the two

#

i havent really seen anything to drastically different in the paper api lol

eternal night
#

when did you last check

idle sparrow
#

a few days ago

eternal night
#

interesting kekwhyper

#

you should be getting bombarded with deprecation messages

idle sparrow
#

i mean its not like i was taking an entire day out to study it lol

eternal night
#

given paper deprecated all of legacy text in favour of adventure

young knoll
#

Like a bunch of nerds

eternal night
idle sparrow
#

okay, well there you go lol

#

youre now answering my question bro lol

eternal night
#

How xD

#

you asked a subjective opinionated question

#

I am just pointing out things that changed

#

which, you probably are best to just "try and see"

idle sparrow
#

i asked if its worth learning and using paper or just to stick with spigot

#

how is that subjective or opinionated

river oracle
#

probably not the place to ask considering its highly subjective

eternal night
#

If I believe paper is better than spigot I'd say yes, its worth learning paper. If I don't believe that I'd obviously say no ?

river oracle
#

paper modifies the API and server in ways other users may not like

idle sparrow
#

so say no, and give reasons why?

river oracle
#

thus its subjective

idle sparrow
#

i dont understand whats so hard about that lol

river oracle
#

I can't choose for you

eternal night
#

I mean, its my opinion

#

No point in shitting that on you xD

idle sparrow
#

but im asking for it.. lol

river oracle
#

My opinion is that I prefer spigot 🤷‍♂️

eternal night
#

I'd go with paper

#

see

river oracle
#

I mean there are millions of opinions

eternal night
#

two opinions xD

#

what to do now

idle sparrow
#

to me, all i know is paper just adds performance

river oracle
#

try it out for a while and see how you like it

idle sparrow
#

thats why i asked the question bro

carmine mica
#

Paper is better

river oracle
#

that's how you form opinions

eternal night
#

A third opinion

river oracle
#

well machine might think its a fact xD

eternal night
#

Tho I heard thi Machine_Maker guy is biased

idle sparrow
#

im an adult, i can take in multiple opinions and form my own

river oracle
#

the thing with Minecraft server software is its really easy to try new stuff out and decide for yourself

eternal night
#

I mean, given you can literally just go try paper-api rn and compare the usage to spigot-api

#

idk why you'd instead ask the opinion of people in the spigot discord channel

idle sparrow
#

because its faster?.. lol

#

if someone already knows about it and has tried it, why would i not ask

eternal night
#

OMEGALUL I mean, wouldn't you ask in the paper discord channel xD

carmine mica
#

the paper api adds tons of new events, a complete text component system available everywhere components can be used.

#

the paper server adds dramatic performance increases, fixes inconsistencies and long-standing vanilla bugs

idle sparrow
#

no, because like i said i used to develop in spigot

eternal night
#

all those damn paper nerds are over there I heard kekwhyper

idle sparrow
#

because im currently focused on spigot, why would i go to paper lol

young knoll
#

Hey our component system will be merged soon

#

™️

eternal night
river oracle
#

™️

eternal night
#

choco pls 🙏

river oracle
carmine mica
#

Hey our component system will be merged soon
available everywhere components can be used.

idle sparrow
#

see i wasnt a big fan of the component thing either lol

#

think i just used my own string handling stuff

carmine mica
#

paper's got minimessage natively for easy lossless string representations of text

river oracle
#

wow a reason to use spigot or just @SupressWarnings("deprecated")

#

that too

eternal night
#

OMEGALUL "Intellij disable inspection"

river oracle
#

it'll be less annoying once String templates get added to java too

eternal night
#

oh yea, my god string templates

river oracle
#

or when minecraft updates ig

idle sparrow
#

Do y'all use Krita or still stick with Java?

young knoll
#

Mojang moves to java 21 for minecraft 1.30

#

Real

eternal night
#

I will brute force that API java version bump faster than you can say "but the section sign is less verbose"

young knoll
#

But the section sign is less verbose

eternal night
#

MM."<red>Hi there <gold>\\$player"

#

fuck

#

you were faster OHNOOOO

eternal night
#

or whatever the syntax looked like

#

just one backslash ?

young knoll
#

ew

carmine mica
remote swallow
#

you were faster for me lytnx

eternal night
#

💪

remote swallow
young knoll
#

I prefer js ${player}

river oracle
idle sparrow
remote swallow
eternal night
#

java templated strings

idle sparrow
#

I never got into Java other than to do MC stuff. Lol.

eternal night
#

not yet generally available

torn shuttle
#

got a technical question, if you pass a task to async and then pass it back to sync, and use timings to try to check performance, usually timings can't measure async performance but what I really want to know is how the overhead of passing it into async and out of async works, how does the performance overhead for that show up?

idle sparrow
#

I come from Python/C#/Web Dev

eternal night
#

Because then you can construct those components super easily

#

because java string processors can produce any type as output, not just strings

young knoll
#

Java is late to the party as usual

#

Smh

idle sparrow
#

Oh lol damn

eternal night
#

so ```java
Component c = MM."<red>Hi there <gold>$player"

is valid
#

if that is the syntax

torn shuttle
#

if I'm creating 1000000 async tasks every tick and getting them back the next tick, does that show up as minecraft overhead or the plugin's overhead? I seem to recall it was minecraft, right?

river oracle
eternal night
idle sparrow
#

Java has always been weird to me, I think I might stick to Krita then lol

river oracle
#

wtf is Krita

#

is that some new ass jvm language

#

oh its a graphics editor

idle sparrow
#

Oh wait that's a drawing software lol

#

Kotlin bro 💀

eternal night
#

Drawing my spigot plugin kekwhyper

idle sparrow
#

god damnit lmfao

#

listen i draw too, dont press me lol

#

🤡

young knoll
#

Remember the paint ide

idle sparrow
#

iiimmmaagggiiinnaatttiiiooonn

eternal night
#

remember visual bukkit OMEGALUL

idle sparrow
#

you never know about the future lol

young knoll
#

As if that isn’t still around

idle sparrow
#

i like to draw my mods

eternal night
#

oh shit yea, last commit yesterday

young knoll
#

There’s also McCreator

orchid gazelle
#

Oof

#

McCreator/VisualBukkit/Skript oof

worldly ingot
#

Your plugin must be compiled against Java 8 at minimum

#

Unless you're compiling against Paper API in which case your plugins require 17

#

(but if you're writing a plugin for 1.18+, you might as well compile with 17 anyways)

remote swallow
#

where are you changing it

worldly ingot
#

and how are you building it

remote swallow
#

?paste ur pom

undone axleBOT
worldly ingot
#

If you're using Maven then you have to be sure you're actually compiling with Maven, not exporting an artifact via your IDE

remote swallow
#

im guessing your compiling with ur ide not maven because mavens set to use j11

eternal night
#

I mean, you can compile via the maven "package" goal. You can either do that by finding the maven tab in intellij and finding the package goal

#

or you open a terminal in the root of your plugin and run mvn package

worldly ingot
#

or via CLI like an absolute chad

eternal night
#

output will be located in the target folder

#

I mean, could try to smack the release option in there

#

<maven.compiler.release>11</maven.compiler.release>

#

I guess

#

won't work when compiling with anything below java 9 tho

#

and then do a clean package I guess

worldly ingot
#

Building Maven in your IDE is totally fine lol. Mostly teasing with the CLI comment, but it is totally a valid way to build it

eternal night
#

yea I guess

#

has been a while since I had to do maven 😅 mostly just going off of google rn

orchid gazelle
#

npcs using gradle

#

kekw

eternal night
#

fucking true 😭

orchid gazelle
#

that's forge :(

eternal night
#

okay npc

#

🤡

orchid gazelle
#

I sadly cannot use maven with forge

#

but I'd do it

remote swallow
#

gradle on top

remote swallow
#

you just like have to spend 12 years making it a maven plugin

orchid gazelle
#

maven ftw

eternal night
#

did that pom.xml not work 😅

atomic niche
#

mavennnnnn ❤️

orchid gazelle
#

@atomic niche you are great

atomic niche
#

(I am in the minority here to be fair)

#

A lot of people now love IJ, kotlin, and gradle... I'm one of the few holdouts.

orchid gazelle
#

I switched to IJ like 2-3 months ago

atomic niche
#

😔

orchid gazelle
#

early it was complete garbage imo

#

because the standard theme just looks ugly as fuck imo

#

now I just made my own theme

atomic niche
#

Completely unrelated, but hypothetically, for the following extremely stupid task, what would be a good algorithm:
Given n random plugins and their dependencies, find the combination thereof with the fewest plugin conflicts.

eternal night
#

yea probably smack the output of mvn clean package and the error log into a paste

atomic niche
orchid gazelle
atomic niche
#

I probably need to have it group the plugins into buckets known not to be incompatible with each other

#

then compare the buckets against each other

atomic niche
orchid gazelle
#

I know

atomic niche
#

Although, probably not a practical concern in this case

eternal night
#

I mean, that just smells like you a) did maybe not run the clean goal yet and/or b) did not update the jar ?

atomic niche
#

The goal here is basically to get as many possible plugins running on stupidly overkill hardware for a few hours as a joke for a temporary event

eternal night
#

given you are using java 11 it is rather impossible to end up with class version 64 (java 20)

orchid gazelle
#

plis

atomic niche
#

I don't think a server with (likely) 500+ plugins would count as a SMP... just a mess, although hopefully a hilarious one

orchid gazelle
#

no

#

I just want some cool util ideas for a high-scaled smp plugin

#

admin stuff n shit

eternal night
#

I mean, the log you shared did not run after a clean

#

the package in there did not actually compile anything, it took everything from the build cache