Git Product home page Git Product logo

contraptions's Introduction

#Contraptions

Contraptions goal is to provide a framework for adding increased functionality to blocks in minecraft. At its core it is meant to be highly flexible to the addition of new functional elements to individual minecraft blocks, allowing for the simple creation of a wide range of different kinds of interactive structures. This program will allow tens of thousands of interactive blocks to be added to the minecraft world in an efficient manner giving rise to emergent constructions of complex machinery.

##The Contraption

A contraption is a single minecraft block that pieces together a bunch of widgets and resources. Widgets are functional components that interact with the minecraft world and the resources of the contraption. Resources are simple values within the contraption that represent a range of different properties, they allow widgets to interact with each other and factories to keep track of their current state. Via the composition of multiple widgets and resources contraptions will easily give rise to complex behavior and interaction with the minecraft world and other contraptions.

Potential contraptions include:

  1. A Factory which costs a good bit to make but allows people to execute custom recipe using it. However the factory continously consume energy, and when it runs out it is destroyed! However it will automatically consume fuel held within it to regenerate energy, and may also be energized via a power plant.
  2. A loader, which simply loads all the items in its inventory into the block infront of it. However this takes a lot of energy, and overtime the loader just being around will drain energy as well.
  3. A Unloader, about the same as the loader, but it unloads items from sorrounding blocks into itself instead.
  4. A Power Plant that will provide energy to all contraptions within a radius of itself, that way the contraptions don't have to fuel themselves!
  5. A Trigger, this simply trigger sorrounding contraptions to do something, like have a factory produce a recipe.

##Widgets

A contraption's widgets are what allow it to do things, and each contraption implementation decides how specifically to use the widgets that have been coded. These widgets can respond to events, do things over time, or respond to other widgets in the same contraption or others. Programmatic constraints dictate that widgets should not trigger chunk loads and should not be required to run frequently.

##Tentative Widgets:

  1. Match widget: A widget that when triggered attempts to consume a set of items, but only consumes them if the inventory only contains those items.
  2. Production widget: A widget that when triggered attempts to convert one set of items in the contraption to another set of items
  3. Decay widget: A widget which drains a resource over time.
  4. Generation widget: A widget that will convert a set of items into a resource.
  5. Load widget: Load items from surrounding containers over time
  6. Unload widget: Unloads items to surrounding containers over time
  7. Aura widget: Influence the resources of surrounding contraptions every so often
  8. Trigger widget: Trigger widgets in ajoining functional blocks
  9. Teleportation widget: Teleport the interacting player to nether
  10. Effect widget: Bestow an effect upon the interacting player

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.