Page 2 of 20

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 5:26 am
by Foxy Boxes
FlowerChild wrote: <dances>
How easy is it to dance with tentacles? And what're the rules for the limbo?

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 6:03 am
by FlowerChild
Urian wrote:Your pace remains awesome :D
Thanks man :)

I think the battle is just beginning though. I took a quick tour of my main world, and noticed a plethora of issues, just wandering around. My custom entities weren't displaying (Water Wheels, etc.), Turntables were spinning at warp speed, Platforms were moving in a very funky manner, etc.

I'm glad to be able to at least run it though, as it puts me back in the realm of visible progress instead of just staring at code.

Anyways, will return once more into the breach manyana :)

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 7:02 am
by Eriottosan
FC, I am really impressed by how far along you are already. You really are some sort of Cthulhu god. It is a real inspiration (:. That being said - and I'm sure I don't have to say this, but I'm going to anyway - don't burn yourself out. Take as much time as you need to update - I'm sure the community here will agree with me in that I would much rather you update with as much time as you need to minimize the stress, than feeling under pressure to get it done. We have more than enough to amuse ourselves, no matter how long it takes. Thanks for everything, FC (:.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 9:02 am
by johnt
Will btw be multiplayer compatible after this update?

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 10:37 am
by Battlecat
Congrats, that's a pretty impressive accomplishment! Being able to see block behaviors will certainly make the next phase easier. I'm glad to hear it went smoothly so far, hope that continues.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 12:29 pm
by ada221
johnt wrote:Will btw be multiplayer compatible after this update?
we can only hope... the optimistic part of me says "yes! its looking good for that!!!!" then the other, pessimistic part of me says "no! dont get youre hopes up ada221! they will be crushed!" while on the other hand the realistic part of me says "if FC puts it in, its in. akhuna matata"

edit: i just realized how strange it is to refer to yourself in third person using a username....

double edit: FC, you are a coding BEAST. thanks for all your hard work!

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 12:37 pm
by Graphite
ada221 wrote:i just realized how strange it is to refer to yourself in third person using a username....
Don't worry. It's strange if you do it with your real name too ;)

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 3:27 pm
by FlowerChild
No, no way it's going to be SMP with this first 1.3 release. I'm just focusing on getting the mod working as normal first, then I'll work on SMP later.

As I've said MANY times before, it's not automatic. There's a lot of work to do there.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 3:48 pm
by jehanum
1.3 still requires both a client and server version of a mod for true multiplayer, correct? All 1.3 did was allow MP on a LAN with only a client side mod. My understanding is that people on a LAN with client side versions of a mod will be able to open their wolds to the LAN. Other's on the LAN will be able to join it, and depending on the permissions granted by the host, interact. Is that about how it works, or am I completely off base here.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 3:49 pm
by FlowerChild
There will be NO SMP for the first 1.3 release of BTW. That included LAN play.

This is getting really tiresome guys.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 4:12 pm
by RaustBlackDragon
That's entirely understandable FC, I'm scratching my head trying to understand just what the supposed "merge" accomplished to begin with. It's depressing and frustrating, and I totally sympathize.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 4:13 pm
by FlowerChild
Oi vey. Ok, following a hunch I had overnight, I just figured out why the inventories for the mod blocks aren't opening.

Turns out these are now handled through multiplayer packets sent between the local client and server you have running now while you're playing SP.

So while it looks like much of the code-base didn't change, the way all this is handled internally definitely has, and there's now a ton of obsolete dead-code hanging around that doesn't actually do anything, because it refers to a single-player system that no longer exists.

This is going to be FUN!!!! :)

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 4:19 pm
by Eriottosan
Ah, FC, that's rather irritating. I am not looking forward to when I have to deal with it :/.

I hope you survive this "FUN!!!". Good luck wading through the code for whatever is actually still functioning :/.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 4:19 pm
by RaustBlackDragon
FlowerChild wrote:Oi vey. Ok, following a hunch I had overnight, I just figured out why the inventories for the mod blocks aren't opening.

Turns out these are now handled through multiplayer packets sent between the local client and server you have running now while you're playing SP.

So while it looks like much of the code-base didn't change, the way all this is handled internally definitely has, and there's now a ton of obsolete dead-code hanging around that doesn't actually do anything, because it refers to a single-player system that no longer exists.

This is going to be FUN!!!! :)

...Wow, epic discovery, thanks for sharing it!

But to clarify, what sorts of dead code are you talking about? Are entire classes never referenced, or is it a bunch of unused functions?

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 4:39 pm
by FlowerChild
RaustBlackDragon wrote: But to clarify, what sorts of dead code are you talking about? Are entire classes never referenced, or is it a bunch of unused functions?
It's basically what amounts to unused functions. Here's an example from BlockFurnace.java (obviously vanilla):

Code: Select all

    
    public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
    {
        if (par1World.isRemote)
        {
            return true;
        }

        TileEntityFurnace tileentityfurnace = (TileEntityFurnace)par1World.getBlockTileEntity(par2, par3, par4);

        if (tileentityfurnace != null)
        {
            par5EntityPlayer.displayGUIFurnace(tileentityfurnace);
        }

        return true;
    }
What happens here is that this function is actually called twice when you right click on the furnace. When it is called on the client (again this is in SSP, so the "client" only exists as what I guess is a separate thread) the test for isRemote is true, and immediately bombs out. On the server end, it passes that test, but because guis aren't displayed on the server, the code that follows has no effect.

This confused me momentarily as my code for opening mod-block guis was indeed getting called, but it's on the server side, so I never see it. I dropped breakpoints in the multiplayer code for opening guis though, and running an in-game test on the furnace, saw that code was what was actually displaying the gui itself.

I don't have enough experience with the code base to say what other instances this will apply in, but this indicates to me that there are probably a lot of them and that the code is currently in some kind of hybrid state between SMP and SSP where some of it may or may not apply anymore.

I suspect there will be a shit-load of "gotchas!" like this as I move forward with the update. I suspect I'll just have to test every block one at a time and verify all their functionality is intact, resolving issues as I discover them. I may start up a new area in my main world and give the mod a full playthrough as I do this to make the whole experience more pleasant.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 4:51 pm
by Ethinolicbob
Yeah I was having a look at the code and I immediately thought "fuck, no way BTW will be able to work as MP without a little bit of extra love."
And that goes for my stuff too...
*TIP MY HAT* Goodluck sir.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 5:00 pm
by August West
FlowerChild wrote:There will be NO SMP for the first 1.3 release of BTW. That included LAN play.

This is getting really tiresome guys.
I think the problem here is that people really have no idea what the deal is with the merge. People just assume everything will work because they play on a 'server' now.

It would be nice if Mojang had given people some more information with regards to how mods will function. When there is no available information, people will inevitably come over here and ask about it.

To keep it sort of on topic: I used LAN with my little brother for the first time and it is fantastic. Neither of us are all that tech-savvy, so having the ability to simply click open to lan makes the whole process so much easier. Just being able to play the game with him is great. I tested Risugami's mods and as long as we both have them downloaded, they seem to function. Albeit a bit buggy; functional none-the-less. This is an exciting time for Minecraft.

Thanks for putting up with the shit storm, FC. There is some light at the end of the tunnel.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 5:37 pm
by FlowerChild
Ah...I think I just figured out the thing with custom entities (Water Wheel etc) not displaying.

I was going in circles with this one as I thought it was strictly a display issue. Then I realized the collisions with such objects (like riding on moving Platforms) was also extremely weird and laggy (and THAT is the appropriate use of the term "lag" ;) ), so I inserted a few more breakpoints to try and track down the problem.

I'm not 100% on this yet, but it looks like old custom entities only exist on the server, and not the client by default.

Looks like I need to figure out how to get them to be properly transmitted to the client. It's not that they aren't being displayed. It's that the client doesn't even know they exist.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 5:44 pm
by Foxy Boxes
FlowerChild wrote:Oi vey. Ok, following a hunch I had overnight, I just figured out why the inventories for the mod blocks aren't opening.

Turns out these are now handled through multiplayer packets sent between the local client and server you have running now while you're playing SP.
What's the betting that's less to help the merge and more so they could get their precious ender chests to work?

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 5:50 pm
by FlowerChild
Foxy Boxes wrote: What's the betting that's less to help the merge and more so they could get their precious ender chests to work?
I'd ask people to keep uninformed random remarks out of this thread.

I've got a lot of work ahead of me, and am currently helping myself in that process by posting up some of my observations. If the above kind of thing becomes the norm, I'll feel compelled to just shut the hell up to avoid the nonsense.

Bitching about the changes I'm dealing with, especially when you have no clue what you're talking about, doesn't help anyone.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 5:54 pm
by Ferrus.Manus
Foxy Boxes wrote:What's the betting that's less to help the merge and more so they could get their precious ender chests to work?
Let's not create conspiracy theories without any solid data.

Also does this means that Minecraft's already Byzantine GUI code got even more convoluted? Ouch. And FC, good luck on keeping your sanity through the update process and don't let whining idiots get to you and ruin your mood.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 6:08 pm
by Larmantine
My God. FC, you must be the most patient and tolerant person I know. So much work you have done and has to be done too. I would go off crazy if I were you. I guess the only explanation behind this is that you like doing this. Best of luck with it.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 6:11 pm
by FlowerChild
Larmantine wrote:My God. FC, you must be the most patient and tolerant person I know. So much work you have done and has to be done too. I would go off crazy if I were you. I guess the only explanation behind this is that you like doing this. Best of luck with it.
I like doing the part in between these parts. The update process itself I fucking loathe, but my general approach to that is to power through it as quickly as possible to get to the stuff I love again.

I just love that stuff enough to tolerate the drudgery of doing this kind of work when I have to.

But yeah, having everything completely broken like this sucks ass :)

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 6:54 pm
by teh_tetra
FC I thank you for the updates on your progress, they are much appreciated.

Re: 1.3 Discoveries

Posted: Sun Aug 05, 2012 7:14 pm
by FlowerChild
Ok, yeah, I was right about the entities spawning on the server but that info not being passed over to the client. I managed to do a quick test by hacking the packet-handler code to recognize water-wheels, and that got them to display properly.

That aspect is going to be a LOT of work and may take some very nasty base-class edits, as I don't think modloader currently supports that kind of functionality, in which case, compatibility with other mods may be completely off the table until the official mod-API is released.

Anyways, if any other modders reading this have custom entities in their mods: good luck :)