Giter Site home page Giter Site logo

computronics's Introduction

Mod

  _____                            _                   _          
 / ____|                          | |                 (_)         
| |     ___  _ __ ___  _ __  _   _| |_ _ __ ___  _ __  _  ___ ___ 
| |    / _ \| '_ ` _ \| '_ \| | | | __| '__/ _ \| '_ \| |/ __/ __|
| |___| (_) | | | | | | |_) | |_| | |_| | | (_) | | | | | (__\__ \
 \_____\___/|_| |_| |_| .__/ \__,_|\__|_|  \___/|_| |_|_|\___|___/
                      | |                                         
                      |_|                                         

Computronics is an addon for ComputerCraft and OpenComputers, also adding integration to a lot of other mods.

Downloads

The mod's downloads can be found at https://wiki.vexatos.com/wiki:computronics.

License

The mod's license can be found here.

This is the repository for the Computronics Minecraft mod.

Mods required to compile

Mod Version Author URL
APIs* 1.0 javac GitHub
Applied Energistics 2* rv2-stable-1 Walrus Technologies Ltd Website
AsieLib* randomly chosen asie/Vexatos GitHub
Armourer's Workshop* 0.33.0.85 RiskyKen Jenkins repo
BestModEver* 1.7.10 Notch, jeb, Dinnerbone and others Website
BuildCraft* 6.4.1 SpaceToad Website
Computronics* latest asie/Vexatos GitHub
EnderIO* 2.3.0.368_beta CrazyPants, tterrag Website
Factorization* 0.8.87.1 neptunepink MCF
Flamingo 1.3 copygirl/Vexatos Github
Forestry* 3.5.3.11 Sengir (don't confuse with Sangar), CovertJaguar, mezz Secret hideout
Gendustry 1.4.14.99-mc1.7.10-api bdew bdew's jenkins repo
GregTech 5.07.07 GregoriousT IC2 Forums
IndustrialCraft 2* 2.2.643 Player Wiki
OpenComputers* 1.5.9.21 Sangar (don't confuse with Sengir) Website
OpenModsLib 0.7.1-snapshot-342 OpenMods Team Website
OpenPeripheralCore 1.1-snapshot-220 OpenMods Team Website
RailCraft 9.10.0.0 CovertJaguar Website
Waila* 1.5.10 ProfMobius Website

(Mods marked with a * are already there or being downloaded automatically)

computronics's People

Contributors

3tusk avatar adaptivity avatar aegislesha avatar asiekierka avatar ben-mkiv avatar bryant1410 avatar crafteverywhere avatar cyber01 avatar fingercomp avatar gamax92 avatar jaquadro avatar kubuxu avatar magnusjjj avatar marcin212 avatar nalimleinad avatar rashdanml avatar soleksak avatar techokami avatar vexatos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

computronics's Issues

Portable Tape drive

Techokami: Walkman a.k.a. Portable Tape drive. now.
Vexatos: yes
Techokami: now.
now.

Sorter

Waiting for BuildCraft to add the necessary APIs in 6.1.0 now.

[Idea] Buildcraft Gate Actions and Triggers

Various triggers and actions for Buildcraft gates once @asiekierka tells me BuildCraft is stable enough to do so. Suggestions are appreciated.

Triggers:

  • Computer is running
  • Computer is shut down
  • Tape Drive Playing
  • Tape Drive Rewinding
  • Tape Drive Forwarding
  • Tape Drive Stopped
  • All the Receiver Box aspect triggers (Already done by Railcraft itself)

Actions:

  • Start Computer
  • Shut down Computer
  • Start Tape Drive
  • Stop Tape Drive
  • Rewind Tape Drive
  • Forward Tape Drive
  • Set Lamp Colour to <put dye into slot(s) to get a certain colour, empty for resetting to white-ish>

GT driver initialization issue thinger

@Vexatos you brought up the issue on IRC earlier that the environment for the battery buffers isn't created if the batter buffer is placed after the adapter. From what I can tell, that's because you perform the check as to whether the driver "works" in createEnvironment. Don't. Do it in worksWith (override it). That should fix it, since the driver will not be selected in the first query, but it will be selected in the second, meaning it should properly update.

[Idea] Strange Weapons

Blame SKS and skye for this.
Basically, guns using electricity (and some kind of ammo) to do damage.
Ideas so far:

  • Coilgun
    • Should shoot bullets (compatible with GregTech rounds)
    • Damage: 0.5-10 hearts (depending on charge, hyperbolic depletion curve, damage roughly cut in half every shot, on full charge half the damage will pierce through armour)
  • Stungun
    • Range: 5 blocks, gets lower as the gun depletes
    • Damage: 2 hearts
    • Stuns whatever has been hit for 7-2 seconds, using a lot of power
  • Kitty ray
    • Actually shoots kittens
    • 2 Modes:
      • Explosive: Explosive kittens, because why not
      • Normal: 3 hearts of damage on hit, make "meow" sounds
    • Should be very expensive

Any more ideas?

Camera should be able to get color information

Just an average of the blocks color(stone = 0x888888, redstone = 0xaa0000).
Colors for most vanilla/computer/computronics stuff would be included, additional colors could be added in the config.

Some things would have dynamic colors(eg color lamp, sky)...

Fix Filesystem

There's supposed to be a tape.lua that gets loaded into the filesystem of an OC computer when a tape drive is connected. Ping @fnuecke for guidance with the API!

Add EnderIO Integration

Current to-do list. More suggestions are appreciated.

  • Get (max) energy stored and output per tick of capacitor banks/generators
  • Get (max) energy stored and current usage/output per tick of machines/capacitor banks
  • Configure all the Dimensional Transceiver things
  • Set push/pull/disabled on different sides
  • Get/Set Machines with redstone control to active/not active
  • Get whether a machine is active
  • Get the (max) Experience in blocks which store EXP

[Suggestion] Beacon drivers

an interesting idea I had
add to Computronics a beacon driver
which lets you use beacons as high-range wireless transmitters
where the range depends on the type of blocks beneath it
and the amount of

Was totally my idea.

[Idea] Rift Relay, Spatial Storage Driver

Dimensional Doors integration, allow opening/closing a rift on demand, if possible, also allow reading all the blocks inside the dimension. Recipe should require some doors to make up for the lack of a physically required door.

To-do:

  • Spatial IO driver
  • Compact Machine and Interface Driver

[Suggestion] Text-to-speech support

TTS support has been done before by a few mods, but none I care for too much - Mad Science uses a few canned phrases for its speech block, whereas Twisted is open-ended but its mechanics are based on abusing rabbits. The speech engine FreeTTS (which Twisted uses) allows speech synthesis. Would it be possible to get a speech block or card?

OpenComputers 1.4 Support

OpenComputers has smashed around the API once again with version 1.4, which is in open alpha. Updating Computronics to use the latest APIs shouldn't be too much of a hassle, just that there's a /lot/ more stuff than when I first jumped on!

This issue is mainly a reminder to myself about this.

Waila integration not working

Calling @asiekierka because this is a weird issue.
I found out that the Waila integration in Computronics is not working, i.e. only the most recently placed block properly shows the text it should. This is due to the fact that apparently the NBT tag inside the data accessor is not being updated which causes the x, y and z values to be incorrect when the Waila data accessor checks whether the NBT tag is valid.
Now the weird part: The Digital Detector is working. The block is extending BlockPeripheral, thus the Waila provider gets registered. It is, however, the only Tile Entity not extending TileEntityPeripheralBase, so there needs to be an issue somewhere in TileEntityPeripheralBase, TileMachine or TileEntityBase, but I have no clue where. Any help would be appreciated.
Calling @ProfMobius, maybe he knows what could be causing this strange behaviour or at least can tell us exactly how the Tile Entity and NBT Compounds are being constructed.

[Idea] Item/Player Teleporters

* Vexatos adds Bacon transceiver to Computronics
<ShadowKatStudios> Vexatos: We need something that scans stuff into a large thing of binary (like, 64KiB of binary) and can then re-build items based on that binary and a load of power.
<Vexatos> SKS: A teleporter?
<Vexatos> Like, seriously?
<ShadowKatStudios18> Could be used as one, but I was thinking a replicator.
<Vexatos> Then You will need me to check how much kB an ItemStack noms
<Vexatos> the larger the NBT data, the larger the ItemStack
<Vexatos> so I could indeed store an ItemStack as binary data inside OC
<Vexatos> And then rebuild using x amount of power per byte
<Vexatos> How does that sound, SKS
<ShadowKatStudios18> That sounds even better than what I was imagining.
<ShadowKatStudios18> Could it possibly teleport people?
<Vexatos> What did you imagine
<ShadowKatStudios18> I was just imagining every type of item had 64KiB of binary that could be used to create a new one of that item.
<Vexatos> SKS: Storing an ItemStack in data is easy
<Vexatos> copy item
<Vexatos> delete item from world
<Vexatos> on rebuild delete data after placing item in world
<Vexatos> A player is harder
<Vexatos> you cannot delete a player from the world
<Vexatos> as long as it is online
<ShadowKatStudios18> Trues, trues.
<Vexatos> You see my problem
<Vexatos> you cannot possible indefinitely store the player data
<Aucarndia18> you want to send a player over a modem?
<ShadowKatStudios18> What about if every player had a hash, and when that hash was used it could teleport the player?
<Vexatos> Now I need to check whether there is a way in Java to see how large an object is
<ucarndia> Vexatos: .length?
<Vexatos> SKS: for a plain x energy times y distance?
<ShadowKatStudios18> x items in inventory maybe?
<ShadowKatStudios18> wait
<Aucarndia18> i like the inventory idea
<ShadowKatStudios18> z items in inventory maybe?
<Aucarndia18> ? why z
<ShadowKatStudios18> Because you had x and y
<Vexatos> and plus รŸ amount of energy for a transdimensional journey
<ShadowKatStudios18> I was re-defining x and that would derp
<ShadowKatStudios18> Oooh, and if you don't have enough energy, it would eat items from your inventory?
<Aucarndia18> so, a base level of energy, and for every inventory item, and for distance
<Aucarndia18> no
<Aucarndia18> that would be bad
<Aucarndia18> and awful
<ShadowKatStudios18> It sounded like a cool idea, but OK.

Additional Ciphers for Cipher Block

Feature request for more ciphers.
Have an additional slot in the Cipher Block for "cores". Cores determine which cipher is to be used.
Maybe even add some sort of API so that modders can add their own Ciphers?

More fine-grained distance for camera.

Right now the distance to a hit is based on the plain coordinates of the block that was hit. This means regardless of where a ray hits a block, the distance will always be the same. It'd be nice to get a more detailed distance to allow capturing the structure of the block, ideally using the block's collision bounds.

Based on my experiences from implementing the robots' picking logic, the World.clip(Vec3 origin, Vec3 target) method can take care of the heavy lifting for blocks, but AFAIK it doesn't capture entities (e.g. the player). It might be worth using that as the 'base pass' nonetheless, to avoid reimplementing stuff already provided by Minecraft, and then running an addition collision check for entities (raytracing of entities is only done on the client by Minecraft itself, AFAIK, using OpenGL picking).

The downside of clip is that transparent blocks (like glass) will still need special handling, in case their opacity should be taken into consideration. Things to look out for: clip can hit the camera itself, so the origin would have to be offset accordingly.

Anyway, just some food for thought, in case this isn't planned already anyway :-)

OpenComputers 1.2.7+ compatibility

Hi,

When playing around with Computronics in my modpack I found that it does not work with the newer versions of OpenComputers.

Whenever I place a creative or nomal chatbox, this error appears:
http://pastebin.com/T99pAVBv
And it created another message every 40-50 seconds in the console:
http://pastebin.com/NYD641zs

Attempting to use the chatbox or iron noteblock via a computer gives this response:
lua> playNote(1, 1)
stdin:1: attempt to call global 'playNote' (a nil value)
stack traceback:
stdin:1: in main chunk
[C]: in function 'xpcall'
kernel:116: in function 'xpcall'
/bin/lua.lua:44: in main chunk
(...tail calls...)

Startup log:
http://pastebin.com/vaA46Yy9

Forced crash log:
http://pastebin.com/t9KvAVgq

Client info:
Forge 9.11.1.965
Opencomputers 1.2.7 and 1.2.9
Opencomponents 0.1.1.37, also tested without.

Crash with latest Railcraft

Railcraft just got (literaly few minutes ago) updated to 9.4.0.0, but now the game crashes on load. When i remove Computronics everything works fine.

I know that you are not that fast to make an update when other mods update. So I am here just to let you know that this happened.

Anyway...
Crashlog: http://pastebin.com/qRvLe4AX
Forge: 10.13.1.1232
Computronics: 1.2.0
Railcraft: 9.4.0.0

:)

OC controlled Railcraft routing

  1. Make the routing track accessible via the Adapter block
    Place golden ticket inside track, the ticket's owner will be used
    now you can set and get the destination (also whether it is currently active, i.e. receiving a redstone signal) using OC. The destination can be changed, it will be modified on the inserted ticket, the owner will stay the same.
  2. OC controlled electric locomotive
    Basically a Computer on rails. Wait until the electric locomotive is implemented.
    Can be programmed, particularly useful using a Linked Card.
    Computing entities, hooray \o/ (Maybe have a computer block relaying it, if that isn't possible, so just invent a new card, an upgraded linked card to link the computer to an OC locomotive)
    Can set and get locomotive's destination. Owner will be the person who placed the locomotive. Can also read data from any ticket placed inside, single-use tickets won't be instantly consumed, but can be consumed using a method, makes locomotive able to read data from inserted ticket.
  3. A new box: OpenComputers Signal block receiver box
    Like the Signal Block Receiver Box, just that it can be accessed using the Adapter block and it won't emit any redstone signal. Methods to get the bound signal's current aspect (Red, blinking red, blinking yellow, yellow, green), in numbers (Highest number is most restrictive aspect). Maybe an API like the colors API to make using that easier.
    Edit: How about a signal (the OC kind) being pushed on aspect change, called "aspect_changed" (Did you guess that?)
  4. Routing Detector and Routing switch (anything with a routing table in it) usable via the adapter block
    Well, you could make it able to change the whole text inside the routing table, so a function like setRoutingTable("AND\nDest=\"Pastryfork\"\nOwner=\"asiekierka\"")

Of course all of that supporting Computercraft and OpenComputers, maybe even NedoComputers, if possible.
This proposal will be expanded as I get more ideas. Feel free to post suggestions down below!

Cipher Block crashes client and server

Attempt to open gui or break Cipher Block results in the below:

[17:55:22] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NoSuchMethodError: pl.asie.computronics.tile.TileEntityPeripheralBase.getStackInSlot(I)Lnet/minecraft/item/ItemStack;
at pl.asie.computronics.tile.TileCipherBlock.func_70301_a(TileCipherBlock.java:323) ~[TileCipherBlock.class:?]
at net.minecraft.inventory.Slot.func_75211_c(Slot.java:67) ~[aay.class:?]
at net.minecraft.inventory.Container.func_75138_a(SourceFile:64) ~[zs.class:?]
at net.minecraft.inventory.Container.func_75132_a(SourceFile:53) ~[zs.class:?]
at cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:88) ~[FMLNetworkHandler.class:?]
at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2208) ~[yz.class:?]
at pl.asie.lib.block.BlockBase.func_149727_a(BlockBase.java:254) ~[BlockBase.class:?]
at pl.asie.computronics.block.BlockCipher.func_149727_a(BlockCipher.java:50) ~[BlockCipher.class:?]
at net.minecraft.server.management.ItemInWorldManager.func_73078_a(ItemInWorldManager.java:376) ~[mx.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:554) ~[nh.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:60) ~[jo.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:9) ~[jo.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.MinecraftServer.func_71217_p(MinecraftServer.java:547) ~[MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111) ~[bsx.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]

[Reminder] More Railcraft integration

  • Get and set speed limit of Limiter Tracks
  • Get and set mode of Locomotive Tracks
  • isPowered() for both to check if they are activated

Will do once OC 1.4 is in beta.

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.