- Minecraft IRC Logging service - Channel #spongedev

If you want your channel logged here, contact KHobbits on #lain @ Esper.
Other channels Current Log Tail Older Stats

[00:00:05] #spongedev - Tue Aug 22 00:00:05 2017
[00:00:05] ---
[00:00:09] * Topic is ':Docs: | GitHub: | Rules: | Code Style: | Gradle help in #ForgeGradle | Javadocs: | SOS XIV: July 15th @ 21:00 UTC'
[00:00:09] * Set by Zidane! on Thu Jun 29 17:51:18
[00:04:37] * samschaap ( Quit (Ping timeout: 195 seconds)
[00:12:38] * samschaap ( has joined #spongedev
[00:31:14] <killjoy> .about
[01:00:59] * Spider ( has joined #spongedev
[01:10:25] * TheHiggsBozo ( Quit (Ping timeout: 195 seconds)
[01:12:44] * Abrar|gone is now known as AbrarSyed
[01:17:29] * TheHiggsBozo ( has joined #spongedev
[01:19:51] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> @Eufranio mongodb?
[01:20:56] <@Spongie> <E​u​f​r​a​n​i​o​> rethinkdb
[01:21:53] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> yea, try mongodb
[01:25:10] <Spider> Hey, Im trying to make a command write its args to a file. eg. "/addword hello" would make the word "hello" appear in a designated file. However whenever I try running the command, I come across this error:
[01:25:30] <Spider> Here is the code I am using:
[01:25:34] <@Spongie> <E​u​f​r​a​n​i​o​> will do thanks time
[01:26:07] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> @Spider could you get the full error?
[01:26:28] <Spider> whoops
[01:26:29] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> if I had to guess it would be String word = args.<String>getOne("Word To add to the file").get();
[01:26:42] <Spider> this is the wright pastebin
[01:26:43] <Spider>
[01:26:44] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> because you don't check if the argument is present
[01:27:17] <Spider> =<T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​>, that is all it gives me
[01:27:38] <Spider> rip, meant an @ sign
[01:29:03] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> java Optional<Integer> oi = args.getOne(Text.of("Days"));         oi.ifPresent(integer -> {             instance.voteDouble(integer);             src.sendMessage(Text.of("Double votes enabled for " + oi.get() + " day(s)."));         });
[01:29:34] * xcube (~xcube16@ Quit (Ping timeout: 204 seconds)
[01:29:37] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> but Optional<Integer> would be Optional<String> for you
[01:29:50] <Spider> ok, ill try that
[01:51:35] * tmux ( has joined #spongedev
[01:54:42] <Spider> I dont get the error anymore
[01:54:46] <Spider> Thanks for your help :D
[01:55:12] * tmux ( Quit (Client Quit)
[01:55:24] * tmux ( has joined #spongedev
[01:57:47] <+mbaxter> :)
[02:00:57] * xcube (~xcube16@ has joined #spongedev
[02:04:56] * Spider ( Quit (Quit: - A hand crafted IRC client)
[02:07:26] * Mumfrey is now known as mumfrey
[02:14:49] <@Spongie> [SpongeCommon] A​aron1011 created branch tracker-transformer-changes
[02:14:50] <@Spongie> [SpongeCommon] A​aron1011 pushed 1 commit to tracker-transformer-changes <>
[02:14:51] <@Spongie> SpongeCommon/tracker-transformer-changes 4fc26afc: Restore old behavior of not matching on class owner (by A​aron Hill)
[02:46:37] <xcube> I just updated SpongeForge to the latest bleeding in my plugin workspace, but it is giving me an error when I try to run it (./gradlew runServer or using a run configuration in Idea).
[02:47:14] <xcube> It is a weird ConcurrentModificationException
[02:50:09] <xcube> hmmm... It looks like fixes it
[02:51:02] <xcube> I ran setupDecompWorkspace and everything, so it should be using the right version of mixin I would think
[02:52:33] * xcube did not use --refresh-dependencies!
[02:52:45] * xcube is trying that
[02:55:11] <xcube> Still did'nt work :C
[03:00:07] <xcube> It looks like the ConcurrentModificationException was fixed only 7 hours ago. XD
[03:43:13] * sneezing_panda (~panda@2605:a000:c705:3800:453d:204d:dcdd:7d50) has joined #spongedev
[03:54:46] <@Spongie> [SpongeHome] J​BYoshi opened PR #135: Rework the chat page to support either IRC or Discord. <>
[04:07:27] * bilde2910 ( Quit (Ping timeout: 383 seconds)
[04:08:43] * bilde2910 ( has joined #spongedev
[04:19:25] * bilde2910 ( Quit (Ping timeout: 190 seconds)
[04:21:14] * bilde2910 ( has joined #spongedev
[04:43:38] <@Spongie> <p​o​q​d​a​v​i​d​> i am trying to get player's skull and i cant get one with the skin even if i set the name null it still wont work
[04:44:13] <@Spongie> <p​o​q​d​a​v​i​d​> looks like the bug related the skulls still on and i am using spongeforge-1.10.2-2281-5.2.0-BETA-2597
[04:44:24] * mitch ( has joined #spongedev
[04:44:25] <@Spongie> <☺​T​h​e​D​i​n​o​♫​> /give @p minecraft:skull 1 3 {SkullOwner:"AsexualDinosaur"} Doesn't work?
[04:44:48] <@Spongie> <p​o​q​d​a​v​i​d​> hold on let m try it
[04:46:38] * xcube (~xcube16@ Quit (Quit: Leaving)
[04:47:07] * mitch ( Quit (Client Quit)
[04:50:46] <@Spongie> <p​o​q​d​a​v​i​d​> ok
[04:50:51] <@Spongie> <p​o​q​d​a​v​i​d​> your skin worked
[04:51:01] <@Spongie> <p​o​q​d​a​v​i​d​> but why not mine
[04:52:07] <@Spongie> <p​o​q​d​a​v​i​d​> ok something funny
[04:52:24] <@Spongie> <p​o​q​d​a​v​i​d​> if the player have been on the server it wont work
[05:03:43] * joazlazer ( Quit (Quit: Connection closed for inactivity)
[05:07:14] * Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) has joined #spongedev
[05:11:08] * AbrarSyed is now known as Abrar|gone
[05:30:15] * bilde2910 ( Quit (Ping timeout: 204 seconds)
[05:31:51] * bilde2910 ( has joined #spongedev
[05:31:51] * Eliter ( Quit (Read error: Connection reset by peer)
[05:35:28] * tmux ( Quit (Remote host closed the connection)
[05:35:44] * tmux ( has joined #spongedev
[05:48:42] * AforAnonymous (~bitch2k@ Quit (Read error: Connection reset by peer)
[05:49:04] * AforAnonymous (~bitch2k@ has joined #spongedev
[05:49:20] * Meegoo (~Meegoo@ has joined #spongedev
[05:50:46] * simon816 ( Quit (Ping timeout: 195 seconds)
[05:53:51] * simon816 ( has joined #spongedev
[05:53:53] * Borg sets mode: +o simon816
[06:18:50] <@Spongie> [SpongeHome] M​inecrell review_requested PR #135: Rework the chat page to support either IRC or Discord. <>
[06:18:51] <@Spongie> [SpongeHome] M​inecrell assigned PR #135: Rework the chat page to support either IRC or Discord. <>
[06:33:05] * Brokkoli ( Quit (Quit: Die Sprache der Politik ist dafür gemacht, dass Lügen wahr klingen und das Töten angemessen wirkt. (George Orwell))
[06:47:24] * sponge|26812 ( has joined #spongedev
[06:47:37] <sponge|26812> i have a question...
[06:48:50] * sponge|26812 ( Quit (Client Quit)
[06:49:38] * Cervator (~Thunderbi@2601:4c1:4000:1050:e94e:d928:a4d8:41e0) Quit (Quit: Cervator)
[07:18:37] * Meegoo (~Meegoo@ Quit (Read error: Connection reset by peer)
[07:25:30] * sneezing_panda (~panda@2605:a000:c705:3800:453d:204d:dcdd:7d50) Quit (Ping timeout: 204 seconds)
[07:43:02] * killjoy (~killjoy@2606:a000:1118:803e:147c:2d71:15b5:a934) Quit (Ping timeout: 186 seconds)
[07:44:56] * worm424 ( Quit (Quit: ZNC - 1.6.0 -
[07:46:08] * worm424 (~worm424@2001:19f0:5800:8cc1:5400:ff:fe0c:f993) has joined #spongedev
[07:46:09] * Borg sets mode: +o worm424
[07:46:13] * Larry1123 ( Quit (Ping timeout: 200 seconds)
[07:59:35] <@Spongie> <A​s​h​e​r​s​l​a​b​> it's best to ask the questions instead of just saying you have one. lol 😄
[08:37:31] * kieronwiltshire ( has joined #spongedev
[08:48:10] * Larry1123 ( has joined #spongedev
[08:59:35] * kieronwiltshire ( Quit (Remote host closed the connection)
[08:59:52] * kieronwiltshire ( has joined #spongedev
[09:08:20] <@Spongie> [SpongeDocs] I​nscrutable closed PR #620: bungeecord: config/global.conf => config/sponge/global.conf <>
[09:08:22] <@Spongie> [SpongeDocs] I​nscrutable pushed 1 commit to stable <>
[09:08:24] <@Spongie> SpongeDocs/stable 6ffd0387: bungeecord: config/global.conf => config/sponge/global.conf (#620) (by M​ichael Vorburger ⛑️)
[09:09:06] * kieronwiltshire ( Quit (Remote host closed the connection)
[09:09:25] * kieronwiltshire ( has joined #spongedev
[09:12:49] * kieronwiltshire ( Quit (Read error: -0x7880: SSL - The peer notified us that the connection is going to be closed)
[09:13:09] * kieronwiltshire ( has joined #spongedev
[09:24:07] * kieronwiltshire ( Quit (Ping timeout: 200 seconds)
[09:27:05] * kieronwiltshire ( has joined #spongedev
[09:48:17] * kieronwiltshire ( Quit (Remote host closed the connection)
[09:48:38] * kieronwiltshire ( has joined #spongedev
[09:52:26] * MeltedLux ( Quit (Ping timeout: 204 seconds)
[09:55:39] * kieronwiltshire ( Quit (Ping timeout: 200 seconds)
[10:22:39] <@Spongie> <E​u​f​r​a​n​i​o​> dont think indexes are a problem
[10:22:49] <@Spongie> <E​u​f​r​a​n​i​o​> looks like rethinkdb has only 1 index
[10:23:10] <@Spongie> <E​u​f​r​a​n​i​o​> guess I'll query everything and save it to a list or so
[10:23:22] <@Spongie> <E​u​f​r​a​n​i​o​> then use that list
[10:36:27] * Meegoo (~Meegoo@ has joined #spongedev
[10:44:23] * kieronwiltshire ( has joined #spongedev
[10:58:21] * kieronwiltshire ( Quit (Remote host closed the connection)
[10:58:39] * kieronwiltshire ( has joined #spongedev
[11:01:28] * turt2live (~travist2l@2001:470:1af1:107::e) Quit (Ping timeout: 204 seconds)
[11:02:08] * SecurityInsanity ( Quit (Ping timeout: 383 seconds)
[11:03:30] * SecurityInsanity ( has joined #spongedev
[11:05:04] * kieronwiltshire ( Quit (Remote host closed the connection)
[11:05:25] * kieronwiltshire ( has joined #spongedev
[11:08:59] * kieronwiltshire ( Quit (Ping timeout: 200 seconds)
[11:14:16] * turt2live (~travist2l@2001:470:1af1:107::e) has joined #spongedev
[11:14:45] * kieronwiltshire ( has joined #spongedev
[11:19:19] * kieronwiltshire ( Quit (Remote host closed the connection)
[11:19:37] * kieronwiltshire ( has joined #spongedev
[11:25:50] * kieronwiltshire ( Quit (Remote host closed the connection)
[11:26:00] * MeltedLux ( has joined #spongedev
[11:38:00] * Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) Quit (Quit: Leaving.)
[11:41:26] * MeltedLux ( Quit (Ping timeout: 186 seconds)
[12:22:22] * Spottedleaf ( Quit (Ping timeout: 383 seconds)
[12:28:43] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> I have a quick question, is ClientConnectionEvent.Login fired for each player when the server closes?
[12:29:52] <tmux> Login -> Server Closes, Logic Plz?
[12:30:42] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> Sorry i meant ClientConnectionEvent.Disconnect
[12:31:14] <tmux> That makes more sense xD
[12:32:16] <tmux> I have no idea tho, hell i don't even use sponge, just interested in it.
[12:32:42] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> Alright, will wait for someone
[12:33:18] <@minecrell> My suggestion would be to test it :)
[12:33:36] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> Yeh i guess
[12:34:11] <tmux> tfw you realise minecrell = the same minecrell that made that epic gradle licensing plugin
[12:34:36] <@minecrell> lol
[12:34:48] <@minecrell> You use it?
[12:36:13] <tmux> Technically no, though I have, but I always seem to give up on projects
[12:36:30] <tmux> I'm tired, soz if i make no sense.,
[12:37:10] <@minecrell> The license-gradle-plugin seems to be the more popular choice than mine
[12:37:37] <tmux> I only found yours after looking through Sponge's code one day
[12:37:41] * Cogitabundus (~HAL@ has joined #spongedev
[12:37:50] <tmux> because despite IDEA's epicness, yours is kinda simpler in a way
[12:38:02] <tmux> I never knew of any others
[12:38:35] <tmux> Question, can you explain tf a mixin is, never seen it before, except in Sponge.
[12:39:01] <@minecrell> We used to use license-gradle-plugin. The reason why I made my own is that I didn't like that they essentially wrap the maven-license-plugin instead of making their own
[12:39:09] <@minecrell> So you had tons of stupid dependencies
[12:39:14] <tmux> rips
[12:39:59] <@minecrell> is a good read if you have a bit of time and are interested what they are :)
[12:40:17] <tmux> I actually have alot of questions about how sponge's development system works.
[12:40:55] <@minecrell> I might be able to answer some of them in an hour, but I'm afk for a bit now :)
[12:41:40] * Cogitabundus (~HAL@ Quit (Client Quit)
[12:42:47] <tmux> Idk if ill still be awake then xD
[12:42:55] * misteradamx ( has joined #spongedev
[12:44:20] <@minecrell> Well, then just ask them another time or now so someone else can answer them :P
[12:47:46] <tmux> mk, well, I know the gh has 3 main code repos, I guess my question is... How are they supposed to be layed out in your development environment...
[12:48:05] <tmux> (This is probably the most nooby question ever, but I feel like I am a noob sometimes...)
[12:51:43] <tmux> Well actually, now I think of it, its 4 main repos..
[12:52:04] <tmux> Vanilla, Common, API (and Forge)
[13:18:59] <@Spongie> <☺​T​h​e​D​i​n​o​♫​> Depending on what you're wanting to do (vanilla/forge) you can go to those git pages and it will set it up for you if you follow the instructions. If that's what you're asking.
[13:30:28] <Amaranth> I experimented with using gradle for things at work, ended up with a gradle build that wraps a maven build that wraps an ant build
[13:30:33] <Amaranth> nope nope nope
[13:31:33] * MeltedLux ( has joined #spongedev
[13:41:02] <@Spongie> [SpongeCommon] s​anman00 edited PR #1488: Implement SleepingData <>
[13:54:05] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> Oh god someone please help me, why does this output this? java.lang.IllegalArgumentException: Configuration does not accept objects of type class com.github.happyzleaf.timerestrictor.config.ConfigurableTime The ConfigurationNode is loaded thorugh ConfigurationLoader#load() so it should load the defaults (not sure if this will help)
[14:04:26] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> dont make them final
[14:04:38] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> I tried it even without making them final
[14:05:38] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> public boolean loadConfig() {         try {             File file = new File(plugin.getConfigDir(), "configconf");             if (!file.exists()) {                 file.createNewFile();             }             ConfigurationLoader<CommentedConfigurationNode> loader = HoconConfigurationLoader.builder().setFile(file).build();            
[14:05:38] <@Spongie> CommentedConfigurationNode config = loader.load(ConfigurationOptions.defaults().setObjectMapperFactory(plugin.getFactory()).setShouldCopyDefaults(true));             cclConfig = config.getValue(TypeToken.of(ConfigurableTime.class), new ConfigurableTime());   ;             return true;         } catch (Exception e) {             plugin.getLogger().error("Could not load config.", e);             return false;         }     }
[14:06:03] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> that may help you
[14:06:46] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> I used @Inject to get my loader, and load() should already use the defaults, but i guess i can give it a try
[14:06:55] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> thanks
[14:07:38] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> here's the full source if you need it,
[14:12:45] * tmux ( Quit (Ping timeout: 204 seconds)
[14:15:09] * xcube (~xcube16@ has joined #spongedev
[14:17:55] * neruok ( has joined #spongedev
[14:18:27] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> @TimeTheCat | are you doing anything with the factory?
[14:19:46] <@Spongie> <T​i​m​e​T​h​e​C​a​t​ ​|​ ​K​o​o​k​y​K​r​a​f​t​M​C​.​n​e​t​> I dont think so
[14:20:14] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> Then it's not working, shiiiiiiiiiiiiiiiiiiiiiit i'll just write everything to a string and then get it back lol
[14:20:32] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> May be a bug since i'm using 5.2.0
[14:26:11] * tmux ( has joined #spongedev
[14:27:08] <tmux> What im trying to ask is kinda confusing.
[15:33:36] * evilmidget38 ( Quit (Quit: wow, such quit message)
[15:35:51] * evilmidget38 ( has joined #spongedev
[15:49:38] * xcube (~xcube16@ Quit (Ping timeout: 204 seconds)
[15:49:49] * electronicboy ( Quit (Quit: You're not just a regular moron. You were designed to be a moron.)
[15:50:02] * electronicboy ( has joined #spongedev
[15:50:29] * PaleOff is now known as PaleoCrafter
[15:54:49] * ruzourss ( has joined #spongedev
[15:57:07] * ruzourss ( Quit (Client Quit)
[16:01:51] * h404bi (~h404bi@ has joined #spongedev
[16:09:20] * Brokkoli ( has joined #spongedev
[16:25:10] * PaleoCrafter is now known as PaleOff
[16:33:10] * Cervator (~Thunderbi@2601:4c1:4000:1050:c4ac:bf54:5dda:287) has joined #spongedev
[16:34:16] * PaleOff is now known as PaleoCrafter
[16:39:42] * xcube (~xcube16@ has joined #spongedev
[16:48:34] * Noppes ( has joined #spongedev
[16:50:41] * TomyLobo (~TomyLobo@2a02:8109:87c0:20c:6498:167c:ef5:90f3) has joined #spongedev
[16:56:06] <@Spongie> [SpongeAPI] s​anman00 synchronize PR #1632: Deprecate ignoreSleeping() method in ImmutableSleepingData <>
[17:28:54] * ST-DDT ( has joined #spongedev
[17:28:54] * Borg sets mode: +v ST-DDT
[17:34:40] <@Spongie> [SpongeCommon] s​anman00 synchronize PR #1488: Implement SleepingData <>
[17:36:29] <@Spongie> [SpongeCommon] s​anman00 edited PR #1488: Implement SleepingData <>
[17:37:46] <@Spongie> <t​e​c​h​d​a​a​n​> How would I go about loading playerdata from a database on login without clogging up the main thread or having the data "come in" after the player already wanders around the world? Is there an async login event?
[17:39:31] <@Zidane> Kick up an async task in the schedler
[17:39:56] <@Spongie> <t​e​c​h​d​a​a​n​> I suppose I could just do that yeah
[17:40:39] <@Spongie> <t​e​c​h​d​a​a​n​> Spigot has the AsyncPreLoginEvent or something like that, which is basically a login event put on an async thread so you can put blocking operations there
[17:41:09] <@Spongie> <E​u​f​r​a​n​i​o​> you can run the load on a scheduler
[17:41:17] <@Zidane> Which is fine but its no different than using the async scheduler
[17:41:47] <@Spongie> <t​e​c​h​d​a​a​n​> Well there is a difference
[17:42:08] <@Zidane> There is?
[17:42:23] <@Zidane> Do tell
[17:42:29] <@Spongie> <t​e​c​h​d​a​a​n​> In Spigot if you put a read operation that takes 10 seconds (extreme case) then the player stares at the connecting screen for 10 seconds. If you put it in an async thread the data may not be ready by the time the player is actually in the world
[17:42:45] <@Zidane> That isn't async then
[17:42:49] <@Spongie> <t​e​c​h​d​a​a​n​> In spigot if you put it in the AsyncPlayerPreLoginEvent or something like that
[17:43:31] * h404bi (~h404bi@ Quit (Ping timeout: 200 seconds)
[17:44:49] * Hunterz (~hunterz@ has joined #spongedev
[17:44:52] <@Zidane> What their async event thing actually is-is halting the player's connection coming in while the event is processed
[17:44:58] <@Zidane> but allow other players to enter as well
[17:45:09] <@Zidane> So server is stuck waiting
[17:45:13] <@Zidane> * isn't
[17:45:41] <@Spongie> <t​e​c​h​d​a​a​n​> Yeah, that's correct
[17:45:50] <@Spongie> <t​e​c​h​d​a​a​n​> is the event I was talking about
[17:47:04] <@Zidane> Anyways, there is not something under your specific conditions that exists in Sponge. If you want something like that, create an API issue please and I'll discuss with my staff.
[17:48:03] <@Spongie> <t​e​c​h​d​a​a​n​> Alright I'll consider doing that. I guess one could also put it in auth since it has identical behaviour. Just not the proper place for it
[17:48:05] <@Spongie> <E​u​f​r​a​n​i​o​> why do you need that and not a scheduler task then?
[17:48:26] <@Spongie> <t​e​c​h​d​a​a​n​> Eufranio, I want the data ready before the player actually joins the world, instead of the player joining the world before the data is ready
[17:48:30] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> Zidane, I've discovered there is quite a bit more wrong with API 5.2 and inventories than first realized. You can't even get the slot index without a nullpointer coming from Sponge.
[17:48:32] <@Zidane> @Eufranio, he wants to stop the player from getting chunks until the data is there
[17:48:49] <@Spongie> <E​u​f​r​a​n​i​o​> hmmmm, makes sense
[17:49:04] <@Spongie> <E​u​f​r​a​n​i​o​> so I think he wants an event.allow() for that
[17:49:21] <@Spongie> <t​e​c​h​d​a​a​n​> BungeeCord also has an interesting approach, altough I don't know it from the top of my head
[17:49:23] <@Zidane> @PurpleIsEverything, make a ticket on it. I know a lot is working on bleeding as we've done a lot of inventory improvements there. @Faithcaio may have forgotten to backport a fix.
[17:49:59] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> My ticket is already up there, I've been looking for a work around casting into vanilla classes.
[17:50:13] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> However in API 5.2 Slot is wrapped so you can't cast that either lol
[17:50:26] <@Zidane> Nor will you ever be able to.
[17:50:39] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> That was bloods firsts suggestion.
[17:51:03] <@Zidane> Events give you SlotAdapters for the Slots as the Slots in events are for the Container slots
[17:51:03] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> The next was casting to vanilla Container then using the slot index to get the slot from vanilla's inventorySlots
[17:51:21] <@Zidane> What you want is the inventory behind the Slot which @Faitcaio kicked up a branch for
[17:52:18] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> This has been quite the journey to simply check if the slot clicked in the event while a container open was clicked in the player inventory or the container inventory hahaha
[17:52:40] <@Zidane> The journey is the fact that a container slot != player inventory slot
[17:53:01] <@Zidane> So calling parent on a container slot will never net you the PlayerInventory from the API
[17:53:06] <@Zidane> let alone casting it
[17:53:24] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> Yeah which basically means what I am doing is impossible
[17:53:40] <@Zidane> with @Faithcaio's proposal, you'll be able to have a slot "transform" itself to its inventory equilvalent
[17:54:07] <@Zidane> slot.transform(Type.INVENTORY).parent() == Some Actual Inventory
[17:54:23] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> 😮
[17:54:25] <@Zidane> (API is pending)
[17:54:28] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> That is beautiful.
[17:54:35] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> Hopefully we see a backport.
[17:54:41] <@Zidane> Should be backportable
[17:54:46] <@Zidane> Check out the branch
[17:54:50] <@Zidane> Its the real-slot branch
[17:55:59] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> I see
[18:02:17] <sanman00> if plugins were to have per-world configuration, where would it go?
[18:04:41] <@Spongie> <P​u​r​p​l​e​I​s​E​v​e​r​y​t​h​i​n​g​> Omg, I found a workaround.
[18:06:30] * Noppes ( Quit (Ping timeout: 383 seconds)
[18:09:34] * Noppes ( has joined #spongedev
[18:47:06] * killjoy (~killjoy@2606:a000:1118:803e:8d30:9b2c:ace8:7407) has joined #spongedev
[18:57:46] <sanman00> why is there a world config generated for each dimension
[19:01:35] * Seppon ( has joined #spongedev
[19:02:43] * Noppes ( Quit (Ping timeout: 200 seconds)
[19:02:49] <@Zidane> sanman00, you can configure sponge stuff per world?
[19:03:16] <sanman00> but its in each dimension
[19:03:24] <sanman00> surely it would be a dimension config then?
[19:03:25] <@Zidane> Dimension != World
[19:03:47] <@Zidane> For a Nether dimension, you could have 10 worlds that are of the Nether dimension type
[19:04:08] <sanman00> so this config affects each of them?
[19:04:33] <@Zidane> If you change something in a Nether dimension config, it affects all worlds of the Nether dimension type
[19:05:03] <@Zidane> (Should the Nether dimension config be enabled and the world one disabled)
[19:06:01] * PaleoCrafter is now known as PaleOff
[19:12:43] * Pymous ( Quit (Remote host closed the connection)
[19:27:36] <@Spongie> <p​o​q​d​a​v​i​d​> Guys is it safe to convert  net.minecraft.item.ItemStack to sponge version?
[19:27:53] <@Spongie> <☺​T​h​e​D​i​n​o​♫​> I think blood does it? or something similar.
[19:28:08] <@Zidane> We mix into the Minecraft itemstack to have it implement ours
[19:28:09] <@Spongie> <h​a​p​p​y​z​l​i​f​e​> Yes i guess
[19:28:11] <@Zidane> So yes, it is fine
[19:28:41] <@Spongie> <p​o​q​d​a​v​i​d​> ok ty
[19:36:29] <@minecrell> !gf SADDLED
[19:37:36] <@Spongie> <p​o​q​d​a​v​i​d​> But its telling me i can't convert the type
[19:38:01] <@Zidane> It is because your IDE doesn't think it is convertible
[19:38:07] <@Zidane> As a MIXIN implements the interface
[19:38:16] <@Spongie> <p​o​q​d​a​v​i​d​> would it be really bad if i convert it to object first
[19:38:18] <@Zidane> In runtime, nms ItemStack does
[19:38:22] <@Zidane> No, do so
[19:39:26] <@Spongie> <p​o​q​d​a​v​i​d​> i done everything to get player skulls but if a player have joined the server before you wont be able to get a skull with skin on it
[19:39:33] <@Spongie> <p​o​q​d​a​v​i​d​> even from /give
[19:40:06] <@Zidane> Aaron1011, ^ you do skulls
[19:40:45] <@Spongie> <p​o​q​d​a​v​i​d​> so i am generating the stack using forge and then convert it to sponge hope that works
[19:43:23] <@Spongie> <p​o​q​d​a​v​i​d​> i even made the name null since there used to be a bug about it that even didn't work
[19:55:21] * neruok ( Quit (Quit: neruok)
[19:55:31] * neruok ( has joined #spongedev
[19:57:30] * neruok ( Quit (Client Quit)
[19:57:39] * neruok ( has joined #spongedev
[19:58:37] <@Spongie> [SpongeVanilla] s​anman00 opened PR #343: Fix the firing of UseItemStackEvent and its sub-events for API changes <>
[20:00:26] <@Spongie> [SpongeVanilla] s​anman00 edited PR #343: Fix the firing of UseItemStackEvent and its sub-events for API changes <>
[20:00:37] * joazlazer ( has joined #spongedev
[20:01:44] <@Spongie> [SpongeAPI] s​anman00 edited PR #1639: Add method to get hand that was used in UseItemStackEvent <>
[20:04:33] <@Spongie> [SpongeVanilla] s​anman00 edited PR #343: Fix the firing of UseItemStackEvent and its sub-events because of API changes <>
[20:04:53] <@Spongie> [SpongeAPI] k​ashike labeled PR #1639: Add method to get hand that was used in UseItemStackEvent <>
[20:04:54] <@Spongie> [SpongeVanilla] k​ashike labeled PR #343: Fix the firing of UseItemStackEvent and its sub-events because of API changes <>
[20:16:11] * neruok ( Quit (Quit: neruok)
[20:16:21] * neruok ( has joined #spongedev
[20:28:25] * mumfrey is now known as Mumfrey