Stuff sticking to sides

A place to talk to other users about the mod.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Stuff sticking to sides

Post by FlowerChild »

All right guys, I've been sweating over an aspect of the new release of BTW and wanted to open it up for discussion:

How would you guys feel if the Detector Block, Table, and Sidings lost their ability to have stuff stick to them? (torches, redstone, etc.)

Why I am asking this is because that functionality is actually due to one of the overly invasive changes I objected to when it was included in the Forge.

It's reliant on some *very* invasive changes to a number of high-level classes, basically, to every object that might stick to such a surface. It was largely put in there to support such functionality in the RP cover-plate system.

Now, while I objected to it, since I lost that particular battle, I decided to just make use of that functionality since it was already in the API I was using. In retrospect, this was a mistake as it made me overly dependent on said API, and now in looking at the modifications I'd have to make to duplicate that functionality, I'm at a bit of an impasse: I really don't believe the number and extent of base-class modifications required is justified by the functionality it provides, but on the other hand, I'm reluctant to disable functionality already in the mod.

I've been sweating this one for the last 24 hours or so, and decided to open it up to discussion as a result.

So what do you guys think?
User avatar
morvelaira
Posts: 2406
Joined: Tue Jul 05, 2011 1:56 am
Location: Seattle

Re: Stuff sticking to sides

Post by morvelaira »

I know I would be disappointed if torches would not stick to siding, mainly from a decorating perspective. But that would be my only objection, and is a relatively minor one at that.
She-who-bears the right of Prima Squee-ti
I make BTW videos! http://www.youtube.com/user/morvelaira
The kitten is traumatized by stupid. Please stop abusing the kitten.
Mason11987
Posts: 1159
Joined: Wed Jul 06, 2011 11:03 am

Re: Stuff sticking to sides

Post by Mason11987 »

I didn't even know this was possible. But I don't build that much with sidings.

I don't want to bring this off-topic so quickly but why are you concerned with making a lot of class modifications?

I mean, if you don't want to support the feature, then cut it, no big deal. But if you do, then why does the number of classes matter? You've already talked about listing lack of compatibility with other mods as a feature, this will only continue that. Is there some other reason using many class changes is a problem?

If my choices are a tiny feature you'd like to have and complete incompatibility with everything, or not that feature but some other mods work, I'd definitely hope for the former.

Of course, I may be ignorant, if so please ignore everything above :).
User avatar
Elensaar
Posts: 308
Joined: Tue Jul 05, 2011 8:47 pm
Location: Oslo, Norway

Re: Stuff sticking to sides

Post by Elensaar »

Just to get this straight - this would prevent us from sticking a redstone torch to the back of a DB in order to get the inverted output straight away when we need it? That would add a block or two to some constructions, but it probably won't affect me too badly. It's easy to work around.

I must admit, I don't think I have an entirely clear picture of what this would affect, and how...

As for possible incompatibilities with other mods, don't let that worry you. I think the Forge thread made it clear most people won't be very upset about it. Not around here, anyway. ;)

All in all, do what you feel is best for the mod - I think you have a clearer view and better judgment for this than most of us.
Lots of planets have a north...!
User avatar
Flesh_Engine
Posts: 348
Joined: Tue Jul 05, 2011 2:35 am
Location: Belgium (teh horror)

Re: Stuff sticking to sides

Post by Flesh_Engine »

If it were only those blocks then i think this isn't worth the hassle to code up currently.
Jeb is working on the mod API and nobody knows how that's going to pan out and your workload has increased since the detachement from Forge.

In the long run; if you decide that this is worth it (maybe for another idea down the road) you might still add it if needed.

In the meantime we'll just have to invert the DB the normal way and be done with it.
"An engine of flesh can do that..." // "Man feed Machine. Machine feed Man..."
User avatar
Battlecat
Posts: 499
Joined: Tue Jul 05, 2011 2:04 pm

Re: Stuff sticking to sides

Post by Battlecat »

Personally I trust you to do what's best for the mod. Aside from loosing the ability to immediately invert a signal directly out of the detector, I don't think we'd be loosing too much. No torches on the siding could be a bit of a challenge when building structures using them but if you feel the changes are too invasive, then go ahead and change it!
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Stuff sticking to sides

Post by FlowerChild »

It's a combination of the number and invasiveness of the changes in comparison to the benefits it provides. For example, the changes to the torch code for it to work with this are as follows (from the Forge .patch file):

Code: Select all

     private boolean func_31032_h(World world, int i, int j, int k)
     {
-        if(world.func_41082_b(i, j, k, true))
+        if(world.isBlockSolidOnSide(i, j, k, 1))
         {
             return true;
         } else
@@ -53,19 +53,19 @@
 
     public boolean canPlaceBlockAt(World world, int i, int j, int k)
     {
-        if(world.func_41082_b(i - 1, j, k, true))
+        if(world.isBlockSolidOnSide(i - 1, j, k,5))
         {
             return true;
         }
-        if(world.func_41082_b(i + 1, j, k, true))
+        if(world.isBlockSolidOnSide(i + 1, j, k,4))
         {
             return true;
         }
-        if(world.func_41082_b(i, j, k - 1, true))
+        if(world.isBlockSolidOnSide(i, j, k-1,3))
         {
             return true;
         }
-        if(world.func_41082_b(i, j, k + 1, true))
+        if(world.isBlockSolidOnSide(i, j, k+1,2))
         {
             return true;
         }
@@ -79,19 +79,19 @@
         {
             i1 = 5;
         }
-        if(l == 2 && world.func_41082_b(i, j, k + 1, true))
+        if(l == 2 && world.isBlockSolidOnSide(i, j, k+1,2))
         {
             i1 = 4;
         }
-        if(l == 3 && world.func_41082_b(i, j, k - 1, true))
+        if(l == 3 && world.isBlockSolidOnSide(i, j, k-1,3))
         {
             i1 = 3;
         }
-        if(l == 4 && world.func_41082_b(i + 1, j, k, true))
+        if(l == 4 && world.isBlockSolidOnSide(i + 1, j, k,4))
         {
             i1 = 2;
         }
-        if(l == 5 && world.func_41082_b(i - 1, j, k, true))
+        if(l == 5 && world.isBlockSolidOnSide(i - 1, j, k,5))
         {
             i1 = 1;
         }
@@ -109,19 +109,19 @@
 
     public void onBlockAdded(World world, int i, int j, int k)
     {
-        if(world.func_41082_b(i - 1, j, k, true))
+        if(world.isBlockSolidOnSide(i - 1, j, k,5))
         {
             world.setBlockMetadataWithNotify(i, j, k, 1);
         } else
-        if(world.func_41082_b(i + 1, j, k, true))
+        if(world.isBlockSolidOnSide(i + 1, j, k,4))
         {
             world.setBlockMetadataWithNotify(i, j, k, 2);
         } else
-        if(world.func_41082_b(i, j, k - 1, true))
+        if(world.isBlockSolidOnSide(i, j, k-1,3))
         {
             world.setBlockMetadataWithNotify(i, j, k, 3);
         } else
-        if(world.func_41082_b(i, j, k + 1, true))
+        if(world.isBlockSolidOnSide(i, j, k+1,2))
         {
             world.setBlockMetadataWithNotify(i, j, k, 4);
         } else
@@ -138,19 +138,19 @@
         {
             int i1 = world.getBlockMetadata(i, j, k);
             boolean flag = false;
-            if(!world.func_41082_b(i - 1, j, k, true) && i1 == 1)
+            if(!world.isBlockSolidOnSide(i - 1, j, k,5) && i1 == 1)
             {
                 flag = true;
             }
-            if(!world.func_41082_b(i + 1, j, k, true) && i1 == 2)
+            if(!world.isBlockSolidOnSide(i + 1, j, k,4) && i1 == 2)
             {
                 flag = true;
             }
-            if(!world.func_41082_b(i, j, k - 1, true) && i1 == 3)
+            if(!world.isBlockSolidOnSide(i, j, k-1,3) && i1 == 3)
             {
                 flag = true;
             }
-            if(!world.func_41082_b(i, j, k + 1, true) && i1 == 4)
+            if(!world.isBlockSolidOnSide(i, j, k+1,2) && i1 == 4)
             {
                 flag = true;
             }
And that's only 1 of 13 base classes modified by this change. Not all of them are as extensive as this, but many are.

This is part of what I meant bout the Forge becoming "bloated". Seemingly no regard was given for the extent of changes required relative to the benefit those changes would provide, or the work that would be required to maintain them with each new release of Minecraft.

Personally, I don't want to have to maintain *that* for such a minor benefit, nor do I think the incompatibilities it causes with other mods is worth the benefit it provides.

That's my dilemma here. I hate removing functionality already in the mod, but I really don't think that functionality should have been there to begin with.
User avatar
Thalmane
Posts: 205
Joined: Tue Jul 05, 2011 6:49 am

Re: Stuff sticking to sides

Post by Thalmane »

go ahead and cut the feature. for most mod users its just used for aesthics and for the red stone fluent variety its just a simple fix.
Mason11987
Posts: 1159
Joined: Wed Jul 06, 2011 11:03 am

Re: Stuff sticking to sides

Post by Mason11987 »

FlowerChild wrote:It's a combination of the number and invasiveness of the changes in comparison to the benefits it provides. For example, the changes to the torch code for it to work with this are as follows (from the Forge .patch file):
_Snip_

Personally, I don't want to have to maintain *that* for such a minor benefit
Emphasis mine.

Then don't. Your effort to make a massive switch off of forge with no discernible change to the player is admirable, but probably not worth your effort for such a tiny feature.
User avatar
Stormweaver
Posts: 3230
Joined: Wed Jul 06, 2011 7:06 pm

Re: Stuff sticking to sides

Post by Stormweaver »

I'd probably miss the ability to place beds on siding (siding-thick floors are the only way I can make a house look the right shape) and redstone not being placeable in the same way might be a little annoying, but both those are fully aesthetic for me. I couldn't give a toss about compatibility personally and I'm pretty sure the same holds for every one of us that supported you dropping the forge, so it's all down to the code being maintained.

If it gets us better features faster and results in making the mod being more enjoyable for you, drop it. Simple.
PatriotBob wrote:Damn it, I'm going to go eat pumpkin pie while I still think that it tastes good.
User avatar
gftweek
Posts: 674
Joined: Thu Jul 07, 2011 5:33 pm

Re: Stuff sticking to sides

Post by gftweek »

Stormweaver wrote:I'd probably miss the ability to place beds on siding (siding-thick floors are the only way I can make a house look the right shape)
Yes, but you can just place beds on blocks, then replace the blocks with siding afterwards can't you?

I think reducing base class changes is a worthy goal, and the changes while breaking some setups, will be easily remedied in most cases.
User avatar
Stormweaver
Posts: 3230
Joined: Wed Jul 06, 2011 7:06 pm

Re: Stuff sticking to sides

Post by Stormweaver »

gftweek wrote:
Stormweaver wrote:I'd probably miss the ability to place beds on siding (siding-thick floors are the only way I can make a house look the right shape)
Yes, but you can just place beds on blocks, then replace the blocks with siding afterwards can't you?

I think reducing base class changes is a worthy goal, and the changes while breaking some setups, will be easily remedied in most cases.
You could, but (And i forwent mentioning this on purpose) the siding's placement code means you'd have to place them on the bed, which currently can't be done.
PatriotBob wrote:Damn it, I'm going to go eat pumpkin pie while I still think that it tastes good.
User avatar
walker_boh_65
Posts: 2304
Joined: Mon Jul 04, 2011 9:40 pm
Location: New Jersey

Re: Stuff sticking to sides

Post by walker_boh_65 »

As nice as it was to place torches on the sides of the DB, that's all it was, nice. We have lived without out it, and we can live without it again.
And I honestly did not know this applied to beds as well, nor did I know you could stick stuff to tables.
User avatar
DaveYanakov
Posts: 2090
Joined: Sat Jul 23, 2011 5:17 am

Re: Stuff sticking to sides

Post by DaveYanakov »

We were able to stick torches on detector blocks? I saw the patch notes for siding but detector blocks never made enough sense for me to even try it. As far as torches and such on siding, I would just start using fences to slap torches onto again.
Better is the enemy of Good
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Stuff sticking to sides

Post by FlowerChild »

Thanks guys. Personally, I find it sucks the most for the table, just because you'd really *expect* to be able to place objects on it.

There goes my banquet hall :)

And yes, it also affects redstone torches on the side of the DB, which is probably the only real functional change here.

I just can't reconcile modding 13 base classes in such an invasive manner for something like this. I appreciate the support.
User avatar
Dralnalak
Posts: 135
Joined: Tue Jul 05, 2011 1:13 am

Re: Stuff sticking to sides

Post by Dralnalak »

Another vote for, "Go with what's easiest to maintain."
User avatar
Sarudak
Site Admin
Posts: 2786
Joined: Thu Nov 24, 2011 7:59 pm

Re: Stuff sticking to sides

Post by Sarudak »

I do think it's rather disappointing to lose such intuitive functionality...
User avatar
jorgebonafe
Posts: 2714
Joined: Mon Sep 19, 2011 3:22 am
Location: Brasil

Re: Stuff sticking to sides

Post by jorgebonafe »

Just a question... With the new api Jeb is developing, would this still be a problem? As I understand, the API will allow to do such things without changing base classes. Or am I wrong? If that's the case, even if you remove this functionality now it would be possible to do it again later without changing base classes.
Better Than Wolves was borne of anal sex. True Story.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Stuff sticking to sides

Post by FlowerChild »

Sarudak wrote:I do think it's rather disappointing to lose such intuitive functionality...
I agree. It's just a matter of bang for the buck in this case. The Minecraft code-base just doesn't work this way and it really take an excessive amount of changes to make it happen.

In an ideal world, I definitely would provide this ability, and if Minecraft itself is eventually changed to allow it, I certainly will. For the time being though, it just doesn't make any sense to keep it.
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Stuff sticking to sides

Post by FlowerChild »

jorgebonafe wrote:Just a question... With the new api Jeb is developing, would this still be a problem? As I understand, the API will allow to do such things without changing base classes. Or am I wrong? If that's the case, even if you remove this functionality now it would be possible to do it again later without changing base classes.
Maybe, or maybe not. There's no real way of telling at this point.

And even if it allows for the byte-code swapping thing that Gil has been mentioning, this still would be an excessive amount of work, and if multiple mods are doing it to the same lines of code, conflicts are bound to result (that kind of thing allows for multiple mods to change the same class files...but not really the same lines of code). Best bet for this kind of functionality is to have it built into the MC code-base, which I don't think is much of a stretch considering stuff like the ability to place torches on fences in the latest releases.
User avatar
MoRmEnGiL
Posts: 1728
Joined: Sat Oct 08, 2011 5:29 pm
Location: Bosom Higgs

Re: Stuff sticking to sides

Post by MoRmEnGiL »

Well aesthetics are important, but they are also the area that offers the most room for fiddling about, so the aesthetic loss for me is minimal.

Being unable to place a redstone torch on a DB on the other hand is what stings a bit, because, compactness! But is this little thing worth that much of a hassle? No not really. Just do what your gut tells you man, I think we can live without this functionality. (Personally I never did have it in the first place since I'm stuck using btw 2.94 :P)
War..
War never changes.

Remember what the dormouse said
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Stuff sticking to sides

Post by FlowerChild »

MoRmEnGiL wrote: Being unable to place a redstone torch on a DB on the other hand is what stings a bit, because, compactness!
You'll get no argument for me there. The loss of this kind of thing is why removing this has been enough a concern for me to bring this topic before the community.

It sucks man, it just would suck a lot less if I had made the right choice and not built this kind of functionality into the mod to begin with. At the time, I didn't think I'd be leaving the Forge, so having that functionality already at my disposal, I just went for it.

In retrospect I should have been much more guarded about doing so, especially since I didn't even agree with the feature being included in an API to begin with.
User avatar
FurkeyRefills
Posts: 482
Joined: Wed Jul 06, 2011 11:49 am
Location: England

Re: Stuff sticking to sides

Post by FurkeyRefills »

Seems an alright sacrifice to be detached from the Forge to me, I mean if your thinking about monostable circuits then your only adding a block of space back on for one piece of redstone wire :/

I would rather have a mod that is completely independent than one that is restricted by something :)
FlowerChild wrote:I've made another decision... Fuck being a plug-in.
User avatar
Battosay
Posts: 2043
Joined: Mon Jul 04, 2011 7:37 pm

Re: Stuff sticking to sides

Post by Battosay »

I'll miss it, it was usefull to make more compact setups.
But I'll live :)
User avatar
FlowerChild
Site Admin
Posts: 18753
Joined: Mon Jul 04, 2011 7:24 pm

Re: Stuff sticking to sides

Post by FlowerChild »

Battosay wrote:I'll miss it, it was usefull to make more compact setups.
But I'll live :)
Thanks man. I know this one will impact your existing setups quite a bit, so I appreciate the understanding.
Post Reply