[1.6.4] CountCraft - Automatic counting in Minecraft!

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Shirkit

New Member
Jul 29, 2019
189
0
0
logo.png

Automatic counting in Minecraft!

Have you ever tried to measure how fast is a farm producing crops?
Or how much materials is your mining system producing?
Or even how many items are being consumed by your contraption?

9aiq.png


Item Counter is all about counting stuff. All you need to do is to place a buffer in between your item transportation
system and let it do the job for you. When you need to check the stats, simply click to see the stats of items/fluids/energy of that buffer!

screenshots.png


Default interface view with absolute counting.
ma6n.png


Fluid counting but displaying in transferred Units per Second.
ux3i.png


There's also units per minute and per hour!
fijn.png


Also the average percentage distribution and sorting by name, ID or amount!
qler.png


And all the options goes here.
b4z8.png

howtouse.png


ecsi.png

  1. Setup your transportation system (can be ThermalExpansion, BuildCraft, LogisticsPipes, Applied Energistics) that you want to use.
  2. Make sure that the items you want to count are put in the counter.
    • To do that, for example, export all the items that comes into your base to the buffer first, and from the buffer you sort the items out. You can even use hoppers!
    • For example, you can place a counter between your farm and your storage area, and it will tell you the average production for that farm!
  3. Click to check the stats!

integration.png


- BuildCraft Support -

Item Transport Pipe showcase!
5a8n.png

To all BuildCraft/Logistics Pipes users and lovers, there's two handy built-in pipes to help you setup your system! Simply place then in your network and it'll count everything that passes through it!

- Thermal Expansion Support -

There goes the Buffered Energy Counter!
obky.png

Redstone Flux is always easy to use, for both mod developer and players! This couldn't pass unnoticed, so there's out of the box integration with it!
Simply place a Buffered Energy Counter anywhere in the middle of your RF system to count the energy that passes through it! It won't slow down the system, I promise!

- NEI Support -

SearchBox integration!
pahs.png

Although basic, it allows you to filter only the things you want to see, so that in those junction places that anything goes through, you can find exactly what you want to find!

- ComputerCraft Support -

All the CountCraft's blocks are peripherals and can be wrapped. There's a help command on them to briefly guide you on how the data is exported. You can do crazy builds with that info!

planning.png


  • Better Averages
    • Based on last 2000 entries (stacks put in the buffer)
    • Based on last 20 minutes
    • Difference averages
      • Instead of a block that counts the stuff, something that allows you to check how's your counting going, and check if you are making more things than you're using!
      • (I'm thinking of instead writing a central block I'd set up a CC script to handle this and show in a monitor screen or in OpenMod's HUD glasses, and ship this script by default)
  • Buildcraft MJ Integration
    • I'll actually try to make it lossless if possible, since we're only counting stuff.

installation.png


This is a MinecraftForge mod, thus it requires it to be installed. If you have a ModPack installed (like FTB), go to it's directory/minecraft and go to step 3!
  1. Download and install MinecraftForge http://files.minecraftforge.net/ (currently tested on Forge 965)
  2. Test if the client is working and Forge is hooked up to the Minecraft client.
  3. Download CountCraft (see section below) and place it inside '/mods/' folder, which is located inside the Minecraft running directory.

downloads.png



sourcehelp.png


  • The mod is open source and it's released under the MIT license, meaning that you can ANYTHING you want with it, as long as you retain the original copyright.
  • Feel free to submit Issues, Pull Requests, Comments on the code or help me translating it to other languages.
  • I really need to get a better Model and Texture, but I just don't know how to do it. I wanted a totally different model+texture idea, but I can't figure out a way to do it. Right now, textures are only decorative, but that's not the whole plan!


changelog.png


Future chaneglog will be posted here.
 
Last edited:

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
This is...surprisingly useful. I can think of a dozen scenarios where I want to compare different setups and have to eyeball the throughputs. I really hope you keep maintaining this mod.

Also, as mentioned above in "Better Averages", I hope you really do a proper "stack" and not fudge an array or something; maintaining 2000 numbers per tick in an array won't be fun for my cpu (and I must assume the block updates per tick)

Perhaps allow disabling/enabling it with redstone as an option if performance becomes an issue.
 

Shirkit

New Member
Jul 29, 2019
189
0
0
I plan to maintain this mod as long as I can think of, since I've been using it for a while and I gotta admit I love it ^^

Blocks are as performant as they can be, and they only any processing at all once they were updated (new stuff went through), and then they shut down again. They don't need to update everything every tick, I did my best to keep it that way.

Blocks currently can be disabled on the Interface, on the Config menu. I can' t think of enabling also control with Redstone signal once there's that button over there, since the blocks are meant to be placed in the middle of the builds, and ignoring redstone signal is always a good thing on those scenarios.

Actually the only part of the code I currently don't like is the Gui draw (when you right click the block), but since it's only on the client side and only when the interface is opened that I left it as it is until I have a proper solution on how to deal with this.

But once I implement that last 2000 itemstacks/items or 20 minutes, it will be also performance friendly, I can think of at least 3 different ways that it would make it really fast to do it (again, except on the Gui part ^^)
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
I plan to maintain this mod as long as I can think of, since I've been using it for a while and I gotta admit I love it ^^

Blocks are as performant as they can be, and they only any processing at all once they were updated (new stuff went through), and then they shut down again. They don't need to update everything every tick, I did my best to keep it that way.

Blocks currently can be disabled on the Interface, on the Config menu. I can' t think of enabling also control with Redstone signal once there's that button over there, since the blocks are meant to be placed in the middle of the builds, and ignoring redstone signal is always a good thing on those scenarios.

Actually the only part of the code I currently don't like is the Gui draw (when you right click the block), but since it's only on the client side and only when the interface is opened that I left it as it is until I have a proper solution on how to deal with this.

But once I implement that last 2000 itemstacks/items or 20 minutes, it will be also performance friendly, I can think of at least 3 different ways that it would make it really fast to do it (again, except on the Gui part ^^)
Awesome!

One possible solution to your graphical representation: It would be really cool if, instead of its own conduit, your interface was a multiblock panel that would go over any other conduit/pipe. It would function the same except instead of "read data in this conduit" you'd "read data in the conduit sharing this space."

Since the panel is practically 2d at that point, its gotta be much easier to texture. A hi-tech 99% transparent thing would look cool as hell.
 

Shirkit

New Member
Jul 29, 2019
189
0
0
Awesome!

One possible solution to your graphical representation: It would be really cool if, instead of its own conduit, your interface was a multiblock panel that would go over any other conduit/pipe. It would function the same except instead of "read data in this conduit" you'd "read data in the conduit sharing this space."

Since the panel is practically 2d at that point, its gotta be much easier to texture. A hi-tech 99% transparent thing would look cool as hell.

Can you help me listing all the transportation systems we have currently? This would help me understand if this is actually doable or not, beucase I think it's not:
- Buildcraft pipes and Logistics Pipes
- TE's Conduits
- EnderIO
- ExtraUtilities
- ThaumCraft Golems
- ProjectRed pipes
- MFR's Converyour belts
- Mekanism pipes
- Factorization's servo
- Chest carts (Railcraft/Traincraft/Steve's carts)

The issue with that approach is that each mod's transportation system would need it's own integration code, and it would be mostly injecting/hijacking things to solve this. That's why I used this buffer approach.
 

Shirkit

New Member
Jul 29, 2019
189
0
0
I'd need to inject code into other modder's code (and they may not like it) and it would have a really inferior performance. And in things like EnderIO and ExtraUtilities, I couldn't even do that way, the only way to solve it would be with the current buffered chest counter. I'd love to create a custom conduit, but TE doesn't support it (I tried already).
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
Very nice! Can see great potential in this for when testing setups etc.
 

midi_sec

New Member
Jul 29, 2019
1,053
0
0
would be amazing if the counter could be set to emit redstone on X count. like, every 10 items, or every 200, variable.

dat automation...
 
  • Like
Reactions: rhn

Shirkit

New Member
Jul 29, 2019
189
0
0
Very nice! Can see great potential in this for when testing setups etc.

Yeah, me too, I'm trying to come up with new ways to improve this so it gets more useful.

would be amazing if the counter could be set to emit redstone on X count. like, every 10 items, or every 200, variable.

dat automation...

Indeed it's a good idea, I can see about setting that up.
 
  • Like
Reactions: rhn

Shirkit

New Member
Jul 29, 2019
189
0
0
I'm thinking of adding auto-eject and auto-extract into them, but they would need to be balanced somehow. I don't want to allow things like pulling 1 stack per tick for free, since one of the things I like is tech progression.

Maybe adding support to TE/LP/BC to require their items (extractor pipe, extractor module, itemduct, pneumatic servo, autarthic gate, etc) if they are enabled, otherwise a simple piston/sticky piston if on vanilla.
 

casilleroatr

New Member
Jul 29, 2019
1,360
0
0
I haven't played this mod yet but it definitely looks interesting, sorry I can't give much informed feedback though. I just want to say that this is something I have long wanted to implement in a roundabout way with computercraft but finding the time is difficult so I appreciate this mod. I will look into this mod a bit more especially if it goes to 1.7