Great mod! I would just like to note that the repeaters do not have the "lock" function, not sure if you didn't think about it or just haven't added it yet but I thought I would mention that
Oh wow you're totally right, I was so focused on duplicating the appearance (the hardest part, in fact, due to all the rotations) that the locking function never even entered my mind. Going back and looking at the vanilla repeater code, turns out it was pretty easy to overlook that aspect. Other than some more special rendering (for the crossbar thing), it won't be hard to add that function. Glad you spotted it.
I just wanted to report an issue when using the Railcraft mod.
Railcraft has a "hidden block" that's used to track player movement. Unless this block's ID is set to 0, the hidden block prevents Redstone Paste from being placed inside of blocks that the player has recently occupied.
The downside to setting the ID to zero is that the player tracking mode of Railcraft's Trackman's Goggles item will no longer function. I asked on IRC and a person told me to suggest that you use the vanilla method isAir to check for placement, rather than checking specifically for block ID 0.
I'm not a coder, so I hope this makes sense!
Glad you like the changes!
That's an interesting issue. The current game I've been playing with my mods added doesn't include Railcraft this time so I never noticed this kind of problem. I was even about to say that I'm not sure exactly what the issue is, since I do in fact use isAirBlock when creating the block that will contain the paste. But then I realized that in different conditionals prior to that, in both the paste and sticky repeater placement code, it does indeed check for block #0. I imagine that using isAirBlock in all such circumstances will prevent potential bugs with various other mods, too, since blocks can individually override that method. So that's good to know! Especially since I can think of a reason for even Redstone Paste to override that as well (for dealing with a rare circumstance where the block might possibly still exist with no pieces of paste/repeaters/slabs in it).
I appreciate the bug reports, guys, since there's no way I can test everything. Looks like three bugs (two already fixed) and a forgotten feature are in store for v1.4.1 so far.
Awesome mod sir, but it flickers so much with Optifine installed that I'm getting crashed related to tesselating, and I can't play without Optifine unfortunately.
Are there plans to make it compatible with Optifine?
I would love to play around with this!
The flickering I've seen before in peoples' Youtube videos for the mod. It's annoyed me to see it, and I wasn't sure what was causing it until I did some messing around just now and found it's due to how close I'm rendering paste segments to the block they're attached to. Not sure why Optifine has trouble with this when Minecraft itself doesn't. The reason I'm not using a larger distance from the block is because then there's a noticeable gap where paste wraps around corners.
The best solution here is to render paste segments in 3d instead of flat planes, but that's going to take some figuring out, since I would want to handle it like how Minecraft renders items in your hand (taking a 2d image and making it appear 3d). I may push these bug fixes on out first, and if so, maybe I'll add in a temporary config option for Optifine compatibility where it just increases that distance rendered from a block. (EDIT: I fixed this. I'm rendering the paste at the same distance as redstone dust now, but adding tiny side faces to avoid the noticeable gap. Can hardly tell the difference. Not only fixes the Optifine problem, but makes paste look better in the distance even without it installed. It'll be in v1.4.1.)
As for the crashing, that shouldn't be happening at all given the nature of the flickering. If you could paste a crash log, I could see if it's related to this mod or not, and if so, try to figure out why.
BRAVO. At-last someone has created an original redstone mod. Not only that, but everything about it just feels natural to the game; far more so then redpower, project red, or redlogic ever have. I'm very excited for this mods future.
Feature-wise, it's the locking functionality for sticky repeaters, and also a change to how redstone propagates. This could affect your existing builds. A redstone current source in the adjacent block (lever, torch, repeater, etc) will no longer power paste unless you specifically connect to it. This is an advantage since it allows you even finer control over your circuits. The possible downside is that this means levers on slab covers will no longer power paste below them. This same code change also indirectly fixes an existing issue with redstone dust and paste keeping each other powered in certain scenarios.
Bug-wise, it takes care of the Optifine issue of paste flickering. This should improve the rendering of paste in the distance even without Optifine installed, as well. I also had to create an entire workaround for rendering the ghost slab because Optifine's voodoo caused it to crash when trying to render it using Minecraft's standard block face rendering methods. I quite literally copied those methods into my code with only minor changes, where Optifine's modifications won't affect them. Optifine apparently does not cope with block rendering happening in the highlighter event.
This should also fix the Railcraft hidden block bug in regards to placing paste. Someone please test this and confirm it for me.
Couple of other bugs or so are also fixed which were discussed here. Check the changelog.
Keep finding those bugs, and I'll try to keep squarshing'em!
BRAVO. At-last someone has created an original redstone mod. Not only that, but everything about it just feels natural to the game; far more so then redpower, project red, or redlogic ever have. I'm very excited for this mods future.
Thanks! I'm glad people can appreciate the vanilla feel I've tried to maintain.
Here's one. I think it's something to do with Railcraft's hidden block again.
---- Minecraft Crash Report ----
// You're mean.
Time: 28/10/13 12:13 AM
Description: Unexpected error
java.lang.ClassCastException: mods.railcraft.common.blocks.hidden.TileHidden cannot be cast to fyber.redstonepastemod.TileEntityRedstonePaste
at fyber.redstonepastemod.BlockRedstonePaste.getPasteObjectCount(BlockRedstonePaste.java:1650)
at fyber.redstonepastemod.client.RedstonePasteHighlighter.HighlightHandler(RedstonePasteHighlighter.java:685)
at net.minecraftforge.event.ASMEventHandler_45_RedstonePasteHighlighter_HighlightHandler_DrawBlockHighlightEvent.invoke(.dynamic)
at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)
at net.minecraftforge.event.EventBus.post(EventBus.java:108)
at net.minecraftforge.client.ForgeHooksClient.onDrawBlockHighlight(ForgeHooksClient.java:237)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1256)
at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1006)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:946)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:838)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Stacktrace:
at fyber.redstonepastemod.BlockRedstonePaste.getPasteObjectCount(BlockRedstonePaste.java:1650)
at fyber.redstonepastemod.client.RedstonePasteHighlighter.HighlightHandler(RedstonePasteHighlighter.java:685)
at net.minecraftforge.event.ASMEventHandler_45_RedstonePasteHighlighter_HighlightHandler_DrawBlockHighlightEvent.invoke(.dynamic)
at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)
at net.minecraftforge.event.EventBus.post(EventBus.java:108)
at net.minecraftforge.client.ForgeHooksClient.onDrawBlockHighlight(ForgeHooksClient.java:237)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1256)
Here's one. I think it's something to do with Railcraft's hidden block again.
It was indeed. Using the isAirBlock conditional instead of checking for block 0 let it get beyond that to a point where the code then assumed it was either a paste block or an empty one, rather than one possibly still occupied by something else (despite Railcraft's block being replaceable). I think I fixed it. I tossed Railcraft in my release-testing client and didn't see any crashes, though I don't actually know what you were doing which triggered it.
I released v1.4.2 already because I know that crash bugs are particularly annoying. I'd also started some rendering optimizations, so that's in there too, as well as a bug fix to trigger redstone propagation when you break sticky repeaters.
There's still some kind of random flicker going on with Optifine, but with the highlighter, not the paste. I don't understand exactly what causes it to occur, especially since it's random. Debugging anything in a mod which doesn't have a development version (like Railcraft or Optifine) is hard, since you have to completely compile and pack your mod up to run in a standard modded client to test any changes you make. Hopefully I'll track the source of the problem down eventually. But at least the cursor flickering isn't nearly as bad as all of your paste blocks!
I just backported v1.4.2 of the mod to work with Minecraft 1.5.2. So now finally you folks using that version can enjoy slab covers and sticky repeaters.
I finally set up a git repository for handling this mod, which is something I should have done a long time ago. This means porting to other Minecraft versions will be a lot easier in the future. Hopefully the port to 1.7.2 won't be hard, but I won't know until MCP and Forge are updated!
I believe I have found something else, sticky repeaters don't seem to work with comparators (I have other mods installed so they may be interfering)
I haven't tested them so there may in fact be a problem. I'll look into it. (EDIT: It's not just repeaters, the same issue affects paste strength level from comparators too. I got all of the propagation issues solved. It'll be in the next version.)
It's worth noting that you cannot lock a vanilla repeater with a sticky repeater. It just aint happening unless I include a coremod (since vanilla repeaters specifically look for vanilla repeaters to lock them), and if I do that then I likely have to release a version of the mod for every single Minecraft version from now on to remain compatible. Though I suppose I should make it possible to lock a sticky repeater with a vanilla one! (EDIT: Vanilla ones will lock sticky ones, next version.)
Also I found a bug when I was backporting 1.4.2: you can't adjust the delay of sticky repeaters with an empty hand. That's twice I've overlooked something related to empty hands, since my test character is usually so full of items. (EDIT: Also fixed, all will be in 1.4.3.)
I was using Project Red, but every time I did, my game would crash eventually. I am now using this mod and have had zero crashes so far. It works very well with Wireless Redstone CBE. I have a suggestion for this mod as well. It would be nice to have a sticky comparator. I would also like to know if there are plans to make this compatible with Forge Multipart?
I'm about to start work on sticky comparators, and even though it looks pretty straightforward, especially since sticky repeaters put a lot of useful code in place, I still don't know how long it could take. So I don't see any reason to not go ahead and release the latest bug fixes now, especially since one of them could have had potential side effects, so that you guys can have a chance to find anything wrong with it in the meantime.
So v1.4.3 is up. Fixes the problem of not being able to set the delay on a sticky repeater with an empty hand, lets vanilla repeaters lock sticky repeaters, and most importantly, fixes the comparator issue with paste and sticky repeaters. The problem was that it wasn't returning the proper signal output. In fact, it was a potential problem for other things too. That required a change in the propagation code, and that always make me worry that I broke something despite the testing, so you'll just have to let me know if anything acts up.
I have a suggestion for this mod as well. It would be nice to have a sticky comparator. I would also like to know if there are plans to make this compatible with Forge Multipart?
See above for sticky comparators. As for Multipart compatibility, it's something that's been suggested many times, and I always point out that it would require rewriting much of the mod. But, when comparators are done, the mod will feel more complete, so I might finally look into making a compatible version at that point. Someone also suggested it for Hopper Ducts, which might be a better learning experience, since it's a much simpler mod. We'll see!
I'm about to start work on sticky comparators, and even though it looks pretty straightforward, especially since sticky repeaters put a lot of useful code in place, I still don't know how long it could take. So I don't see any reason to not go ahead and release the latest bug fixes now, especially since one of them could have had potential side effects, so that you guys can have a chance to find anything wrong with it in the meantime.
So v1.4.3 is up. Fixes the problem of not being able to set the delay on a sticky repeater with an empty hand, lets vanilla repeaters lock sticky repeaters, and most importantly, fixes the comparator issue with paste and sticky repeaters. The problem was that it wasn't returning the proper signal output. In fact, it was a potential problem for other things too. That required a change in the propagation code, and that always make me worry that I broke something despite the testing, so you'll just have to let me know if anything acts up.
See above for sticky comparators. As for Multipart compatibility, it's something that's been suggested many times, and I always point out that it would require rewriting much of the mod. But, when comparators are done, the mod will feel more complete, so I might finally look into making a compatible version at that point. Someone also suggested it for Hopper Ducts, which might be a better learning experience, since it's a much simpler mod. We'll see!
Great. The mod is already awesome. Keep up the excellent work. Peace.
Rollback Post to RevisionRollBack
If Minecraft were real, you'd be a zombie right now.
I love this mod.
I like how you can now have what appears to be a 1 block gap between parts.
It has the same functionality as putting it on the ground, it just makes for a more cool looking circuit.
I love this mod.
I like how you can now have what appears to be a 1 block gap between parts.
It has the same functionality as putting it on the ground, it just makes for a more cool looking circuit.
A timer I made with it
I gotta say, people still surprise me with the things they make. You took a shortcoming of how the mod's currently designed and used it as a feature. That's awesome.
Version 1.5 is up. That was quicker than I expected!
This adds sticky comparators, and a new icon and textures for sticky repeaters.
This is where I'll need the help of you redstone magicians. I'm fairly certain that I duplicated the functionality of the normal comparator, including both modes as well as detecting chest inventories, but it's really hard to test everything. Give it your worst, and just let me know if anything doesn't behave properly.
Fun fact: Did you know that vanilla comparators don't emit light, even though they have redstone torches? I didn't!
I don't know if it's intentional, but redstone dust next to a block with powered redstone paste causes the dust to activate. It's like what happens if you had a repeater pointed at the block.
I don't know if it's intentional, but redstone dust next to a block with powered redstone paste causes the dust to activate. It's like what happens if you had a repeater pointed at the block.
That's not intentional, and I didn't realize it occurred till you mentioned it. Issues regarding compatibility with redstone dust have been a recurring issue. I've made many changes to how paste propagates redstone current, sometimes for paste's sake, sometimes for dust's sake, and different quirks tend to arise as a result. I at least solved the one of paste and dust powering one another forever in certain circumstances! I have a solution in mind for dealing with this particular issue now as well, but as with any change of this nature, it risks other unintentional side-effects. As I've mentioned before, the only bulletproof solution is a coremod, where I could inject the proper "awareness" into redstone dust to avoid these problems before they even begin. But that requires compiling, packaging, and hosting a version for every version of Minecraft that I want to support. Not exactly ideal.
Speaking of "bugs" I want to make mention of something I was made aware of. Apparently there's a recipe conflict with redstone paste itself and the Mutant Creatures mod. The easy solution here is to just look in the config file and set it to use the alternate recipe (slimeball surrounded by redstone dust), and then change the number of paste you get with that recipe to make it a bit more balance.
EDIT: Turns out the incompatibility with Mutant Creatures isn't a recipe conflict; it's because the dev is using very low item ID values, down in the block ID range for some reason. That ID space is very limited, he really should choose new default values. You don't get a block ID conflict since his isn't a block that's conflicting. To avoid this problem, either change Redstone Paste's block ID to something like 1785 (which should be below his items), or change his item IDs to some much higher values.
Oh wow you're totally right, I was so focused on duplicating the appearance (the hardest part, in fact, due to all the rotations) that the locking function never even entered my mind. Going back and looking at the vanilla repeater code, turns out it was pretty easy to overlook that aspect. Other than some more special rendering (for the crossbar thing), it won't be hard to add that function. Glad you spotted it.
Glad you like the changes!
That's an interesting issue. The current game I've been playing with my mods added doesn't include Railcraft this time so I never noticed this kind of problem. I was even about to say that I'm not sure exactly what the issue is, since I do in fact use isAirBlock when creating the block that will contain the paste. But then I realized that in different conditionals prior to that, in both the paste and sticky repeater placement code, it does indeed check for block #0. I imagine that using isAirBlock in all such circumstances will prevent potential bugs with various other mods, too, since blocks can individually override that method. So that's good to know! Especially since I can think of a reason for even Redstone Paste to override that as well (for dealing with a rare circumstance where the block might possibly still exist with no pieces of paste/repeaters/slabs in it).
I appreciate the bug reports, guys, since there's no way I can test everything. Looks like three bugs (two already fixed) and a forgotten feature are in store for v1.4.1 so far.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
The flickering I've seen before in peoples' Youtube videos for the mod. It's annoyed me to see it, and I wasn't sure what was causing it until I did some messing around just now and found it's due to how close I'm rendering paste segments to the block they're attached to. Not sure why Optifine has trouble with this when Minecraft itself doesn't. The reason I'm not using a larger distance from the block is because then there's a noticeable gap where paste wraps around corners.
The best solution here is to render paste segments in 3d instead of flat planes, but that's going to take some figuring out, since I would want to handle it like how Minecraft renders items in your hand (taking a 2d image and making it appear 3d). I may push these bug fixes on out first, and if so, maybe I'll add in a temporary config option for Optifine compatibility where it just increases that distance rendered from a block. (EDIT: I fixed this. I'm rendering the paste at the same distance as redstone dust now, but adding tiny side faces to avoid the noticeable gap. Can hardly tell the difference. Not only fixes the Optifine problem, but makes paste look better in the distance even without it installed. It'll be in v1.4.1.)
As for the crashing, that shouldn't be happening at all given the nature of the flickering. If you could paste a crash log, I could see if it's related to this mod or not, and if so, try to figure out why.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
Feature-wise, it's the locking functionality for sticky repeaters, and also a change to how redstone propagates. This could affect your existing builds. A redstone current source in the adjacent block (lever, torch, repeater, etc) will no longer power paste unless you specifically connect to it. This is an advantage since it allows you even finer control over your circuits. The possible downside is that this means levers on slab covers will no longer power paste below them. This same code change also indirectly fixes an existing issue with redstone dust and paste keeping each other powered in certain scenarios.
Bug-wise, it takes care of the Optifine issue of paste flickering. This should improve the rendering of paste in the distance even without Optifine installed, as well. I also had to create an entire workaround for rendering the ghost slab because Optifine's voodoo caused it to crash when trying to render it using Minecraft's standard block face rendering methods. I quite literally copied those methods into my code with only minor changes, where Optifine's modifications won't affect them. Optifine apparently does not cope with block rendering happening in the highlighter event.
This should also fix the Railcraft hidden block bug in regards to placing paste. Someone please test this and confirm it for me.
Couple of other bugs or so are also fixed which were discussed here. Check the changelog.
Keep finding those bugs, and I'll try to keep squarshing'em!
Thanks! I'm glad people can appreciate the vanilla feel I've tried to maintain.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
---- Minecraft Crash Report ----
// You're mean.
Time: 28/10/13 12:13 AM
Description: Unexpected error
java.lang.ClassCastException: mods.railcraft.common.blocks.hidden.TileHidden cannot be cast to fyber.redstonepastemod.TileEntityRedstonePaste
at fyber.redstonepastemod.BlockRedstonePaste.getPasteObjectCount(BlockRedstonePaste.java:1650)
at fyber.redstonepastemod.client.RedstonePasteHighlighter.HighlightHandler(RedstonePasteHighlighter.java:685)
at net.minecraftforge.event.ASMEventHandler_45_RedstonePasteHighlighter_HighlightHandler_DrawBlockHighlightEvent.invoke(.dynamic)
at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)
at net.minecraftforge.event.EventBus.post(EventBus.java:108)
at net.minecraftforge.client.ForgeHooksClient.onDrawBlockHighlight(ForgeHooksClient.java:237)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1256)
at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1006)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:946)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:838)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Stacktrace:
at fyber.redstonepastemod.BlockRedstonePaste.getPasteObjectCount(BlockRedstonePaste.java:1650)
at fyber.redstonepastemod.client.RedstonePasteHighlighter.HighlightHandler(RedstonePasteHighlighter.java:685)
at net.minecraftforge.event.ASMEventHandler_45_RedstonePasteHighlighter_HighlightHandler_DrawBlockHighlightEvent.invoke(.dynamic)
at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)
at net.minecraftforge.event.EventBus.post(EventBus.java:108)
at net.minecraftforge.client.ForgeHooksClient.onDrawBlockHighlight(ForgeHooksClient.java:237)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1256)
-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityClientPlayerMP['l3lackCalamity'/240, l='MpServer', x=394.95, y=43.14, z=279.34]]
Chunk stats: MultiplayerChunkCache: 441
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options:
Level spawn location: World: (232,64,244), Chunk: (at 8,4,4 in 14,15; contains blocks 224,0,240 to 239,255,255), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 1628 game time, 1628 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
Forced entities: 111 total; [EntityZombie['Zombie'/10947, l='MpServer', x=453.50, y=33.00, z=330.50], EntityCreeper['Creeper'/10946, l='MpServer', x=442.06, y=14.00, z=348.63], EntityCreeper['Creeper'/10945, l='MpServer', x=437.47, y=13.00, z=360.03], EntityZombie['Zombie'/10944, l='MpServer', x=437.50, y=13.00, z=357.50], EntitySkeleton['Skeleton'/10942, l='MpServer', x=432.50, y=24.00, z=204.50], EntityZombie['Zombie'/10943, l='MpServer', x=435.50, y=13.00, z=358.50], EntityZombie['Zombie'/4541, l='MpServer', x=352.50, y=26.00, z=344.50], EntityZombie['Zombie'/4542, l='MpServer', x=351.50, y=21.00, z=345.94], EntityChicken['Chicken'/171, l='MpServer', x=323.50, y=64.00, z=271.50], EntityChicken['Chicken'/170, l='MpServer', x=326.44, y=62.39, z=283.44], EntityChicken['Chicken'/169, l='MpServer', x=318.47, y=64.00, z=272.53], EntityChicken['Chicken'/175, l='MpServer', x=335.50, y=64.00, z=216.50], EntityChicken['Chicken'/174, l='MpServer', x=335.50, y=64.00, z=216.50], EntityChicken['Chicken'/173, l='MpServer', x=336.50, y=65.00, z=217.50], EntityChicken['Chicken'/172, l='MpServer', x=320.50, y=63.00, z=273.50], EntityItem['item.tile.torch'/185, l='MpServer', x=345.63, y=26.13, z=336.44], EntityChicken['Chicken'/178, l='MpServer', x=329.50, y=73.00, z=224.50], EntityChicken['Chicken'/179, l='MpServer', x=328.50, y=74.00, z=225.50], EntityChicken['Chicken'/176, l='MpServer', x=335.50, y=64.00, z=216.50], EntityChicken['Chicken'/177, l='MpServer', x=328.50, y=74.00, z=227.50], EntityChicken['Chicken'/180, l='MpServer', x=328.50, y=71.00, z=221.50], EntityItem['item.tile.rail'/205, l='MpServer', x=361.13, y=31.13, z=342.13], EntityItem['item.tile.rail'/204, l='MpServer', x=361.13, y=31.13, z=344.88], EntityItem['item.tile.rail'/207, l='MpServer', x=371.22, y=31.13, z=343.53], EntityItem['item.tile.rail'/206, l='MpServer', x=370.19, y=31.13, z=342.75], EntityItem['item.tile.rail'/201, l='MpServer', x=368.19, y=31.13, z=342.13], EntityChicken['Chicken'/200, l='MpServer', x=380.41, y=66.00, z=269.47], EntityChicken['Chicken'/197, l='MpServer', x=377.41, y=68.00, z=255.53], EntityChicken['Chicken'/199, l='MpServer', x=372.50, y=67.00, z=263.50], EntityChicken['Chicken'/198, l='MpServer', x=372.53, y=65.00, z=258.56], EntityItem['item.tile.rail'/220, l='MpServer', x=378.63, y=39.13, z=303.94], EntityMinecartChest['entity.MinecartChest.name'/221, l='MpServer', x=382.50, y=32.50, z=312.50], EntityItem['item.tile.torch'/238, l='MpServer', x=408.84, y=33.13, z=340.88], EntityPig['Pig'/237, l='MpServer', x=412.50, y=72.00, z=240.50], EntityPig['Pig'/236, l='MpServer', x=410.50, y=72.00, z=237.50], EntityPig['Pig'/235, l='MpServer', x=412.50, y=72.00, z=238.50], EntityPig['Pig'/234, l='MpServer', x=412.50, y=72.00, z=236.50], EntityMinecartChest['entity.MinecartChest.name'/229, l='MpServer', x=404.50, y=34.50, z=333.50], EntityItem['item.tile.torch'/228, l='MpServer', x=397.55, y=33.95, z=340.55], EntityItem['item.tile.gravel'/4564, l='MpServer', x=342.53, y=34.13, z=330.16], EntityPig['Pig'/227, l='MpServer', x=404.50, y=67.00, z=286.50], EntityItem['item.tile.gravel'/4563, l='MpServer', x=344.31, y=34.13, z=329.88], EntityPig['Pig'/226, l='MpServer', x=402.50, y=68.00, z=286.50], EntityPig['Pig'/225, l='MpServer', x=402.50, y=67.00, z=285.50], EntityPig['Pig'/224, l='MpServer', x=398.09, y=71.00, z=294.94], EntityClientPlayerMP['l3lackCalamity'/240, l='MpServer', x=394.95, y=43.14, z=279.34], EntityItem['item.item.seeds'/11220, l='MpServer', x=368.09, y=66.13, z=259.31], EntityBat['Bat'/10453, l='MpServer', x=357.04, y=46.73, z=323.47], EntityBat['Bat'/10446, l='MpServer', x=325.60, y=26.14, z=271.55], EntityBat['Bat'/10444, l='MpServer', x=440.41, y=35.10, z=341.75], EntityBat['Bat'/10443, l='MpServer', x=440.59, y=35.85, z=340.75], EntitySheep['Sheep'/8243, l='MpServer', x=473.47, y=69.00, z=218.22], EntitySheep['Sheep'/8245, l='MpServer', x=474.81, y=69.00, z=219.81], EntitySheep['Sheep'/8244, l='MpServer', x=476.50, y=68.00, z=218.50], EntityChicken['Chicken'/5055, l='MpServer', x=452.38, y=63.00, z=298.28], EntityCreeper['Creeper'/10256, l='MpServer', x=379.50, y=28.00, z=344.50], EntityChicken['Chicken'/5058, l='MpServer', x=454.50, y=63.00, z=301.50], EntityChicken['Chicken'/5056, l='MpServer', x=457.47, y=70.00, z=298.47], EntityChicken['Chicken'/5057, l='MpServer', x=452.50, y=63.00, z=297.50], EntityCreeper['Creeper'/10254, l='MpServer', x=384.50, y=28.00, z=344.50], EntityItem['item.tile.rail'/5104, l='MpServer', x=404.88, y=27.13, z=339.66], EntityCreeper['Creeper'/779, l='MpServer', x=321.50, y=67.00, z=214.50], EntityPig['Pig'/6865, l='MpServer', x=456.47, y=67.00, z=203.50], EntityPig['Pig'/6864, l='MpServer', x=457.53, y=67.00, z=203.50], EntityPig['Pig'/6867, l='MpServer', x=458.50, y=66.00, z=201.50], EntityPig['Pig'/6866, l='MpServer', x=459.50, y=67.00, z=205.50], EntityPig['Pig'/6869, l='MpServer', x=460.47, y=70.00, z=231.78], EntityPig['Pig'/6868, l='MpServer', x=458.50, y=71.00, z=231.78], EntityPig['Pig'/6871, l='MpServer', x=458.50, y=71.00, z=230.47], EntityPig['Pig'/6870, l='MpServer', x=461.81, y=70.00, z=230.19], EntitySkeleton['Skeleton'/10588, l='MpServer', x=413.50, y=27.00, z=316.50], EntityCreeper['Creeper'/10593, l='MpServer', x=455.22, y=33.00, z=327.16], EntityZombie['Zombie'/9779, l='MpServer', x=362.50, y=40.00, z=347.50], EntityCreeper['Creeper'/9755, l='MpServer', x=460.56, y=22.00, z=349.00], EntityCreeper['Creeper'/9753, l='MpServer', x=451.00, y=25.00, z=347.59], EntitySkeleton['Skeleton'/9801, l='MpServer', x=422.50, y=22.00, z=319.50], EntityCreeper['Creeper'/9811, l='MpServer', x=422.50, y=38.00, z=340.50], EntitySpider['Spider'/9809, l='MpServer', x=424.72, y=37.00, z=338.47], EntityItem['item.tile.rail'/7500, l='MpServer', x=383.88, y=32.13, z=303.13], EntityCreeper['Creeper'/9957, l='MpServer', x=420.50, y=39.00, z=333.50], EntityZombie['Zombie'/9958, l='MpServer', x=367.50, y=41.00, z=337.03], EntitySkeleton['Skeleton'/9979, l='MpServer', x=441.50, y=28.00, z=351.50], EntityItem['item.item.seeds'/10035, l='MpServer', x=432.06, y=63.13, z=250.81], EntityCaveSpider['Cave Spider'/10031, l='MpServer', x=-7.79, y=-34.49, z=40.78], EntityCreeper['Creeper'/10020, l='MpServer', x=365.50, y=36.00, z=342.50], EntitySkeleton['Skeleton'/10007, l='MpServer', x=362.50, y=38.00, z=355.50], EntityCreeper['Creeper'/9993, l='MpServer', x=474.50, y=35.00, z=291.50], EntitySkeleton['Skeleton'/10110, l='MpServer', x=472.22, y=29.00, z=254.34], EntitySkeleton['Skeleton'/10109, l='MpServer', x=465.50, y=30.00, z=256.50], EntitySkeleton['Skeleton'/10079, l='MpServer', x=469.50, y=22.00, z=203.50], EntityBat['Bat'/10053, l='MpServer', x=357.88, y=27.10, z=337.25], EntityItem['item.tile.gravel'/5317, l='MpServer', x=400.66, y=33.13, z=341.13], EntityItem['item.tile.gravel'/10134, l='MpServer', x=370.50, y=34.13, z=325.50], EntityItem['item.item.seeds'/10131, l='MpServer', x=336.63, y=62.13, z=299.34], EntitySquid['Squid'/10123, l='MpServer', x=427.25, y=62.34, z=302.78], EntitySquid['Squid'/10122, l='MpServer', x=420.16, y=62.09, z=304.59], EntitySkeleton['Skeleton'/9219, l='MpServer', x=-35.35, y=-11.62, z=32.64], EntityItem['item.tile.rail'/9246, l='MpServer', x=374.72, y=32.13, z=304.63], EntityCaveSpider['Cave Spider'/9279, l='MpServer', x=21.80, y=-49.18, z=24.77], EntityCreeper['Creeper'/9499, l='MpServer', x=450.47, y=37.00, z=336.50], EntityCreeper['Creeper'/9498, l='MpServer', x=460.50, y=38.00, z=327.97], EntityItem['item.tile.rail'/9488, l='MpServer', x=374.81, y=32.13, z=303.88], EntityCaveSpider['Cave Spider'/9490, l='MpServer', x=-13.34, y=-10.62, z=13.56], EntityCreeper['Creeper'/4092, l='MpServer', x=324.50, y=38.00, z=327.50], EntitySkeleton['Skeleton'/9585, l='MpServer', x=440.69, y=12.00, z=350.66], EntityZombie['Zombie'/9582, l='MpServer', x=409.50, y=25.00, z=310.50], EntityZombie['Zombie'/9617, l='MpServer', x=389.06, y=38.00, z=262.44], EntityCreeper['Creeper'/9620, l='MpServer', x=326.50, y=29.00, z=213.50], EntityZombie['Zombie'/9629, l='MpServer', x=476.50, y=41.00, z=335.50], EntitySpider['Spider'/11577, l='MpServer', x=440.50, y=43.00, z=332.50], EntityBat['Bat'/9706, l='MpServer', x=445.25, y=14.10, z=331.16]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:440)
at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2312)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:863)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
-- System Details --
Details:
Minecraft Version: 1.6.4
Operating System: Windows 8 (amd64) version 6.2
Java Version: 1.7.0_25, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 692883128 bytes (660 MB) / 958595072 bytes (914 MB) up to 1908932608 bytes (1820 MB)
JVM Flags: 3 total; -Xms512m -Xmx2048m -XX:PermSize=128m
AABB Pool Size: 1719 (96264 bytes; 0 MB) allocated, 25 (1400 bytes; 0 MB) used
Suspicious classes: FML and Forge are installed
IntCache: cache: 0, tcache: 0, allocated: 2, tallocated: 64
FML: MCP v8.11 FML v6.4.28.930 Minecraft Forge 9.11.1.930 24 mods loaded, 24 mods active
mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML{6.4.28.930} [Forge Mod Loader] (minecraftforge-9.11.1.930.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge{9.11.1.930} [Minecraft Forge] (minecraftforge-9.11.1.930.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
CodeChickenCore{0.9.0.6} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NotEnoughItems{1.6.1.5} [Not Enough Items] (NotEnoughItems 1.6.1.5.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Core{4.1.1} [BuildCraft] (buildcraft-A-1.6.2-4.1.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Builders{4.1.1} [BC Builders] (buildcraft-A-1.6.2-4.1.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Energy{4.1.1} [BC Energy] (buildcraft-A-1.6.2-4.1.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Factory{4.1.1} [BC Factory] (buildcraft-A-1.6.2-4.1.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Transport{4.1.1} [BC Transport] (buildcraft-A-1.6.2-4.1.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Silicon{4.1.1} [BC Silicon] (buildcraft-A-1.6.2-4.1.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forestry{2.3.0.6} [Forestry for Minecraft] (forestry-A-2.3.0.6.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ForgeMultipart{1.0.0.193} [Forge Multipart] (ForgeMultipart-universal-1.6.4-1.0.0.193.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
McMultipart{1.0.0.193} [Minecraft Multipart Plugin] (ForgeMultipart-universal-1.6.4-1.0.0.193.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NEIAddons{1.9.0.r40} [NEI Addons] (neiaddons-1.6.2-1.9.0.r40.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NEIAddons|AE{1.9.0.r40} [NEI Addons: Applied Energistics] (neiaddons-1.6.2-1.9.0.r40.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NEIAddons|CraftingTables{1.9.0.r40} [NEI Addons: Crafting Tables] (neiaddons-1.6.2-1.9.0.r40.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NEIAddons|ExtraBees{1.9.0.r40} [NEI Addons: Extra Bees] (neiaddons-1.6.2-1.9.0.r40.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NEIAddons|Forestry{1.9.0.r40} [NEI Addons: Forestry] (neiaddons-1.6.2-1.9.0.r40.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NEIAddons|MiscPeripherals{1.9.0.r40} [NEI Addons: Misc Peripherals] (neiaddons-1.6.2-1.9.0.r40.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NEIPlugins{1.1.0.2} [NEI Plugins] (NEIPlugins-1.1.0.2.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Railcraft{8.1.0.0} [Railcraft] (Railcraft_1.6.2-8.1.0.0.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
RedstonePasteMod{1.4.1} [Redstone Paste] (RedstonePasteMod1.4.1.zip) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ForgeMicroblock{1.0.0.193} [Forge Microblocks] (ForgeMultipart-universal-1.6.4-1.0.0.193.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Launched Version: 1.6.4
LWJGL: 2.9.0
OpenGL: GeForce GT 555M/PCIe/SSE2 GL version 4.3.0, NVIDIA Corporation
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Pack: Default
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 2989 (167384 bytes; 0 MB) allocated, 1440 (80640 bytes; 0 MB) used
Mods are
Buildcraft
Railcraft
Forestry
CodeChickenCore
NEI
NEI addons
NEI plugins
It was indeed. Using the isAirBlock conditional instead of checking for block 0 let it get beyond that to a point where the code then assumed it was either a paste block or an empty one, rather than one possibly still occupied by something else (despite Railcraft's block being replaceable). I think I fixed it. I tossed Railcraft in my release-testing client and didn't see any crashes, though I don't actually know what you were doing which triggered it.
I released v1.4.2 already because I know that crash bugs are particularly annoying. I'd also started some rendering optimizations, so that's in there too, as well as a bug fix to trigger redstone propagation when you break sticky repeaters.
There's still some kind of random flicker going on with Optifine, but with the highlighter, not the paste. I don't understand exactly what causes it to occur, especially since it's random. Debugging anything in a mod which doesn't have a development version (like Railcraft or Optifine) is hard, since you have to completely compile and pack your mod up to run in a standard modded client to test any changes you make. Hopefully I'll track the source of the problem down eventually. But at least the cursor flickering isn't nearly as bad as all of your paste blocks!
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
I finally set up a git repository for handling this mod, which is something I should have done a long time ago. This means porting to other Minecraft versions will be a lot easier in the future. Hopefully the port to 1.7.2 won't be hard, but I won't know until MCP and Forge are updated!
I haven't tested them so there may in fact be a problem. I'll look into it. (EDIT: It's not just repeaters, the same issue affects paste strength level from comparators too. I got all of the propagation issues solved. It'll be in the next version.)
It's worth noting that you cannot lock a vanilla repeater with a sticky repeater. It just aint happening unless I include a coremod (since vanilla repeaters specifically look for vanilla repeaters to lock them), and if I do that then I likely have to release a version of the mod for every single Minecraft version from now on to remain compatible. Though I suppose I should make it possible to lock a sticky repeater with a vanilla one! (EDIT: Vanilla ones will lock sticky ones, next version.)
Also I found a bug when I was backporting 1.4.2: you can't adjust the delay of sticky repeaters with an empty hand. That's twice I've overlooked something related to empty hands, since my test character is usually so full of items. (EDIT: Also fixed, all will be in 1.4.3.)
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
If Minecraft were real, you'd be a zombie right now.
So v1.4.3 is up. Fixes the problem of not being able to set the delay on a sticky repeater with an empty hand, lets vanilla repeaters lock sticky repeaters, and most importantly, fixes the comparator issue with paste and sticky repeaters. The problem was that it wasn't returning the proper signal output. In fact, it was a potential problem for other things too. That required a change in the propagation code, and that always make me worry that I broke something despite the testing, so you'll just have to let me know if anything acts up.
See above for sticky comparators. As for Multipart compatibility, it's something that's been suggested many times, and I always point out that it would require rewriting much of the mod. But, when comparators are done, the mod will feel more complete, so I might finally look into making a compatible version at that point. Someone also suggested it for Hopper Ducts, which might be a better learning experience, since it's a much simpler mod. We'll see!
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
Great. The mod is already awesome. Keep up the excellent work. Peace.
If Minecraft were real, you'd be a zombie right now.
I like how you can now have what appears to be a 1 block gap between parts.
It has the same functionality as putting it on the ground, it just makes for a more cool looking circuit.
A timer I made with it
I gotta say, people still surprise me with the things they make. You took a shortcoming of how the mod's currently designed and used it as a feature. That's awesome.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
This adds sticky comparators, and a new icon and textures for sticky repeaters.
This is where I'll need the help of you redstone magicians. I'm fairly certain that I duplicated the functionality of the normal comparator, including both modes as well as detecting chest inventories, but it's really hard to test everything. Give it your worst, and just let me know if anything doesn't behave properly.
Fun fact: Did you know that vanilla comparators don't emit light, even though they have redstone torches? I didn't!
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
Sure, but you should at least tell us what your pack is about and where to find it.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
That's not intentional, and I didn't realize it occurred till you mentioned it. Issues regarding compatibility with redstone dust have been a recurring issue. I've made many changes to how paste propagates redstone current, sometimes for paste's sake, sometimes for dust's sake, and different quirks tend to arise as a result. I at least solved the one of paste and dust powering one another forever in certain circumstances! I have a solution in mind for dealing with this particular issue now as well, but as with any change of this nature, it risks other unintentional side-effects. As I've mentioned before, the only bulletproof solution is a coremod, where I could inject the proper "awareness" into redstone dust to avoid these problems before they even begin. But that requires compiling, packaging, and hosting a version for every version of Minecraft that I want to support. Not exactly ideal.
Speaking of "bugs" I want to make mention of something I was made aware of.
Apparently there's a recipe conflict with redstone paste itself and the Mutant Creatures mod. The easy solution here is to just look in the config file and set it to use the alternate recipe (slimeball surrounded by redstone dust), and then change the number of paste you get with that recipe to make it a bit more balance.EDIT: Turns out the incompatibility with Mutant Creatures isn't a recipe conflict; it's because the dev is using very low item ID values, down in the block ID range for some reason. That ID space is very limited, he really should choose new default values. You don't get a block ID conflict since his isn't a block that's conflicting. To avoid this problem, either change Redstone Paste's block ID to something like 1785 (which should be below his items), or change his item IDs to some much higher values.
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
WIP site for my mods / Intermediary / FMC / Redstone Paste / Hopper Ducts / Model Citizens / Simple Refinement / Endermanage / Fycraft / etc
It's not a big deal, I can just use redstone paste instead of dust anyway.
Question is, what now? You added repeaters and comparators. Minecraft doesn't have anything else to stick on walls. Are you going to add logic gates?