victorious3 / integrated-circuits Goto Github PK
View Code? Open in Web Editor NEWIntegrated Circuits
License: Other
Integrated Circuits
License: Other
These are just a few things that would be nice, maybe for a version 2.0. I haven't looked into the internals too much to see how viable it would be to add these features on.
More wire colors - 3 colors are ok, but I could see wanting 4 or 8, which would allow for a 4-bit bus. 8 would permit 8-bit buses. I assume colors are meant to mimic multi-layer PCBs?
Bus lines/Bundles - carry multiple signals along a single trace, like bundled cables. Could also come in colors like wires to control connections. The "cost" to build would be the same as as many individual traces, but would be a lot cleaner when you need to move groups of signals around.
Named Nodes/Tunnels - Each given a name/number all instances are treated as linked. Again, makes moving signals across a board easier. See Tunnels
More advanced Logic Units - These get a bit tricky as some will have more than 4 I/O pins, so the might need to take multiple "nodes" on the board (I would suggest 2x2 which would accommodate two possible connections per-side).
Full Adder w/ carry in - A, B, carry in, carry out and output.
Demuxer - Could even be a 1-bit: A, B, Control, Out
Bus-based gates - Same set of logic gates (and adder/demuxer), but support multiple channels in one component.
Decoders, Negators, Subtractor, Bit shifters (Buses only), etc. would be nice, but are a lower priority.
Plexers
Arithmetic
Flip-flops
Shift Register
Pretty much what it says on the box. I'm very thankful that P:R is now optional, because I'm using RedLogic on my server. But I like the direction this mod is going in, compared to the integrated circuits system in RedLogic. Only thing that is missing for me then, is bundled cable support.
Maybe this could also be expanded with MineFactoryReloaded RedNet support, too? That way, you can use the wave generators in MFR to drive an IC...
Say you put 2 16x16's side-by-side; they should be able to "merge" together (maybe with user interaction? i.e. the user has to do it) and make a 2-block-wide 32x16 (or 16x32, w/e) board!
Suggestion;
Maybe a pause for the CAD simulation to stop timers and synchronizers etc. And a reset for components like the toggleLatch synchroniser sequencer etc to revert them back to the begin state when paused.
Someone else found this issue: MightyPirates/OpenComputers#941
It is wanting me to install bluepower , but I dont want to as I use project Red
Should be obvious from title, the ability to select areas of a circuit to move, duplicate, etc. You said this was on your todo list already, but you also asked me to post my suggestions here, figured I'd include this one while I was at it.
Yeah, I'm having some difficulty figuring out how to work the GUI in the CAD, depressingly. It took me a few weeks to figure out that you can pan the view with Shift + Left Mouse! But uh, how do I insert a disk into the CAD? I tried shift-clicking the disk on the block but that didn't work...
It'd be convenient if other components, especially the cells, could be clicked and dragged to place rows of them, the same way you can with wires. with null cells in particular, which I find myself using more often than wires when I've been trying to compact designs down as much as possible, it'd actually be nice to drag not just a line, but a rectangle to fill with them.
I've made this test setup: A row of transparentLatches with a timer set to one second for the lock input. A toggleLatch to divide the frequency and hold the signal for the signal input.
All latches match the input signal immediately when a clock pulse arrives on the lock input. Same schematic in projRed works like this:
This difference probably because of a lack of delay in the output signal. Putting a buffer in between the latches will make the IC work like the projRed setup does.
java.lang.NullPointerException: Rendering screen
at vic.mod.integratedcircuits.client.gui.GuiAssembler.func_146976_a(GuiAssembler.java:191)
at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:78)
at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1061)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:989)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887)
at net.minecraft.client.main.Main.main(SourceFile:148)
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:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Just like the ComputerCraft program, but for OpenComputers.
And @skyem123 is going to do it.
I have been tinkering with the computerCraft interface using openComputers to change the output state of a toggleLatch as you suggested when i asked for wrenchable dip switches. I've made this test chip:
When i invert the output through the CC interface with the setGateProperty command. The outputs of the IC does change but a projRed.redAlloyWire or insulatedWire connected does not change with it.
This problem can be circumvented by either;
setting delay (ctrl+click with screwdriver) on timers pops up a dialog line the one from rp/P:R, but this dialog does not work properly (+1s sets it to 30 ticks, always; +50ms to 11 ticks, etc) and on exiting the dialog, the timer remains set at the default of 10 ticks.
you told me to report this or you'll forget it...
EDIT: For the record to make a good issue out of it, The bounding boxes of the non FMP gates are broken / out of sync with the server which causes the player to bounce around when intersecting. (Vic)
When a circuit gets loaded after being unloaded, it does not output any redstone/bundled signal, which is bad if the input to the circuit depends on the output. Applying a simple redstone signal makes it operate properly, but I'd rather not have to do that on every world load.
The log: http://paste.ee/p/yfg4q
[18:54:11] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel NEI
java.lang.IndexOutOfBoundsException: Index: 48, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_31]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_31]
at net.minecraft.inventory.Container.func_75139_a(SourceFile:104) ~[zs.class:?]
at codechicken.nei.NEIServerUtils.getSlotContents(NEIServerUtils.java:76) ~[NEIServerUtils.class:?]
at codechicken.nei.NEISPH.setInventorySlot(NEISPH.java:151) ~[NEISPH.class:?]
at codechicken.nei.NEISPH.handlePacket(NEISPH.java:40) ~[NEISPH.class:?]
at codechicken.lib.packet.PacketCustom$ServerInboundHandler.handle(PacketCustom.java:115) ~[PacketCustom$ServerInboundHandler.class:?]
at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:75) ~[PacketCustom$CustomInboundHandler.class:?]
at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:62) ~[PacketCustom$CustomInboundHandler.class:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) [nc.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) [lt.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]
[18:54:11] [Server thread/INFO]: victorious3 lost connection: TextComponent{text='A fatal error has occured, this connection is terminated', siblings=[], style=
Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null}}
[18:54:11] [Server thread/INFO]: Vic left the game
java.lang.NullPointerException: Updating screen events
at vic.mod.integratedcircuits.item.recipe.RecipeFMPGate.func_77569_a(RecipeFMPGate.java:38)
at net.minecraft.item.crafting.CraftingManager.func_82787_a(CraftingManager.java:323)
at net.minecraft.inventory.ContainerWorkbench.func_75130_a(SourceFile:53)
at net.minecraft.inventory.InventoryCrafting.func_70299_a(SourceFile:81)
at net.minecraft.inventory.Slot.func_75215_d(Slot.java:77)
at net.minecraft.inventory.Container.func_75144_a(SourceFile:222)
at net.minecraft.client.multiplayer.PlayerControllerMP.func_78753_a(PlayerControllerMP.java:419)
at net.minecraft.client.gui.inventory.GuiContainer.func_146984_a(GuiContainer.java:641)
at net.minecraft.client.gui.inventory.GuiContainer.func_146286_b(GuiContainer.java:607)
at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:306)
at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:268)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1628)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:961)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887)
at net.minecraft.client.main.Main.main(SourceFile:148)
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:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
I did manage to have the proper item displayed under weird circumstances, but I cannot reproduce the procedure.
Empty world with a ic_circuit entity placed in it. Loading the world gives this error; http://pastebin.com/QVXheWbG
Having something connected like redStoneDust or projRed gives this error; http://pastebin.com/GsG8xFNh
Both errors are a bit funny because one time the world loads OK, the next time you get one of these errors.
Looks like optiFine is causing this bug, will see if there is a option in optFine to prevent this.
Feature request:
Would be nice to be able to save and load circuits from a folder inside the worlds save folder and thus be able to share them too. I am able to load save disks between worlds with the NIE save/load option, though they do tend to change into other items. Are there any other ways i don't know about?
Doesn't work at all. Looks like I broke it somewhere in the process of porting over from FMP.
MC crashes with both bluePower and integratedCircuit mod installed.
crash report http://pastebin.com/8UECnKLb
minimum install, used mods:
log http://pastebin.com/1bD5fiRR http://pastebin.com/GCsYNRdV
In singlePull mode, if you insert another PCB when the assembler is processing it will accept the PCB and run a second time after the first process is completed but produce only one printedCircuitBoard.
line 25 of Config.java, should be 'general' i guess.
When I'm applying a redstone signal to one side of the circuit and then rotate it, the side that was rotated away maintains its redstone strength, which it shouldn't, and the side that was rotated towards the signal doesn't receive it, which it should.
currently the bundled outputs are rotated, so they're white to black going counter-clockwise; this ends up requiring me to use a lot of space to reverse wire orders at times that wouldn't be necessary if the top and bottom both started with white on right, and both sides with white on top. This would obviously be a breaking change for existing circuits, so if it was going to be done, it ought to be done sooner than later.
ADCs and DACs are bad and you should be able to select if you want them or not. Also IRL circuits can do raw analog (without ADCs/DACs everywhere) so it'd make more sense to not have them there.
[14:34:09] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking memory connection
at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:198) ~[NetworkSystem.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) ~[MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) ~[MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) ~[IntegratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
Caused by: java.lang.NullPointerException
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:657) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) ~[NetworkManager.class:?]
at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) ~[NetworkSystem.class:?]
... 5 more
Irregular crash when clicking the PCB item onto the CAD, needs further investigating.
java.lang.NullPointerException: Unexpected error
at vic.mod.integratedcircuits.tile.BlockGate.func_149719_a(BlockGate.java:94)
at vic.mod.integratedcircuits.tile.BlockGate.func_149668_a(BlockGate.java:101)
at net.minecraft.tileentity.TileEntity.getRenderBoundingBox(TileEntity.java:365)
at net.minecraft.client.renderer.RenderGlobal.func_147589_a(RenderGlobal.java:481)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1224)
at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1015)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:990)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887)
at net.minecraft.client.main.Main.main(SourceFile:148)
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:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Absolutely no idea why this happened. Did not interact with this mod at all, with the exception of having an IC in my inventory.
Expect for the non FMB white version. bytheway. Maybe you can toss in a Hexadecimal mode, maximally displaying FFFF when 4 are connected to each other.
(assuming "as intended" is "like the RedPower/Project:Red version of same")
The buffer has two crossing wires; we'll call the one unbroken in the graphics "top" and the other "bottom" (though note, this is the inverse of the arrangement in RP/P:R)
The bottom wire should work as a normal wire if the top wire signal is low; instead, signals along the bottom wire seem to stop at a buffer cell if the top wire is not powered.
for reference, the Project:Red buffer cell in an effectively identical arrangement, showing expected behavior http://puu.sh/fN9NR/5f8f18bfc6.jpg
Put cactus green into BS Crafting Station
Feature request:
If you are able to move around and rotate the iobits of coresponding i/o sides in cicuit you would save up on alot of space used up by wires.
The outer ring of the grid is not usable. For 16*16 it is 60 / (256 / 100) = 22,6% of the placement space of the grid. If your able to use these you can make a much more complex circuits on lower tier tech.
I understand this would take alot of work and you ofcourse want to get the bugs out first and complete version 1.
If a player inserts a disk into the assembler then goes far enough away for the chuck to unload, the disk will be gone upon their return.
I can not seem to reproduce this bug in single player.
it would be quite useful at times when debugging circuit designs to be able to pause the simulation and advance it a tick at a time, to see how signals are flowing through the circuit.
add tooltips to tell people where to right-click stuff?
I may have a go at this myself if I remember tomorrow...
currently the transparent latch takes data in on the left, clock in on the bottom, and outputs the stored state both right and up; it would be nice when compacting designs if you could toggle the output mode, so it output both, only right, or only up, the way you can toggle inputs/outputs on the logic gates, as you could have wires/components directly next to the unused output sides.
when you create a circut with the CAD and save it with the standard name NO_NAME, the name is not displayed on the floppyDisk. If you insert the floppyDisk in the Assembler it does tell the circuit name is NO_NAME. Also the name is also displayed on the created IC.
I was trying to figure out how to insert the floppy into the CAD (still not sure about that- it blocks your inventory), and I started spam-clicking the side of the two machines (I stacked them, screenshot below), and I earned this: https://docs.google.com/document/d/1W8JGmdpnDIWcJrS4brvh3i8WSYUQpt2RnFgKigm7Jkg/edit?usp=sharing
Since I was moving a bit, it may have been either machine. Sorry for the uncertainty.
EDIT: I reproduced it without a floppy disk in hand. I was on the CAD, for sure, and I was spamming the front face. The second log was identical.
the size button on the cad gui doesn't work properly for me. Usually, from a 32x32, clicking it will update to 64x64 as expected, but clicking again doesn't appear to do anything.I say appear, it actually does something, because if I save and re-load, it redraws as the new, blank 16x16 circuit, but if I don't, it continues to display the 64x64, without even clearing the previous circuitry. Worse, making changes to the circuit while it's in this state can cause the game to crash. Clicking the resize button again while it is showing a 64x64 but saving a 16x16 has no effect at all; it will continue to save a blank 16x16 to disk (according to tooltip) until either I load the saved circuit from disk, or exit to the mc menu and re-load the saved game. Same behavior occurs when switching from 16x16 to 32x32.
Running this on v1.7.10, with the new launcher setup (the one that handles it's own java version).
The following are the installed mods:
CodeChickenCore-1.7.10-1.0.4.29-universal.jar
ComputerCraft1.65.jar
Integratedcircuits1.7.10-0.8r26.jar
JourneyMap5.0.1_Unlimited_MC1.7.10.jar
NotEnoughItems-1.7.10-1.0.4.83-universal.jar
ProjectRed-1.7.10-4.5.8.59-* (all 5 sub-mods: Base,Compat,Integration,Lighting, and World)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.