Create
Create copied to clipboard
Glowstone copycats
Describe the Bug
The half-slab copycat with glowstone will not make any light after we left the world.
Reproduction Steps
- Put a half-slab copycat
- Put glowstone texture
- Leave your world
- Join your world
Expected Result
It still should do light...
Screenshots and Videos
Crash Report or Log
No response
Operating System
Windows 11
Mod Version
0.5.1b
Minecraft Version
1.19.2
Forge Version
43.2.10
Other Mods
On the screenshot, there are: canay connectedness create create track map ferritecore framedblocks immersive painting jei journeymap kotlin lazyduf oculus radon reforgium rubidium rubidium extra textruesrubidiumoptions worldedit
But I also tried without all of them (just Create mod) and it still do that)
Additional Context
I tried to install Starlight mod, but it broke light so I removed it, (and deleted all minecraft files and all mods files etc)
Any other light emitting block doesn't work either and leaving and reentering chunks with copycat lights causes the issue aswell (not just reentering the world).
Issue still somewhat present in 1.20.1...
While walking with the debug info visible (F3) one can see there is a discrepancy between the light level of the client and the light level of the server.
While the light level appears to be correct, mobs will still spawn in a fully lit room lit with copycat blocks, breaking any usefulness as thin light sources!
This bug still exists in 0.5.1f, with MC version 1.20.1, and Forge 47.2.0.
As mentioned by @alkarym, the light level shows up correctly on the client but isn't correct on the server. This allows mobs to spawn in apparently brightly lit areas. Additionally, when playing on a dedicated server, the light levels show up correctly for the client (still not the server, as evidenced by mob spawns) initially, but if you log out and then log back in, the lower server light level is shown. Placing any light block and then removing it will return the client light level back to the correct level, but the server will still have the lower level as if the copycat light block was not there.
Hopefully the above details are useful, though I think it is pretty clear that the problem is that the light is being handled correctly client side but is completely ignored server side.
if you have the mod that removes ghost blocks (AntiGhost by Giselbaer) by requesting updates from the server, you don't even have to relog to see it stop producing light. It's super annoying, because I'd love to have copycat light sources.
Like AkacioBahno mentioned, it's not just glowstone. Any light block (including modded light sources) behaves the same way.
After trying to spruce up a build and encountering this bug, I reported it, but seeing it's been a known issue for a while kinda bummed me out. I feel like this is a somewhat high priority bug no? Letting players use this feature trusting it'll function, only to lose lighting in an area and potentially having mobs spawn can be quite the pain, imagine a complex contraption getting blown up or getting killed in hardcore because one used this light solution that seemed to work just fine. This feature seems broken, so either a fix to make lighting work, or if all else fails, not allowing light emitting blocks to be copycats (which would suck but better than not working) is needed I feel.
Wait, this bug still isn't fixed? I just started updating mods on my server and was expecting this very serious bug that was reported almost a year ago to be fixed by now.
Wait, is this mod dead? The last commit seems to have been 2 months ago... That would be very disappointing, but it would explain the failure to fix such a massive bug.
Wait, this bug still isn't fixed? I just started updating mods on my server and was expecting this very serious bug that was reported almost a year ago to be fixed by now.
Wait, is this mod dead? The last commit seems to have been 2 months ago... That would be very disappointing, but it would explain the failure to fix such a massive bug.
The mod is not dead, If you look at https://github.com/Creators-of-Create/Create/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+bug%22 you will see many many bugs with many of them causing crashes and being higher priority then this.
After trying to spruce up a build and encountering this bug, I reported it, but seeing it's been a known issue for a while kinda bummed me out. I feel like this is a somewhat high priority bug no? Letting players use this feature trusting it'll function, only to lose lighting in an area and potentially having mobs spawn can be quite the pain, imagine a complex contraption getting blown up or getting killed in hardcore because one used this light solution that seemed to work just fine. This feature seems broken, so either a fix to make lighting work, or if all else fails, not allowing light emitting blocks to be copycats (which would suck but better than not working) is needed I feel.
Yeah, and it kinda sucks because it fully work well with Framed Block mod but this mod is a bit less opti with Create trains. Create contraptions are very usefull to do a lot of the Framed Blocks mod work without to make your game to die everytime your train stops in train station (I'm on laptop)
Wait, this bug still isn't fixed? I just started updating mods on my server and was expecting this very serious bug that was reported almost a year ago to be fixed by now. Wait, is this mod dead? The last commit seems to have been 2 months ago... That would be very disappointing, but it would explain the failure to fix such a massive bug.
The mod is not dead, If you look at https://github.com/Creators-of-Create/Create/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+bug%22 you will see many many bugs with many of them causing crashes and being higher priority then this.
I agree that crashes are bad, but this is a huge gameplay issue. A mod that doesn't crash but has huge playability issues that pop up and surprise players isn't better than a mod that crashes occasionally but otherwise works as advertised. As a software developer myself, I can tell you that crashes are not always higher priority than basic usability problems. I don't know exactly how difficult this problem would be to fix, but I'll bet it's a lot easier to fix than most of your crash issues. Good prioritization is not just a function of severity. It's also a function of cost. A moderate usability problem that takes an hour to fix should often be higher priority than an occasional crash that is going to take days to debug.
That said, I'm not the author or a collaborator of the mod. It's your choice. But let me tell you: Create is advertised to be a high quality, and this is such a basic problem that has gone so long with no attention that I'm starting to feel like I was lied to. This mod has great potential. And I understand that you guy have limited time and a lot more issues than just this one. But fit and polish are a huge element of quality, and if you are going to present a product as being high quality when the polish is poor and not a priority, that's just not honest.
(And yes, I understand that I could fix it myself. I do have the skill to do that. And I appreciate that this is open source, giving me that option. Unfortunately, I absolutely loathe Java. If it wasn't for that, I would be making my own mods. In fact, I have dabbled, but each time Java made it so difficult I had to walk away to keep my sanity. I have a lot of respect for you for putting up with it, but I just can't bring myself to get involved. Thanks for taking the pain for the rest of us. As annoyed as I am about this bug, I really do appreciate all of the work you do on this!)
I believe I have found a (hacky) way to solve the issue. I added a line to toggle the LIT property of the copycat block's block state upon use (the LIT property doesn't affect the block, as far as I can tell), which solved the problem. I'm not really sure how the lighting engine works, but perhaps the server light not updating is due to the lack of a block state change. Adding in the toggle ensured that the block state changes every time you use the copycat panel/step, forcing a lighting update on the server side.
I have no clue if this is the best way to solve the problem and have not extensively tested the fix.
In CopycatBlock.java (I added the pState.setValue(...) line):
Edit: Nevermind. BetterF3 says the server light still did not update. Why does the light persist when I leave and rejoin the world, then?
I believe I have found a (hacky) way to solve the issue. I added a line to toggle the LIT property of the copycat block's block state upon use (the LIT property doesn't affect the block, as far as I can tell), which solved the problem. I'm not really sure how the lighting engine works, but perhaps the server light not updating is due to the lack of a block state change. Adding in the toggle ensured that the block state changes every time you use the copycat panel/step, forcing a lighting update on the server side.
I have no clue if this is the best way to solve the problem and have not extensively tested the fix.
In CopycatBlock.java (I added the
pState.setValue(...)line):Edit: Nevermind. BetterF3 says the server light still did not update. Why does the light persist when I leave and rejoin the world, then?
and how did you edit file?
Would it be possible to add a block state that just stores the light level of the copycat, then change that block state whenever the material is changed?
I suggest this because the root problem is that copycats are block entities, which are unsafe to access in the light update worker threads. However, block states are accessible to the lighting engine (see: respawn anchor). So the possible fix would be an int block state called lightLevel that is changed according to the block placed in the copycat.
For the record, this is ultimately a Forge bug which cannot be fixed easily and cleanly in Create. NeoForge at some point past 1.20.1 made a fix, which will be used by Create on 1.21 and further. This is to say that this issue will not be fixed on 1.20.1 and will be fixed on 1.21 and newer.
Will be fixed in 1.21.1, as for 1.20.1 create cannot do anything about this issue as it's caused by forge
The relevant Neo PR: https://github.com/neoforged/NeoForge/pull/464
Reopening this since Create isn't actually using that API yet and the bug is neither resolved nor is Create's current implementation actually fully thread-safe as a result: https://github.com/Creators-of-Create/Create/blob/ff0173b06e699ad0249c1833a88aa90cc4a34fd0/src/main/java/com/simibubi/create/content/decoration/copycat/CopycatBlock.java#L301-L302 https://github.com/Creators-of-Create/Create/blob/ff0173b06e699ad0249c1833a88aa90cc4a34fd0/src/main/java/com/simibubi/create/content/decoration/copycat/CopycatBlock.java#L274-L276 https://github.com/neoforged/NeoForge/blob/138a265d84ccea621a974c9a0a2bf94afb2b20b2/src/main/java/net/neoforged/neoforge/common/extensions/IBlockExtension.java#L148-L155
Look guys, if it is actually true that this cannot be fixed due to Forge bugs, at least make these copycat blocks so they won't take light blocks. It's a better solution than just letting your mod continue to have an absolutely massive quality issue that keeps popping up and surprising players with creeper explosions and other mobs in areas that look like mobs can't spawn in them.
Look guys, if it is actually true that this cannot be fixed due to Forge bugs, at least make these copycat blocks so they won't take light blocks. It's a better solution than just letting your mod continue to have an absolutely massive quality issue that keeps popping up and surprising players with creeper explosions and other mobs in areas that look like mobs can't spawn in them.
For future reference, consider that developers have lives, and that there's hundreds of other issues, just because you are encountering a specific issue doesn't mean that developers should drop what they are doing to fix the bugs that annoy you. The issue was re-opened for a reason, so that it could be fixed now that there is a API that create can use to actually fix it.
I very much doubt any developer enjoys seeing messages similar to yours after a long day at work/school, especially the ones that do this as a hobby alongside everything else they've got going irl.
PS: Before commenting on the quality of a project please actually go through the commit history and take a look at the work and effort people put into fixing bugs and their project. https://github.com/Creators-of-Create/Create/commits/mc1.21.1/dev/
That's my point! If you don't have time to fix a massive issue that can cause serious problems for players, just disable the thing that causing the issue until someone has time to fix it. There's no reason to put light blocks in the copycat blocks if they won't emit light. So blacklist them, so the copycat blocks won't accept them. That avoids the issue where someone's base gets blown up by a creeper, because it looks like they have light when they don't. If the developers of this mod don't have a few minutes to implement something basic like this, then maybe you don't have time to be moding Minecraft in the first place.
And sure, I understand, you've done a lot of other things instead of taking care of this massive glaring issue. That tells me that you've had time to take care of this, but instead you spent the time on things that have a less severe impact. I appreciate all of the effort, but tons of effort with poor priorities ruins projects. I'm fully aware of all the other time put into less critical things. That's no excuse. And sure, I know devs don't enjoy seeing messages like mine. No one likes being called out on their mistakes. If no one ever called out anyone on their mistakes though, the world would be a far worse place, and we wouldn't have any sort of civilization.
So like I said, if you don't have time to fix it, at least disable the things causing the problems, so that the problem is gone. I would much rather not be able to put light blocks in the copycat blocks than have my base blown up by a creeper because the game is falsely indicating that there is enough light to prevent spawning.
Just so you know, the whole point of my comment was to provide an alternative that is much less work that will resolve the problem. You responded by taking offense at me suggesting an alternative. I've mentioned it before, but I'm a software developer myself, and I have developed and am currently developing open source software myself. So going off about how much work it is and people doing things as hobbies isn't telling me anything new. As someone who spends significant time on open source software though, I know that it is easy to get caught up in features or fixing very rare bugs rather than maintaining the most basic standards of quality. What really annoys me though is when I suggest a trivial solution to a quality problem, and someone says, "But do you know how much time our developers are already spending on X, Y, and Z? It's just a hobby." If your devs can't maintain sufficient basic quality to keep the thing usable without problems like this, maybe they should switch to a hobby like model trains, that doesn't affect thousands of people. "It's just a hobby" doesn't magically eliminate responsibility for the commitment to the people you've voluntarily chosen to provide this for. If you can't keep up, admit it and walk away. I would hate to see that happen to Create, but I think it is better to be honest than to pretend like you can do something you can't and keep thousands or more people waiting for something you'll never be able to do. (And to be clear, I would do the same for any of my open source projects, if I was unable to maintain their quality. I'm not going to let people who are relying on me continue to believe I'm going to provide maintenance when I just can't keep up. Stringing people along like that is far worse than admitting I don't have time and walking away.)
Anyhow, again, it should be easy to disable copycat blocks from accepting light blocks. Do that. If you want to come back to it later and fix it so they work, that's fine. If you never get around to it, that's fine too. My problem isn't that you aren't making the light blocks work with copycat blocks. My problem is that you aren't doing something about this huge issue to prevent it from advertising spawn free light levels where they don't actually exist.
So basically you are mad because a creeper blew up your base.
In case the MIT license isn't clear enough, the project assumes no responsibilities in maintaining its fitness for a particular purpose. If you are expecting a stable and expertly-maintained experience, please stick to vanilla Minecraft instead. The responsibility is on YOU to decide whether to continue using this project, not on the devs to cater to your request when there are hundreds of issues with higher priority.
If you are really annoyed by the bug and has an idea for a fix, great, PR the change. As an open source dev yourself, you should know better than to spam an issue. You are not just wasting the devs' time, but the time of addon devs who are subscribed to this issue as well.
No, here's what annoys me: People who respond to constructive criticism with, "Oh, but it's just a hobby, it takes so much time, we are doing everything we can, and you should just appreciate it," without considering how their choices affect other people. How many people have posted in this thread that they were affected by this? How many hours of work did they lose, to creepers, to time spent outfitting bases with lighting that doesn't work, and so on? All it would take is for a dev to spend a few minutes adjusting the blocks accepted by the copycat blocks. I'm not that bothered by the time it cost me personally. I'm bothered by the fact that the devs of this mod don't care about the time wasted of hundreds or thousands of people using the mod! It's hard to care about a few hours here and there of a few tens of people, when they don't care about the time of thousands! If you don't have the time or energy to do the job well, go get another hobby that doesn't affect other people!
Something else that also annoys me is people who join the conversation late and don't bother to read the earlier parts. Maybe try going and doing that before making suggestions.
And yes, I understand. I can just walk away. If I do that though, them I'm also walking away from all of the other people who are having their time wasted by developers who can't prioritize effectively. Additionally, I'm walking away from the devs, when I could be encouraging them to improve themselves. Walking away is the cheap and easy route that helps no one! It is, quite frankly, jerk behavior to just walk away without at least trying to improve things. You know what is really sad? The fact that this discussion has had to devolve into teaching basic manners and civic responsibilities to people who are mostly adults. The situation won't improve, if people just walk away. All that will lead to is the ultimate failure of what is almost one of the best Minecraft mods ever created.
Man, and I thought the kids here acted entitled. Can we just ignore this guy and lock the thread to collaborators?
Unfollowing this issue myself.
Go right ahead. Show me your true colors.
