Code Monkey home page Code Monkey logo

mctechtree's People

Contributors

k3rni avatar

Stargazers

 avatar

Forkers

luniak kmi3c

mctechtree's Issues

AE naming:

ME cables witch colors are named:

"ME Cable $(color)"
NOT $(color) ME cable

ME import bus, ME export bus, ME level emitter, ME storage bus and ME dark cable
DONT AHVE COLORS AT ALL!!

Btw you mistake with naming on

- $(color) ME import bus:
ingredients: [iron*2, ME interface, $(color) ME cable, piston]
<<: *colors

Couse this is "ME export bus" not import

Allow templates anywhere

No need to separate crafts and craft templates. Whenever a craft looks like a template (it has vars or named with substitution keys) - just process it like a template.

Then, as a step further, allow templates in all sections, present and future.

extra feature: read Reactor Planner codes/urls

Parse Reactor Planner URLs, and optionally just the code (query part)

Decode the reactor layout and chamber count, convert into standard crafting lookup expression and display the results. The code itself is a rather simple stack of bits, easily recovered by decompiling the applet. Until GT support is added, reject designs with GT components.

Conditional definitions

For example (Railcraft gears):

cluster: railcraft

crafts:
- gold-plate gear:
    ingredients: [stone gear, gold nugget*4]
    requires: bc3
- gold-plate gear:
    ingredients: [cobble, gold nugget*4]
    disabled: bc3
- iron gear:
    ingredients: [cobble, iron ingot*4]
    disabled: bc3

When both railcraft and bc3 clusters are enabled, the second gold-plate and iron gear recipe should not be considered for crafting. When only railcraft is enabled, the first recipe does not solve, but should not throw an error, and the other recipes should be considered for crafting.

Another example (Railcraft IC2 module and crafting templates):

craft_templates:
- $(energyblock) cart:
    ingredients: [$(energyblock), cart]
    requires: ic2
    energyblock: [batbox, MFE, MFSU]

override declarations with priority

Case: Powersuits. Different recipes depending on what is the top tech-mod installed. IC2 or UE or TE override Vanilla, and GT overrides IC2. But what if we need to consider both IC2+GT and TE?

Add a priority fields to go with overrides, the lowest (or highest, doesn't matter) priority is chosen in case of conflict.

classify tiers, add option to not solve below specific tier

Tier 0 is primitive items.
Tier 1 is items crafted from only primitive items.
Tier N+1 is items that can be crafted from only items of tier N and below.

Example: Ore is tier 0, dusts and ingots are tier 1 (ingots are crafted from either dusts or ore). All of vanilla MC is T0-T2 (T2 includes doors, pistons, carts, rails etc).

The current resolving system is equivalent to solving down to Tier 0. Next, add an option to chose minimum tier to solve,

Example: nano body armor is T4 tech. When solved to T1, it lists coal dust and energy crystals as ingredients. Solved to T2, it should list energy crystals and carbon fibers.

Alternative syntax for crafts: processing

Some examples:

processing:
- machine: furnace
  inputs: [iron dust]
  outputs: [iron ingot]
- machine: circuit assembler
  inputs: [advanced circuit board, advanced circuit parts*2]
  outputs: [advanced circuit]

would be equivalent to:

- iron ingot:
    ingredients: [iron dust]
    machine: furnace
- advanced circuit:
    ingredients: [advanced circuit board, advanced circuit parts*2]
    machine: circuit assembler

Even better with templates:

- machine: industrial centrifuge
  inputs: [$(food), cell]
  outputs: [methane cell]
  vars: [food]
  food: 
  - apple*32
  - mushroom stew*32
  - bread*64
  - raw pork*12
  - cooked pork*16
  - raw beef*12
  - cooked beef*16
  - raw fish*12
  - cooked fish*16
  - raw chicken*12
  - cooked chicken*16
  - melon*64
  - pumpkin*16
  - rotten flesh*16
  - spider eye*32
  - carrot*16
  - potato*16
  - poisonous potato*12
  - baked potato*24
  - cookie*64
  - cake*8
  - mushroom block*12
  - red mushroom*32
  - brown mushroom*32
  - nether wart*32
  - terra wart*32

With more than one output:

- machine: industrial centrifuge
  inputs: [pulverized ferrous metal*3] # nickel dust
  ouputs: [tiny pile of gold dust, tiny pile of copper dust, tiny pile of iron dust]

This would presently expand to as many recipes as listed in the outputs, each requiring the same ingredients and producing one of the output items. It would also serve as one format for multi-output recipes (either with leftovers stack or true multi-output)

Multiple paramers in craft templates

So far craft templates take only a single parameter. There is however a case for multiple parameters: CC turtles, and also nils for a natural blank substitution. Example and result:

- $(peripheral) $(tool) turtle:
    ingredients: [$(peripheral), turtle, $(tool)]
    peripheral: [~, crafty/crafting table, wireless/wireless modem]
    tool: [~, mining/diamond pick, farming/diamond hoe] # and other tools
- turtle: [turtle] # should probably be excluded
- crafty turtle: [crafting table, turtle]
- wireless turtle: [wireless modem, turtle]
- mining turtle: [turtle, mining pick]
- crafty mining turtle: [crafting table, turtle, diamond pick]
- wireless mining turtle: [wireless modem, turtle, diamond pick]
- farming turtle: [turtle, diamond hoe]
- crafty farming turtle: [crafting table, turtle, diamond hoe]
- wireless farming turtle: [wireless modem, turtle, diamond hoe]

Each permutation is produced, except for an all-blanks one (which can be added as a regular craft anyway).

check for name conflicts - only cross-cluster

Within one cluster, name conflicts don't exist - they're simply alternative recipes. Across different clusters, however, they need to be flagged. Case: IC2 wrench vs BC wrench, when conflicts are not reported, IC2 electric wrench recipe will erroneously require the BC one.

cluster packs, a.k.a. modpacks

Either as subdomains or via top path:

  • mctechtree.com/ftb
  • ftb.mctechtree.com

Other packs:

  • dw20
  • tekkit
  • vanilla
  • skcraft
  • voxel
  • etc

A cluster pack defines which clusters are and are not considered (while still loaded at startup), using cluster exclusions, or replacing them somehow.

companion site: mcbeebreeder

  • referencing/linking to FTBwiki
  • all bee species - forestry, extrabees, magicbees
  • solve for breeding path
  • solve for specific comb or other produce
  • display metadata: biomes, required flowers, produce

Syntax for default values

Improves DRYness. Instead of

processing:
- machine: circuit assembler
  inputs: [advanced circuit board, advanced circuit parts*2]
  outputs: [advanced circuit] 
- machine: circuit assembler
  inputs: [elite circuit board, data storage circuit]
  outputs: [data control circuit] 
- machine: circuit assembler
  inputs: [elite circuit board, lapotron crystal]
  outputs: [energy flow circuit]   

something like:

defaults:
  machine: circuit assembler

processing:
- inputs: [advanced circuit board, advanced circuit parts*2]
  outputs: [advanced circuit] 
- inputs: [elite circuit board, data storage circuit]
  outputs: [data control circuit] 
- inputs: [elite circuit board, lapotron crystal]
  outputs: [energy flow circuit]   

Scoped per file, or even pseudo-locally if repeated sections were allowed (and merged together).

companion site: mcgraftinguide

  • using FTBwiki as reference
  • trees from vanilla, BoP, EBXL, Natura and what else
  • solve for tree species
  • solve for fruit

Better formatting for liquids

  1. Use mB suffix instead of multiplier prefix
  2. Stacks to 1000, in buckets

For example:

  • before: 2000 * lava
  • after: 2000mB lava (2 buckets)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.