Quark

Quark

143M Downloads

Dispensers don't place some blocks

zacharybarbanell opened this issue ยท 4 comments

commented

With the Dispensers Place Blocks module, dispensers don't place Carved Pumpkins, Glowstone Blocks, Chests, or any type of wool Carpet.

commented

this must be because they already have a dispenser behavior associated. quark only registers stuff for ones that have none. maybe it should wrap around them instead

commented

Yeah, that's exactly what's causing it - though I'd be a bit worried about using a wrapper since I don't know how you'd ensure that the quark code registering DispenseItemBehavior s runs after other mods' code that registers their own block with OptionalDispenseItemBehavior s, which would lead to inconsistent behavior based on mod loading order

commented

I have used something like that. I could try to port it here. First of all unlike fabric forge mod order is deterministic. Second if a mod would register before quark it's behaviour would be overwritten by quark wrapper which could call the old behaviour first. If not then either the placement gets overwritten altogether or the other mod has to use a wrapper themselves

commented

Yeah the wrapper is easy enough, you just wrap execute and check isSucess. I think it'd be frustrating if quark could place some mods blocks but not others, because the other mods registered later. This could be fixed with a mixin that changes the behavior of writing to that one particular registry to include the wrapper, but I'm not sure whether or not that's a good idea.