#help-development

1 messages · Page 1801 of 1

tender shard
#

I find it handy

quaint mantle
#

dont forget that static getInstance ruins re-usability and unit testing

#

But every constructor of my classes need at least 3 other classes so i feel so lmao

paper viper
#

im sorry but not even assigning it to a local variable and just having those static variables in every single class

ivory sleet
#

Yeah

#

I’m just concerned how junit would handle that

paper viper
#

dont even start on mockbukkit

tender shard
#

anyway, I'm wondering: how is passing the instance better for unit testing?

#

you still need the main instance

quaint mantle
#

In some cases you dont need entire plugin

tender shard
#

in those cases, I just don't declare that variable then

#

of course I am not using it for data classes etc

#

I still wonder why it's better for unit tests to use DI

#

I really wonder, I'm not being ironical

#

I don't know much things about unit tests

ivory sleet
tender shard
ivory sleet
#

Mocks

paper viper
#

have u heard of mockbukkit?

quaint mantle
#

My constructor always has something like this:

public Constructor(Main class, LocationConfig config, LangUtil konke) {
this.main = main;
this.config = config;
this.lang = konke;
}

tender shard
#

No, I haven't

paper viper
#

Exactly

ivory sleet
#

To isolate dependencies we mock them

paper viper
#

Mhm

tender shard
#

as said, I don't know much things about unit testing 😄

ivory sleet
#

Yeah

#

Well anyways whether you use a singleton or pass your instance probably doesn’t matter

tender shard
#

but ofc I'm always up to learning new things

ivory sleet
#

And if it’s just an internal project refactoring won’t be the hardest thing to do

ancient plank
#

I tried unit testing but i got stuck

paper viper
#

You cant just think abt what you are doing rn that may seem easy. I encourage to switch cause u prolly will have to unit testing eventually as a coder

ivory sleet
paper viper
#

Conclure you can use mockbukkit and Junit at the same time

#

right

#

is that what u do

ivory sleet
#

The biggest benefit with automated testing, is that you can prove your code is not wrong

#

Hmm Pulse not at the same time

#

But I have used them hand in hand

paper viper
#

Yea im doing both

#

im using a hybrid and also using junit alone

ivory sleet
#

Ah

#

Sounds nice

tender shard
#

yeah but I still don't really get it. I can test whether my code is doing fine by just running it. For all things that actually depend on the game, I have to run it on a real server anyway, Mockbukkit won't help. Did I get this right?

ivory sleet
#

That’s where you get it wrong

#

MockBukkit can emulate a real server

tender shard
#

oh

ivory sleet
#

And it has certain api methods like fireEvent(event) which can emulate certain actions being made

ivory sleet
#

so yeah

ancient plank
#

OwO?

ivory sleet
#

Fully automated

tender shard
#

what exactly can it simulate though? it can't emulate a player right-clicking a block at XYZ with COAL_BLOCK at that location, can it?

paper viper
#

Yes

tender shard
#

oh nice

#

then it's getting interesting

ivory sleet
#

I think it’s even capable of such stuff yeah lol

ancient plank
#

Idi why i tried to read code on my phone

#

Literal impossible

grim ice
#

same

ivory sleet
#

Birds can’t read tho so no worries Adele

paper viper
#

lol

tender shard
#

can someone teach me how to get started with mockbukkit?

ivory sleet
#

Pulse

paper viper
#

then first get rid of your static singletons 🥲

ancient plank
#

No!

tender shard
#

why? Conclure said it's no problem

grim ice
#

can u read on THIS though

paper viper
#

its fine i guess.. for now

tender shard
tender shard
ancient plank
#

Oop my b

tender shard
#

but I also think it doesn't make any difference because I'll always have a main instance

#

otherwise - what else should instantiate my other classes?

quaint mantle
#

I think im dong bad oop too if my constructor always like that…

ivory sleet
#

Anyways mfnalex if you’re serious about getting into testing, just trying something like JUnit on its own first might be insightful. Also might wanna go and learn about the techniques like mocking and such.

tender shard
#

tbh I'm not a friend of all those conventions. some are good, no doubt. But when you ever worked in a company that used things like AbstractPluginFactoryFactory, you want to get rid of all this stupid enterprise stuff as soon as possible lol

ivory sleet
#

Lmao

tender shard
ivory sleet
#

Hmm I’m a bit tired today although I guess I could rant it through in a thread some day soon.

tender shard
#

that would be awesome. I'd love to learn new things but tbh I need real life examples for it, otherwise I'll just think "ugh, how useless" lol

quaint mantle
#

KISS is cool

ancient plank
#

I dreamt that i was lazy so i used that one dependency whose name evade me, to put @Getter annotations and it was pog

ivory sleet
tender shard
#

lombok is nice

#

I don't understand why so many people hate it

ivory sleet
#

It’s nice when it works

tender shard
#

it always worked for me 😄

ivory sleet
#

For instance on GitHub

tender shard
#

only thing I dislike about it is javadocs

ancient plank
#

My github copilot was being overly aggressive so i had to turn it off 😔

young knoll
#

Does CB use mockbukkit for testing?

ivory sleet
#

You can’t jump between variables and classes if someone decided to inject those Lombok annots

ivory sleet
tender shard
ivory sleet
#

Don’t think so tho

young knoll
#

Wonder what MD has whipped up then

#

It does start a dummy server

ivory sleet
#

Also lombok doesn’t support mspaint ide🥴

#

Or the other way around lol

ancient plank
tender shard
#

spigot doesn'T support it too

#

so

#

fuck spigot

young knoll
#

Lombonk

ancient plank
#

I was just complaining abt copilot

paper geode
#

would someone happen to know how to make a player fully invis, but they still show up in tab.
cant figure it out 😳

tender shard
#

what even is mspaint ide lmao

ancient plank
#

Draw

young knoll
#

An ide based on paint

tender shard
paper geode
#

oh that exists now?

tender shard
#

I prefer Photoshop IDE though

tender shard
#

md_5 pointed it out to me today

#

however it wasn't useful to me because I needed it for "fake"/NMS entitites

#

but yeah you can now hide "real"/bukkit entities through the API

#

idk if it's 1.17+ or 1.18+ though

young knoll
#

1.18

paper geode
#

i am on 1.18

grim ice
#

i just turned off my antivirus

tender shard
grim ice
#

becuz im too lazy to select excluded apps and files

paper geode
#

doesnt seem to exist 🤨

tender shard
#

yeah I just checked too

#

wait

#

let me search md_5's message

grim ice
ivory sleet
#

Do u have latest of the latest build installed thonk

tender shard
#

here ^

paper geode
#

oh damn

#

thats a dead end, the only methods starting with hide are hidePlayer

tender shard
#

hm no idea then

#

get latest spigot

#

try again

ivory sleet
#

Actually he might have forgotten to push it

grim ice
#

PacketPlayOutEntityDestroy KEKW

ancient plank
#

Gg

paper geode
#

seems to be deprecated though

tender shard
#

no

young knoll
#

Yes

tender shard
#

it's a draft API

young knoll
#

It’s draft API

paper geode
#

ah

tender shard
#

it's like the opposite of deprecated

#

like

paper geode
#

deprecated'nt

tender shard
#

"not finished yet, might change"

paper geode
#

well, i did update spigot two hours ago

#

and md5's message was three hours ago

tender shard
#

hm then you should have it

#

no idea 😄

young knoll
#

The commit was days ago

ancient plank
#

Thanks discord

ivory sleet
#

🌝

paper geode
#

time to refresh maven a dozen times

#

wakey wakey

quaint mantle
#

🌞

tender shard
#

ugh wekan sucks hard

quaint mantle
#

Who

finite brook
#

Hey there, please tell me if I'm stupid, how can you get a player's persistent data container?

crimson terrace
#

via their MetaData

finite brook
#

And how can you get that?

tender shard
#

player.getPersistentDataContainer()

crimson terrace
#

oh was it the items you needed metadata for?

tender shard
#

yes

crimson terrace
#

goddamnit. always getting those confused

tender shard
#

😄

#

al entities implement the PDC stuff

#

and yes, for itemstacks you need the itemmeta

ancient plank
#

yo this mockbukkit thing is cool

tender shard
#

i'll check it out soon :3

onyx shale
paper geode
#

why does the hideEntity method need "plugin - Plugin that wants to hide the entity"

#

🤨

onyx shale
#

look at the show method

finite brook
#

Let's say I wanted to add "hunter":"1b" to the player nbt. How would I do that?

tender shard
onyx shale
#

show method must have all plugins who hid the entity

tender shard
#

it porbably works like chunktickets

onyx shale
#

to unhid it

paper geode
#

right

tender shard
#

yeah it's basically to avoid plugin conflicts

#

imagine two plugins want to hide an entity

#

and one wants to show it again

paper geode
#

makes sense

onyx shale
#

sadly it will make plenty of conflicts i hink

tender shard
#

that would destroy the "hide" feature from the other plugin

onyx shale
#

mans preparing the spoon👀

tender shard
#

player.getPersistentDataContainer().set(new NamespacedKey(yourPlugin,"hunter"),PersistentDataType.BYTE,1b);

#

might contain typos

#

I wrote that by hand

paper geode
#

tab complete is a friend

tender shard
#

but not when you're submitting java code inside discord

paper geode
#

unfortunately discord isnt an ide

#

electron ide 😋

onyx shale
#

yet

paper geode
#

jetbrains x discord collab

finite brook
#

If I have the player as org.bukkit.entity.player, will it work?

paper geode
#

welp, hideEntity didnt help with this

tender shard
#

yes

paper geode
#

player's still being hid from the tab

#

😭

tender shard
#

you'll have to send a packet to all remaining online players that this player who you've now hidden, has joined again

paper geode
#

really didnt want to mess with packets but here we go again

tender shard
#

you'll have to though :/

paper geode
#

seems like it

tender shard
#

but don't worry. If you use mojang mappings and got a proper maven module setup, NMS will work for all future versions too with only minor adjustments

quaint mantle
#

@tender shard hi sorry for distrubing you again, but i tried and tested your way now and it doesn't work...It doesn't throw any error or smth just nothing

tender shard
quaint mantle
#

So, i am trying to read data from a config.yml file and then put it into a HashMap<String,String>

tender shard
#

ah yes

#

I wrote you a tiny for loop

#

can you send it again pls

quaint mantle
#
        for(Map.Entry<String, String> entry : chunks.entrySet()) {
            hash.getHash().set("claims."+ entry.getKey(), entry.getValue());
        }
        hash.saveHash();
    }
    
   
    
    public void restoreClaims() {
        for(String key : getConfig().getKeys(true)) {
           chunks.put(key,hash.getHash().getString(key));
        }
    }```
#

The above thing is mine to put it into the yml file

#

and hash is my custom yml file

tender shard
#
public void saveClaims() {
        for(Map.Entry<String, String> entry : chunks.entrySet()) {
            System.out.println("Setting claims." + entry.getKey() + " to " + entry.getValue);
            hash.getHash().set("claims."+ entry.getKey(), entry.getValue());
        }
        hash.saveHash();
    }
    
   
    
    public void restoreClaims() {
        for(String key : getConfig().getKeys(true)) {
           chunks.put(key,hash.getHash().getString(key));
        }
    }
#

try this

onyx shale
#

this feels like over complicating tho

tender shard
#

I just added a debug statement

tender shard
tender shard
onyx shale
#

well cant even see what hash.getHash is

#

or how is he even saving it

quaint mantle
onyx shale
#

but ur getting keys

tender shard
#

true, but I wasn't worrying about that. The actual problem was to load a YAML into a HashMap<String,String>

onyx shale
#

without specifying the claims path?

quaint mantle
#

just my own yml so i don't get confused because i am using 3 of them

onyx shale
#

for(Strings key : getConfig().getConfigurationSection("claims").getKeys(false))

#

or i guess ur using the hashmap way not serializing it by hand

quaint mantle
#
    private HashMap<String, UUID> trusted;
    int claims;
    double coins;  
    
    
    public void addChunk(String chunk, String owner) {
        chunks.put(chunk, owner);
    }
    
    public boolean isChunk(String chunk) {
        return chunks.containsKey(chunk);
    }
    
    public String getOwner(String chunk) {
        return chunks.get(chunk);
    }
    public void remChunk(String chunk, String owner) {
        chunks.remove(chunk, owner);
    }
    
    
    
    
    public void addTrust(String chunk, UUID trust) {
        trusted.put(chunk, trust);
    }
    public UUID getTrusted(String chunk) {
        return trusted.get(chunk);
    }
    public void remTrust(String chunk, UUID trust) {
        trusted.remove(chunk, trust);
    }
    ``` this is all my code for the hashmaps
#

chunks is the one for the claims, i want to put it into it

onyx shale
#

also i see something strange

#

you never clean the config file

#

if there is an old chunk deleted from the memory

#

the save wont overwrite it

#

it will load it back again after the restart or reload

quaint mantle
#

how do i do that?

onyx shale
#

you should do a cleanup

#

.set("claims",null)

#

then add the chunks

quaint mantle
#

okay, so on save up hash.getHash().set("claims.", null);

#

and after that the rest of the code

onyx shale
#

so in saveclaims before looping do a set null

#

yes

quaint mantle
#

okay

#

@onyx shale like this public void saveClaims() { for(Map.Entry<String, String> entry : chunks.entrySet()) { hash.getHash().set("claims.", null); System.out.println("Setting claims." + entry.getKey() + " to " + entry.getValue()); hash.getHash().set("claims."+ entry.getKey(), entry.getValue()); } hash.saveHash(); }?

onyx shale
#

not inside the for loop

#

you need to do it only once

#

do it before looping

quaint mantle
#

oh outside of the for loop yeah sorry lol

#

i am kinda stupid xD

ember estuary
#

How can i make my anonymous function get the right subclass?

#

I want r to be a RectangleObject

#

(without implementing the addEventListener on every subclass)

quaint mantle
#

this is my config rn:

  '-14':
    '-2': fe41bddb-1f29-48ac-b093-24344a5f00ed
quaint mantle
#

Oh wait

tender shard
#

so what's the problem exactly? Your yaml is fine, and the hashmap is fine too

maiden mountain
#

Quick question: What is the preferred Java SDK version for developing an plugin?

tardy delta
#

java 8

tardy delta
#

idk if thats a sdk but yea

#

😄

tender shard
#

for MC 1.18+: java 17
for MC 1.17+: Java 16

crimson terrace
tender shard
#

for older MC: java 8

ember estuary
quaint mantle
#

okay so i do the command /claim which puts the data into the hashmap. On server stop it will save the data into the config and on start put it again into the Hashmap. But now i can claim the same chunk again.. Normally i couldn't because it checks if the chunk is contained in the hasmap

maiden mountain
#

Well, my plugin is not really depended on the newest MC versions

ember estuary
#

cant rlly use an interface as i cant have variables in that

maiden mountain
#

It can run on 1.13 aswelll

tender shard
quaint mantle
#

Floskatler your design is strange

ember estuary
#

:(

quaint mantle
#

User already has window

#

Why do you pass it in the lambda

maiden mountain
#

So that means I should set the SDK to 1.8?

ember estuary
#

yeah but i dont wanna manipulate the original one on hover

ember estuary
#

thats why i clone it

maiden mountain
#

Got it

#

Gracias amigo

tender shard
#

np 🙂

ember estuary
#

otherwise i cant rollback on hover-stop

#

uk

quaint mantle
#

make them immutable maybe?

ember estuary
#

whats them?

maiden mountain
#

I still need to get used to all these SDK versions ahaha

tender shard
#

and noone is using anything older than java 8 anymore

#

so just use 1.8

quaint mantle
#

RectangleObject

quaint mantle
#

where is 1.18 download?

maiden mountain
#

What about the Spigot version?

quaint mantle
#

i always use the newest

crimson terrace
tender shard
quaint mantle
quaint mantle
tender shard
#

essens?

#

that's not a word I think

maiden mountain
#

If I use the 1.17 spigot jar. It works on 1.13 aswell right?

#

Unless i use newer features ofcourse

maiden mountain
#

Alright got it

quaint mantle
maiden mountain
#

Gracias again amigo

tender shard
quaint mantle
ember estuary
#

@quaint mantle
So i have a rectangleobject and it has different attributes like width,hight,text etc.
On Hover, i want some properties to be changed, for example the text or width.

rect.addEventListener("hover", r -> {
    r.setText("newText");
    r.setWidth(30);
});

When you dont hover anymore, the properties should change back to what they were before.

My approach is to simply copy the original rectangleobject on hover start, change the copy as specified in the Event, and display that changed copy when the user hovers. and when he doesnt hover anymore, show the original again.

quaint mantle
tender shard
tender shard
#

you're in the wrong channel

quaint mantle
#

ok

#

@tender shard okay so i do the command /claim which puts the data into the hashmap. On server stop it will save the data into the config and on start put it again into the Hashmap. But now i can claim the same chunk again.. Normally i couldn't because it checks if the chunk is contained in the hasmap

quaint mantle
ember estuary
#

is there a better apprach to it?

tender shard
tender shard
#

the question was whether a plugin developed for 1.17 will also work in 1.13

tardy delta
#

if you dont answer i cant help you

quaint mantle
#

It will, but if you develop against 1.17, java 16 is required on the server. If you develop against 1.13,you can use java 8

tender shard
#

that's what I said

quaint mantle
#

it checks it

ember estuary
quaint mantle
#

also brb

tardy delta
#

is there also an else part that executes when the chunk is no claimed?

ember estuary
#

im making a gui

tardy delta
#

or an early return

tender shard
ember estuary
#

my own

tender shard
#

then you should know that yourself, how should we know how your own framework works?

ember estuary
#

i am trying to figure out HOW to make it work

tardy delta
ember estuary
tardy delta
#

damn

ember estuary
#

auto text-centering, borderradius, canvas to draw stuff (f.e. the cube), ...
and hover events. but what u see in the gif is hardcoded. i could like to do the hover as specified above.

ember estuary
#

im not that deep into OOP

ivory sleet
#

Wym get the right subclass?

ember estuary
#

well, u see how it returns this.clone() (simply returning this gives the same result)

#

this should be a rectangleobject when i call addEventListener on a rectangleobject

#

but it returns a windowobject (superclass)

#

therefore intellij doesnt show the functions and attributes of rectangleobject unless i cast windowobject to it

#

get the problem?

#

if addEventListener is called on RectangleObject, r should be a RectangleObject (and not a WindowObject (which is the superclass))

quaint mantle
ember estuary
#

@ivory sleet get what i mean?

#

changing my interface to this also didnt help

#

now it just says T, and not RectangleObject :/

ivory sleet
#

Well

ember estuary
#

should this have the class of the subclass?

ivory sleet
#

One way would be to parameterize the class

ember estuary
#

what does that mean xD

ivory sleet
#

interface EventFunction<T extends Blah> {
void on(T t);
}

#

As of now, there is no type of argument which can conform T to whatever you want

ember estuary
#

intellij marks it, but doesnt know what to do

#

xD

#

and i dont either xD

ivory sleet
#

<T extends Blah> void addEventListener(String event, Class<T> eventType, EventFunction<? super T> function) {

}

paper viper
#

xD Chain!!!

ivory sleet
ember estuary
#

but then i have to pass the class when doing addEventListener, right?

ivory sleet
#

Yep

ember estuary
#

well that sucks

#

so no simple way to get r to be RectangleObject when i call it on a rectangleobject?

ivory sleet
#

I mean that’s mainly due to how strongly typed java is

#

I mean there is

ember estuary
#

i could implement addEventListener on every subclass i guess

#

but that sucks too

ivory sleet
#

Does RectangleObject extends something?

ember estuary
#

yeah, WindowObject

ember estuary
mighty pier
#

is it possible to get the amount of players any server has?

#

example: hypixel, mineplex....

ivory sleet
#

Could have
class WindowObject<T extends WindowObject<T>> {

void addEventListener(String name, EventFunction<? super T> function) {

}
}

#

Then in your subclass
class SubObject extends WindowObject<SubObject> {

}

ivory sleet
#

With the assumption that the server doesn’t lie about it

ember estuary
#

@ivory sleet now r is of type WindowObject<RectangleObject>, which still doesnt allow me to use methods from rectangleobject

#

ah wait, i can use T to cast right

#

wait nah i cant

#

ok mightve got it to work, ty!

graceful turret
#

how to check when player is rotating inside vehicle?

ember estuary
#

get moveevent and check the yaw?

#

maybe gotta check it on vehiclemoveevent, not sure

graceful turret
#

player move event doesnt trigger inside vehicle

#

i checked it

ember estuary
#

then vehicle move event

graceful turret
#

dooesnt work too

ember estuary
#

thats weird

#

it gets triggered tho right?

mighty pier
#

i meant

#

how do i do t

ember estuary
#

u get the yaw from the getTo location, right, @graceful turret

graceful turret
ember estuary
#

ok no

#

use e.getTo().getYaw()

#

thats the new yaw of the player if im correct

#

p getLocation getYaw should be his old one

#

im not entirely sure, but try it

#

@graceful turret

graceful turret
#

ok

ember estuary
#

if ur unlucky its the yaw of the vehicle

#

xD

paper viper
ancient plank
#

xd chain!!!!

paper viper
#

i left my laptop in history class

grim ice
#

lmfao

graceful turret
#

@ember estuary there's a problem because this event even not triggers

#

if i am just rotating

paper viper
#

then the girls found it and gave it to me

#

in gym class

#

they typed that lol

grim ice
#

nice

#

in my country it would get stolen

#

and u will never see it again

smoky oak
#

how do i add the API to IntelliJ again? I tried adding it via the context menu and it shows up in the 'External Libraries' tab and the project shows the bukkit symbol but it still says 'Dependency not found'. I'm building using Maven

#

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

sour parrot
#

7.6$ per month for singapore host 8gb ram with Xeon E 2276G cpu
Is it worth it?

smoky oak
#

nevermind i found it

digital rain
#

ok pls someone help me to start up a 1.16.5 after i installed java 17, i still have the java 1.8 tho

ember estuary
#

but lets ask the other people, maybe they know a better way

graceful turret
#

@ember estuary i figured it out - i just have to create new location and teleport entity to it

lunar schooner
#

Hey folks, working on porting my NMS work to 1.18, I'm looking for the new name of isDebugWorld() and isFlatWorld() defined in net.minecraft.world.level.World and WorldServer, what are the new names for these? I cannot find the World class on Mini's mappings viewer to try and find it myself 😅

#

Or rather, the obfuscated names

ancient plank
patent quarry
#

Hey ! Is it possible to make the slime faces the ground ? (eyes down)

lunar schooner
#

You could try modifying the rotation, but I'm not sure this is possible

tardy delta
#

Texture pack

lunar schooner
#

Possible as in, possible at all server side, or possible with the Spigot API, you might have to reach for NMS

patent quarry
#

Yes I tried slime.setRotation(0, 90); but the rotation seems only possible for the yaw not the pitch

lunar schooner
#

You could try working with NMS, but I doubt thatll solve it, so you'll likely have to reach for a texture pack I'm afraid

buoyant viper
#

yaw in mc is weird to say the least

#

bc its really not visible

lunar schooner
#

An option would be, but this is quite a lot more complicated, is to spawn a custom player with a custom slime skin

#

would require a lot of NMS too

patent quarry
#

Thank you for your answers

lunar schooner
quaint mantle
lunar schooner
#

There indeed is a Level class! Odd that that is renamed in the Spigot jar

ivory sleet
lunar schooner
#

Then I am also looking for the Mojang variant of WorldServer 🤔

karmic grove
#

can you make custom ores with plugins

lunar schooner
lunar schooner
karmic grove
#

can you like make certain blocks spawn underground

#

that already exists in the game

paper viper
#

im scared lmfao cause they probably looked at my grades

blazing scarab
#

having a LoL pfp is already enough

paper viper
#

Yeah lol

#

tbh i havent changed my pfp for a while now (months)

#

too lazy to find smthing better

blazing scarab
#

i havent changed my pfp for 4 years smh

paper viper
#

F

blazing scarab
#

lied, 3 years but still

ancient plank
#

pog

hexed hatch
#

Does anyone know a good method for sending a redstone pulse with proper block updating and whatnot?

#

I attempted it in the past and wasn’t getting very good results, I’m trying to pulse a redstone signal just like a button would

hoary pawn
#

shouldnt why does the first one should null, it should say stick right?

ancient plank
#

shouldnt why does the first one should null

hoary pawn
#

ok i realise that does not make sense xd

#

why does the first one show null shouldnt it show first stick?

buoyant viper
#

label is the alias of the command used @hoary pawn

hoary pawn
#

waiiit

#

so its args[0]

buoyant viper
#

yeah

hoary pawn
#

that does make sense

#

wait does it

hoary pawn
vague oracle
#

gives you the first argument used in the command

#

or null if none were given

ancient plank
#

first_item in this case

grim ice
#

ah yes

#

GetHashMap

#

😭

#

sply i told u before about java conventions

quaint mantle
broken helm
#

What would you say is the best way to search a y-coordinate from top to bottom in the nether for a safe spawn point? I was thinking of doing a binary search and even getting it down to O(1). Though the nether can be deceiving and not get the exact results needed with this type of search (but this can be overcome).

karmic grove
#

can you make certain blocks spawn underground
that already exists in the game
And is there any tuturials for it i cant see anything about it

opal juniper
#

it depends how much you are calling it

#

even if you were looping over every block but only when a player spawns that is "fine"

opal juniper
#

like from bottom to top

broken helm
#

I think I linear search would work fine too

opal juniper
#

to find a spawn

#

yeah

#

i mean, how much are you running this?

hoary pawn
broken helm
#

Maybe give the two a test (doing linear from bottom) and see which one does better

grim ice
#

thanks

broken helm
#

It has really good runtime

lapis lark
#

Could someone help? My first IntelliJ with maven experience. Maven compiles plugin not to jar, but to folder (files are .class). How i can fix it, so files will be compiled to jar?

<build>
        <finalName>${project.name}-${project.version}</finalName>
        <defaultGoal>clean package</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <outputDirectory>E:\NTD Studios\intelli-test</outputDirectory>
    </build>
tender shard
#

you should at least use maven package

lapis lark
#

ctrl + F9?

#

default intelliJ build operation

tender shard
#

that's wrong

#

you want to use maven

#

in the top right, there should be a maven tab

#

open that, go to lifecycle

#

then double click install

#

or package

lapis lark
spare prism
#

Why doesn't it work?

        System.out.println(event.getClickedBlock());
        System.out.println(event.getClickedBlock() instanceof BlockInventoryHolder);
[15:29:43] [Server thread/INFO]: CraftBlock{pos=BlockPosition{x=141, y=66, z=96},type=FURNACE,data=Block{minecraft:furnace}[facing=west,lit=false],fluid=net.minecraft.world.level.material.FluidTypeEmpty@6af5bbd0}
[15:29:43] [Server thread/INFO]: false
lapis lark
tender shard
tender shard
tender shard
spare prism
#

cause Furnace extends this class

tender shard
#

if so: a block will never be instanceof BlockInventoryHolder. You want to compare the BlockState instead

#

Furnace does, but your block is not instanceof Furnace. It's state will however, be

#
        System.out.println(event.getClickedBlock().getState() instanceof BlockInventoryHolder);
lapis lark
#

Yes, it works. Thanks. But file is generating with name plugin-1.0-SNAPSHOT and at /target/ path. Is there any way to change building path?

tender shard
#

yes, sure

#

one sec

tender shard
#

inside <build><plugins> ?

#
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.3.1</version>
      <configuration>
        <outputDirectory>/my/path</outputDirectory>
      </configuration>
    </plugin>
  </plugins>
</build>
lapis lark
#

Now it generated splited per module

tender shard
#

show your pom pls

lapis lark
#
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>me.DenBeKKer</groupId>
    <artifactId>MavenTest</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>plugin</module>
        <module>nms-base</module>
        <module>nms-1_18_R1</module>
        <module>nms-1_17_R1</module>
    </modules>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <build>
        <defaultGoal>clean package</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <outputDirectory>E:\NTD Studios\intelli-test</outputDirectory>
                </configuration>
            </plugin>
        </plugins>
        <finalName>${project.name}-${project.version}</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

</project>
tender shard
#

yeah it's normal that it creates one jar per module. doesn't your final jar contain all modules?

spare prism
tender shard
lapis lark
#

There is only module jars

#

I cannot find final jar. Or is it located at another path than <outputDirectory>?

quaint mantle
#

java.lang.IllegalArgumentException: No enum constant org.bukkit.Material.RAW_FISH
api-version: 1.16

young knoll
#

I don't think raw fish is a modern material

tender shard
#

RAW_MISH might have been a thing 10 years ago, but definitely not in recent versions

hoary pawn
quaint mantle
#

hi im trying to use buildtool but it is saying i dont have PortableGit when i do

#

?

digital rain
#

what am i doing wrong aaa

hexed copper
#

dffffffff

patent wadi
#

Hi, I just ran buildtools to start updating some plugins and all the imports have vanished.

young knoll
#

Read the update post

patent wadi
#

aaahhh i see, thanks

digital rain
#

where do i download the 1.18 spigot api

karmic grove
#

i dont think its out yet

young knoll
#

It is

#

It's on maven

tardy delta
#

i'm creating a wrapper class around a player which loads and saves data, manages chatchannels, etc should i store a player instance internal or just an uuid as it is easier to get the actual player object rather than calling Bukkit.getplayer(uuid) every time

quaint mantle
tardy delta
#

wdym separating? the user class needs player stuff to work with

mighty pier
#

someone link me a java tutorial

eternal oxide
#

UUID, NEVER store a Player

eternal night
#

store a player in a weak ref hash map :>

eternal oxide
#

Fetch it from a UUID when you need it and thers no need to Weak maps nor validating anything

eternal night
#

true that 😂

tardy delta
#

ok

#

i saw essentials using players

quaint mantle
#

dont make a wrapper. If you need to sendMessage, use player. If you want to set channel, use your User Object

grim ice
#

i didnt know it was that important

#

or i knew but i forgot

#

and i just got used to do it

grim ice
undone axleBOT
mighty pier
#

ty

tardy delta
#

how does Bukkit.getPlayer(uuid) even works internal? just a for loop?

spiral light
#

how long does it take adding a pr or md5 and so on?

young knoll
#

Depends on the size

floral kindle
#

I'm having trouble reading the library from 1.17 in eclipse! Can someone help me?

ivory sleet
#

It uses a HashMap afaik

eternal oxide
tardy delta
#

oh and i see Server is an interface

#

is there a way to see the implementation?

eternal oxide
#

CraftServer is the implementation

spiral light
#

wasnt the new Bootstrap a 1.18 feature ?

tardy delta
#

oh thanks

#

forgot about that 😅

floral kindle
eternal oxide
#

ah I saw 1.18 in the pick and didn;t notice yoru question was about 1.17

#

show some actual errors then

floral kindle
eternal oxide
#

a red cross just says there is an error

#

what error is in the problems tab?

floral kindle
eternal oxide
#

OK, if you don't want to give us any information to help you with

#

All you have shown is a red cross warning, with zero information

floral kindle
#

Fun after adding a new library that was 1.18

eternal oxide
#

OK we are getting closer. You are using 1.18 in that code and NMS

#

it no longer has getId()

tardy delta
#

new ArrayList<>(entityarmorstands).get(0) :/

quaint mantle
#

entityarmorstands.iterator().next() :)

tardy delta
#

is it an array?

floral kindle
#

I'm also using the library from 1.17

ember estuary
#

How do you rotate a rectangle like this?

vagrant edge
#

how can i make my plugin compatible with both spigot and bungeecord? like this, but when i load the plugin on the proxy it says me
java.lang.NoClassDefFoundError: org/bukkit/plugin/java/JavaPlugin

Please ping in case.

ember estuary
#

given you have x,y,width,height and a rotation in degrees

#

and a grid you paint pixels on

#

how do i calc where the pixels go?

#

or better: how do you rotate anything? (triangle, ellipse, ...). is there a formula?

karmic grove
#

whats the player give function

#

player.give dont work

ancient plank
#

player give function

ember estuary
#

xD

hollow spindle
#

Get their inventory and addItem

ember estuary
#

^

ancient plank
#

player.give(Action.HIGH_FIVE);

#

I gave the player a high five

young knoll
#

You need a class for bungee and a class for spigot

#

And bungee can't touch spigot imports, and vice versa

karmic grove
torn oyster
#

is there a way to only generate worlds that do not have the spawn as an ocean

#

cuz i make 100x100 worlds generate

karmic grove
#

in spigot?

torn oyster
#

yes

karmic grove
#

oh

torn oyster
#

well i use paper as software

#

basically my minigame has 100x100 random worlds, but when it is an ocean world, it ruins the fun

#

and i have to force end the game

#

how do i stop this

grim ice
#

check if the spawn location has water

#

scan 25x25 of the world, make some logic to get the amount of water out of the amount of blocks

vagrant edge
grim ice
#

if its above 50/100 then force end the game

torn oyster
#

i dont want it to force end the game

#

i dont want water to generate entirely

grim ice
#

replace water with dirt

#

ez

#

just kidding, lemme think

vagrant edge
#

bungee and spigot plugin

hollow spindle
grim ice
torn oyster
#

and usually people join in about 1 min before game starts

#

so it has 1 minute to cycle through worlds

#

not efficient

#

they said to try this in that thread

Field biomesField = BiomeBase.class.getDeclaredField("biomes");
biomesField.setAccessible(true);

if (biomesField.get(null) instanceof BiomeBase[]) {
    BiomeBase[] biomes = (BiomeBase[]) biomesField.get(null);
    biomes[BiomeBase.DEEP_OCEAN.id] = BiomeBase.PLAINS;
    biomes[BiomeBase.OCEAN.id] = BiomeBase.FOREST;

    biomesField.set(null, biomes);
}```
hollow spindle
#

So would it be better to generate with 1-2 worlds being a buffer?

torn oyster
#

but it appears to be 1.8

burnt current
#

Hey quick question: I'm currently trying to work with the Attribute Modifier on items and the first thing I'm trying to do is change the AttackSpeed of a tool. Unfortunately, I still don't quite understand how it works from the stuff I've found on the internet.Can anyone help me with this by chance?

hasty fog
torn oyster
hoary pawn
torn oyster
#

ItemStack cannot be cast to ItemMeta

#

there's your problem

hasty fog
digital rain
#

guys does anyone know how eclipse works?

#

i mean im working in it i just dont know the features yet

hoary pawn
torn oyster
#

dont cast itemstack to itemmeta

#

do ItemStack.getItemMeta()

#

or something

hoary pawn
#

but that cant set the meta can it?

torn oyster
#

then do ItemStack.setItemMeta(modifiedMeta)

hoary pawn
#

AHHH

#

that makes sense

#

thx

digital rain
#

okay im sad now, has anyone here managed to create a 1.18 plugin since the settings changed all over the place

halcyon topaz
#

'x()' in 'net.minecraft.world.entity.EntityInsentient' clashes with 'x()' in 'net.minecraft.world.entity.EntityLiving'; attempting to use incompatible return type

tender shard
digital rain
#

ill dm you if i can

halcyon topaz
#

LMAO

tender shard
#

😄

#

in mojang mappings, there are no methods called x() 🙂

#

@digital rain

the problem is that when i add spigot-1.18 as my referenced library it just doesnt seem to contain all stuff
That's correct. Did you run BuildTools.jar --rev 1.18 --remapped ?

#

also: are you using maven, or adding the .jar manually?

digital rain
#

i just ran buildtoolds without the remapped thing

torn oyster
#

can anyone help me remove oceans from worlds

tender shard
halcyon topaz
tender shard
#

show your pom.xml please

halcyon topaz
#

Do you want pastebin?

sinful matrix
#

Guys i have a problem when i build my plugin:
Cannot determine path to 'tools.jar' library for openjdk-17 (C:/Users/TAAFRLE2/.jdks/openjdk-17)

tender shard
#

you have the wrong dependency @digital rain

digital rain
#

i just have downloaded buildootls and used this

tender shard
#

instead of this:

        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.18-R0.1-SNAPSHOT</version>
            <classifier>remapped-mojang</classifier>
            <scope>provided</scope>
        </dependency>
#

use this:

#
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.18-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot</artifactId>
            <version>1.18-R0.1-SNAPSHOT</version>
            <classifier>remapped-mojang</classifier>
            <scope>provided</scope>
        </dependency>
royal vale
#

How to use net.md_5.bungee.api.chat.hover.content.Content?

tender shard
#

you want the spigot-api without a classifier, and the spigot thing with remapped-mojang

halcyon topaz
#

I see

digital rain
#

where do i do that? im really confused

tender shard
digital rain
#

whattt

tender shard
digital rain
#

i have no idea at all what you mean

#

im not good at this stuff

tender shard
#

I sent you some text

#

you have to put that into your pom.xml

tender shard
digital rain
#

there is no such thing as pom.xml in my buildtools folder

tender shard
#

huh? no, inside your plugin's project

#

ooh I'm so sorry

#

you were not the person who sent their pom

#

sorry I confused you

digital rain
#

lol

#

thats alr

tender shard
#

check out what I wrote to Papple

tender shard
halcyon topaz
#

Yeah already did! 👍

tender shard
#

does it work? 🙂

halcyon topaz
#

Not quite.. I still see the 'x()' in 'net.minecraft.world.entity.EntityInsentient' clashes with 'x()' in 'net.minecraft.world.entity.EntityLiving'; attempting to use incompatible return type

tender shard
#

IntelliJ?

halcyon topaz
#

Yeah

tender shard
#

did you click the "reload maven" button?

halcyon topaz
#

Yeah

tender shard
#

Try File -> Invalidate Caches and let IntelliJ restart

#

click Invalidate and Restart there

halcyon topaz
#

Kk

digital rain
#

the problem im facing that this is how all 1.18 spigots look like, nothing else (this would be my question) 😄

tender shard
#

the "real" spigot is inside META-INF/libraries

#

do you actually need NMS methods @digital rain ? Or just the normal API stuff?

halcyon topaz
#

Same issue 😦

digital rain
#

normal api stuff

tender shard
digital rain
#

nop

tender shard
halcyon topaz
digital rain
#

just when i try to create a new project it cant import any of the org.bukkit methods

tender shard
halcyon topaz
#

Should I delete all the files and restart the BuildTools?

tender shard
#

but the one that you can find inside BuildTools/Spigot/Spigot-API/target

tender shard
tender shard
halcyon topaz
tender shard
sinful matrix
#

What do i have to do?

tender shard
sinful matrix
#

when i build the project

tender shard
tender shard
sinful matrix
#

build -> artifacts

tender shard
#

then you messed up your build configuration to include something like "tools.jar" I think

digital rain
tender shard
sinful matrix
#

nope

#

A 1.18 Project with java 17

tender shard
sinful matrix
#

here is the artifact

tender shard
#

it should actually automatically install everything to your local maven repo

tender shard
digital rain
#

in cmd

#

okay

sinful matrix
halcyon topaz
sinful matrix
tender shard
# digital rain okay

after buildtools ran, add the following jar as dependency:
BuildTools/Spigot/Spigot-API/spgot-ap-1.18-R0.1-SNAPSHOT-shaded.jar

tender shard
#

because World is spigot's name, while ServerLevel is the mojang name

halcyon topaz
#

I don't believe so

#
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.18-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot</artifactId>
            <version>1.18-R0.1-SNAPSHOT</version>
            <classifier>remapped-mojang</classifier>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.bukkit</groupId>
            <artifactId>craftbukkit</artifactId>
            <version>1.18-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>```
#

That's all the spigot jars in my pom

tender shard
#

yeah don't add craftbukkit lol

#

remove that

#

craftbukkit is included in spigot anyway

#

but now you have obfuscated NMS names from craftbukkit and remapped names from spigot

#

remove the whole craftbukkit thing

halcyon topaz
#

Okay I see

#

Thank you

tender shard
#

np

tender shard
halcyon topaz
#

Yeah gimme a sec

digital rain
tender shard
#

it should be:

#

java -jar BuildTools.jar --rev 1.18 --remapped

halcyon topaz
digital rain
#

i ran in 1.8 java since i have java 17 installed

lavish hemlock
#

Bloodlust-Infused? more like Lust-Infused 😉 maowtater

paper viper
#

no

halcyon topaz
tender shard
# halcyon topaz

you are passing the CraftWorld but you need the NMS world instead

halcyon topaz
tender shard
tender shard
digital rain
#

yeah idk mate but this whole 1.18 thing is confusing

tender shard
#

you are making live hard for yourself by doing it manually

halcyon topaz
digital rain
tender shard
#

?buildtools

#

h

sullen marlin
#

?bt

undone axleBOT
tender shard
#

I thought it was a thing

#

ah

#

thx

digital rain
#

anyways this is just pain

#

isnt the jar file downloadable somehwere

sinful matrix
#

Can maybe someone help me with this?

tender shard
#

no

#

the jar is not downloadable

#

just run buildtools. then you have the API inside BuildTools/Spigot/Spigot-API/target

#

or switch to using maven and all you have to do is done automatically

lavish hemlock
tender shard
lavish hemlock
#

tools.jar doesn't exist post-Java 9.

tender shard
#

as said it was removed in jdk 9

digital rain
#

im giving for now, and ill take sleep

digital rain
tender shard
sinful matrix
digital rain
#

yah alr

sinful matrix
lavish hemlock
#

I dunno.

#

Someone's clearly trying to use it.

tender shard
#

e.g. in your buildpath configuration etc

#

as I tend to say: use maven and you won't have those problems 😛

lavish hemlock
#

And also, a small tip

sinful matrix
#

i actually use maven

sullen marlin
#

post your pom please

#

oh if you arent using maven then idk

lavish hemlock
#

Any classes made available by tools.jar in Java 8 and below are not available to JRE users.

sullen marlin
#

make sure your IDE is up to date

tender shard
#

it doesnt look like you used maven to build the .jar though

sinful matrix
#

wait, i will create a new maven project

#

do I have to pay attention to something

lavish hemlock
#

Shameless plug btw

sinful matrix
#

Is this right for minecraft version 1.18?

sullen marlin
#

yes just click next, you dont need an archetype

sinful matrix
#

ok

sullen marlin
#

but also

#

did you just try googling your error

tender shard
sullen marlin
#

first google result says I predicted

#

your IntelliJ is too old for java 17

#

what version are you running

lavish hemlock
sullen marlin
#

java 17 was only just released, so you need the very latest version

lavish hemlock
#

Mainly, this allows you to patch into javac's AST via annotation processing hacks.

#

Y'know

Like what Lombok does.

dense onyx
#

hey, need some help
my maven config throws this when I run specialsource:remap
The parameters 'srgIn' for goal net.md-5:specialsource-maven-plugin:1.2.3:remap are missing or invalid

tender shard
sullen marlin
#

do you need to run the goal manually

#

just copy paste the example in the forums

lavish hemlock
#

In Java 9+ it's replaced by the module jdk.compiler and such iirc.

sullen marlin
#

it will run as part of your build

tender shard
sinful matrix
#

Should i build the project over build -> artifacts or otherwise?

tender shard
#

if you use maven

#

use maven to build

lavish hemlock
#

com.sun.source = AST declarations API.
com.sun.tools.javac = Javac classes.
com.sun.tools.sjavac = (or Smart Javac) An alternative entrypoint for Javac that apparently improves it but, as far as I know, goes unused.

tender shard
#

"package" is basically what build -> artifacts does. but it does so according to your pom.xml

#

oh wait. you're using eclipse right?

sinful matrix
#

How do i set this up?

#

no

#

intellij

tender shard
#

do you have a "maven" tab in the upper right corner?

sullen marlin
#

stop confusing the issue

#

just update your intellij

#

thats all you need to do

#

then you can go back to what you were doing before

tender shard
#

listen to md_5

#

he's probably right

#

Help -> CHeck for updates

sinful matrix
#

ok

lavish hemlock
#

(or alternatively, use JetBrains Toolbox)

sullen marlin
#

(literally first result on google for that error would've told you this)

sinful matrix
#

there is an update

tender shard
#

well

#

then get it

sinful matrix
#

IntelliJ IDEA 2020.2.4 available

tender shard
#

still outdated

#

recent one is 2021.3.something I thnk

#

2021.2.3

#

thats the latest version, at least for IDEA Ultimate

karmic grove
#

so i making a plugin so you cant place tnt but im trying to replace the tnt that you place but for some reason it duplicates it

#
@EventHandler
    public static void blockplace(BlockPlaceEvent event) {
        Player player = event.getPlayer();
        Block block = event.getBlock();
        Material material = block.getType();

        if(material.equals(Material.TNT)) {
            block.setType(Material.AIR);
            player.getInventory();
            ItemStack item = new ItemStack(Material.TNT);
            player.sendMessage(ChatColor.RED + "NO TNT FOR YOU DUNCE");
            player.getInventory().addItem(item);
        }
sullen marlin
#

no need to addItem

#

or setType

#

just event.setCancelled(true)

sinful matrix
#

IntelliJ IDEA 2021.3 available
This one right?

sullen marlin
#
    public static void blockplace(BlockPlaceEvent event) {
        Player player = event.getPlayer();
        Block block = event.getBlock();
        Material material = block.getType();

        if(material.equals(Material.TNT)) {
            player.sendMessage(ChatColor.RED + "NO TNT FOR YOU DUNCE");
            event.setCancelled(true);
        }```
karmic grove
#

that would work way better lol

grim ice
#

also onBlockPlace

#

name it that please

karmic grove
#

no

#

:)

grim ice
#

also dunno if u wannna make a whole variable for one usage, and why is there a player variable

karmic grove
#

so i can see who placed the block

crimson terrace
#

is it possible to make players displayName inbisible at range by setting their setCustomNameVisible to false? does it work the same as it does for mobs?

grim ice
#

no need to make a variable for something so short and used only once

sinful matrix
#

question, what is new in the update

#

intellij update*

sullen marlin
#

java 17 support

grim ice
#
@EventHandler
    public void onBlockPlace(BlockPlaceEvent event) {

        if(event.getBlock().getType().equals(Material.TNT)) {
            event.getPlayer().sendMessage(ChatColor.RED + "NO TNT FOR YOU DUNCE");
            event.setCancelled(true);
        }

}```
grim ice
karmic grove
#

what did you change

grim ice
#

stuff

#

compare it

#

it will work the same way

karmic grove
#

whats wrong with static tho

grim ice
#

best to avoid it when you can, static makes shit hard while testing

maiden thicket
#

is there a way to find nbt tag data without nms

indigo cave
#

Not that I can think of

#

Reflection

maiden thicket
#

if reflection or nms api only way then okie

smoky oak
#

how bad is the lag between using bukkit hooks and nms?

maiden thicket
dense onyx
#

I need help remapping my plugin 🤦‍♂️
both maven config and manual commands from here don't work
https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-release.534760/
maven config says my srgIn parameters are wrong and the manual command can't Initialize the main class??
Also tried this solution :
https://www.spigotmc.org/threads/1-17-1-specialsource-remap.522548/
but I'm getting a class not found error so I'm doing something wrong
thanks

sullen marlin
#

and isnt it op only by default anyway

#

minecraft.nbt.place is the permission

maiden thicket
#

i didnt make the plugin dont wor rey

#

worry

#

xd

sinful matrix
autumn talon
#

Hey guys, quick question. 1.16.5 has net.minecraft.server.v1_16_R3.EntityFallingBlock, which has a noclip field. I'm trying to update to 1.17.1, which has net.minecraft.world.entity.item.FallingBlockEntity, but there's no noclip field in that class. Does anyone happen to know what that field was renamed to/how to turn on noclip for a FallingBlockEntity?

I see verticalCollision and horizontalCollision, are those the same thing as 1.16.5's noclip?

arctic moth
#

anyone got a good tutorial explaining the newer custom generation system

#

im making something simple where the world is empty except a few randomly placed structures throughout the world

#

i cant rlly find anything on it

#

like theres no examples or anything

sullen marlin
#

I mean its basically the same

#

just override the appropriate method

arctic moth
#

i mean like the one with all the methods instead of the single method one

#

not just 1.18 lol

sullen marlin
arctic moth
#

thx

#

i just dont rlly understand like what ur supposed to put in generateNoise and generateSurface and stuff

sullen marlin
#

it doesnt really matter if youre just writing a single pass generator

peak granite
#

hi

#

how can i load a yml file in memory when server starts, then save it when the server stops

sullen marlin
#

onEnable/onDisable + YamlConfiguration

#

should be fairly self explanatory

arctic moth
#

btw are custom structures a thing

#

lol

#

im guessing yes

onyx fjord
#

I don't think so, as it's rarely used

peak granite
sullen marlin
#

well wherever you want to store it

#

thats not really a spigot question, that's just java

arctic moth
#

cuz i rlly dont wanna set blocks for each individual block of a structure and stuff (ik theres a way to use the nbt files to generate but idk how)

sullen marlin
onyx fjord
#

Is that new

sullen marlin
#

relatively

onyx fjord
#

Since when it's there

sullen marlin
#

1.17

karmic grove
#

can everyone on server see player.send message contents

onyx fjord
#

Ooo cool stuff

sullen marlin
#

no, its Player.sendMessage

karmic grove
#

that

#

i know how to do it

#

but can everyone see it