1. 9af2023 small method rename and checking for ownership before starting a computer by Florian Nücke · 11 years ago
  2. 3403396 playing with power numbers; fixed some converter bugs; added setting for a factor to apply to computer's running energy cost when they are sleeping (so they need less when they os.sleep(a long time); capacitor adjacency bonus and capacitor doesn't tick anymore; removed internal buffer form converter by Florian Nücke · 11 years ago
  3. ac5fe3c added capability to send http requests with wireless network cards, if allowed in the config (with domain white and black list); fixed nil printing when ls-ing an invalid dir, returning an error message instead; config doesn't support backslashes and since it might disappear in the future, anyway, I decided to switch to the typesafe config library; renamed config class to Settings to avoid name conflicts with typesafe config by Florian Nücke · 11 years ago
  4. 69048a9 fixed directory creation not checking capacity limit by Florian Nücke · 11 years ago
  5. 5f0f5d7 configurable robot names; showing robot name and owner in analyzer result by Florian Nücke · 11 years ago
  6. ad8ff5d made the shortened tooltip localizable; swinging item when clearing it by Florian Nücke · 11 years ago
  7. a014507 cleaned up stupid naming from way back then (parameters item: ItemStack -> stack: ItemStack); displaying shortened address on *all* item components now; only showing shortened / no tooltips per default now, hold shift to see the full tooltip; shift rightclick with an item component selected to "reset" it (clearing its address and data - this wipes disks!); removed the one item stacking limit on items, the documentation of the item(stack?) class was a bit irritating here, making me believe items that could potentially have tag compound must not be stackable - apparently that was a misunderstanding, yay! only trick bit are robots, that have to enforce the one-stacksize thing in their component slots... superfluous items are now first moved to the robots inventory, then dropped to the ground if that's full, too by Florian Nücke · 11 years ago
  8. b4335ad unbroke my test world (item creation order, will sort later); formatting by Florian Nücke · 11 years ago
  9. 08ed375 Merge branch 'master' of cil.li:oc by Florian Nücke · 11 years ago
  10. 9a36667 tooltipocalypse! that has to be enough for now... by Florian Nücke · 11 years ago
  11. 111f444 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
  12. 94d0dc6 added some crafting recipes by Johannes Lohrer · 11 years ago
  13. b751fe0 tooltips via localization files, with support for custom formatting (colors and text formats) by Florian Nücke · 11 years ago
  14. eb2778d keyboard rendering in inventory now respects block bounds, making it look a little nicer; reworked keyboard texture to use same color theme as other blocks; fixed keyboard pop-off logic by Florian Nücke · 11 years ago
  15. b203059 moar tooltippery by Florian Nücke · 11 years ago
  16. da7e638 shuffling in proxy by Florian Nücke · 11 years ago
  17. f6b4acb itemstack "factory" in delegate blocks and items by Florian Nücke · 11 years ago
  18. 3fa660a activating keyboards activates the screen they're attached to by Florian Nücke · 11 years ago
  19. 33583dd cleanup; fixed keyboards not being rendered when there's a block in front of them by Florian Nücke · 11 years ago
  20. ec1d708 Merge branch 'master' of cil.li:oc by Florian Nücke · 11 years ago
  21. 94f7c3a moar tooltips; extending entityplayer directly instead of fakeplayer by Florian Nücke · 11 years ago
  22. f6b3660 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
  23. 1e3a14a keyboard rendering by Johannes Lohrer · 11 years ago
  24. 8f5cc77 popping keyboards when their screen is broken by Florian Nücke · 11 years ago
  25. 987a056 fixed keyboard not being rendered correctly on client after loading by Florian Nücke · 11 years ago
  26. 55f9f33 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
  27. ac2c493 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
  28. 4d8ae19 only activate screens when they have a keyboard and only connect keyboards to the screen they're attached to by Florian Nücke · 11 years ago
  29. 0325cbb only allow placing keyboards on screens by Florian Nücke · 11 years ago
  30. 4623641 proper bounds for keyboards and allow placing on top/bottom of blocks by Florian Nücke · 11 years ago
  31. 917d0f2 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
  32. 8fa4f39 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
  33. a2a6dd5 getter for world info by Florian Nücke · 11 years ago
  34. 27739bb keyboard test by Johannes Lohrer · 11 years ago
  35. a6541d4 added an exception for robot placements so they face away from the player instead of towards him (unlike *all* other blocks) by Florian Nücke · 11 years ago
  36. 1996332 fixed last char in a row disappearing when it should have been shifted to the right in term.read and editor; fixed computers not properly reporting errors that occur if kernel is crashing during startup; added simple serialize/unserialize methods to text lib to make networking easier by Florian Nücke · 11 years ago
  37. 26c04f1 made ram and disk sizes for the three tiers configurable and generalized their localization method (not one per tier but one for all that gets extended based on the tier); more informative status bare messages for text editor by Florian Nücke · 11 years ago
  38. 594dffd proper clipboard pasting in editor and fixed no-arg check by Florian Nücke · 11 years ago
  39. f7f75d5 added a "status bar" for the editor and reduced some surplus copying by Florian Nücke · 11 years ago
  40. 175f070 fixed a display error when scrolling in editor lead to a horizontal scroll due to the new line being shorter than the previous one by Florian Nücke · 11 years ago
  41. 4bc0b89 cleaned up term some more and reused most of the logic by expanding it to multiple lines to create a... dun dun dun... basic file editor! by Florian Nücke · 11 years ago
  42. 374d66d moved string.trim to text.trim; made some more Lua functions use get/set prefix after all (got too used to dropping it from Scala, but since most callbacks will use this, too, I'd like to keep it uniform); major cleanup of term's readline implementation by Florian Nücke · 11 years ago
  43. e674f49 localized power tooltip in robots by Florian Nücke · 11 years ago
  44. ffd3ff4 made it so that robots only accept floppies (no hard drives) and added background icon for floppy slots by Florian Nücke · 11 years ago
  45. cb4c439 allowing robots to use items for specifiable durations. this allows robots to use bows or throw flasks. can be disabled; exhaustion is now converted into energy cost. one to one per default for now, will need some testing/calculations; fixed render glitch in nei when hovering power tooltip; showing absolute power value in power tooltip; made robot buffer configurable; made moves and turns cost energy and the amount configurable by Florian Nücke · 11 years ago
  46. c26fc97 analyzable is expected to return a node now and doesn't extend environment any more, allowing more flexible use (e.g. also for sided environments); checking for sided environment in analyzer for blocks with no analyzable interface; rendering power level of robots in their gui now; screens now consume more or less power, depending on the number of lit pixels (non ' ') by Florian Nücke · 11 years ago
  47. d4c1934 fixed open port saving (missing '='... grrr); fixed a deadlock; updating positions of wireless cards in robots; improved/fixed rtree. a lot; debug renderer for rtree by Florian Nücke · 11 years ago
  48. 17c8c96 also initializing disk drive and keyboard networks via one block tick; removed another false assert; underped network initialization by Florian Nücke · 11 years ago
  49. 7f40926 router works, apparently; changed network api to take a tile entity instead of world + coords which were just used to fetch a tile entity anyway; cable and router block use a block tick when validated to initialize their nodes, so they don't need tile entity updates (less unnecessary spamming of the tile entity list, yay!) by Florian Nücke · 11 years ago
  50. 0f0418b sided environments (a la sided inventory) to allow blocks to not connect to the network on some sides (e.g. screens on the front) or to provide different nodes to different sides (e.g. for - wip - routers); fixed state stack saving in computers... bloody stacks saving their values in the inverse bloody order; by Florian Nücke · 11 years ago
  51. 5aa9ad4 removed wrong assert in computer executor post-processing (became invalid after some recent changes) by Florian Nücke · 11 years ago
  52. 71cfa61 general cleanup, making stuff a bit more uniform; cleaned up term lib a bit; fixed redstone. again -.-; small network fix and renamed signal to 'modem_message'; converting tabs to align to properly instead of just replacing them with two spaces; word wrapping when writing to term with wrap enabled by Florian Nücke · 11 years ago
  53. 413a4ed removed the cullface hack for robot equipment rendering, don't know why but it seems not to be necessary anymore by Florian Nücke · 11 years ago
  54. 39f05f0 "closing" robots while they're not running by Florian Nücke · 11 years ago
  55. 4cf0ff5 custom block renderer to get models that are purely tile entity renderer driven to render in the inventory (cables and robots); fixed some flipped sides on cables that were only noticeable in inventory renderer (when not at 90 degrees angles); multi-pass rendering of items held by robots; cleaned up delegator/delegates a little by Florian Nücke · 11 years ago
  56. 36eb340 redirecting player drop requests to robot fake player through own item spawn method (that adds less velocity to the dropped item entity) by Florian Nücke · 11 years ago
  57. d4deb91 added sucking from inventories. this has an optional count parameter to limit the number of items sucked from any given stack; not discarding surplus items from sucked item stacks anymore... thought this was for player, too, but kinda missed the creative mode check there the first time I had a look at it -.- by Florian Nücke · 11 years ago
  58. b3a5521 sided inventory for robots; drop can now place stuff from the robots inventory into some other inventory, if present by Florian Nücke · 11 years ago
  59. 76efda0 aaand telling forge to load us after mfr if possible by Florian Nücke · 11 years ago
  60. 50cddc2 minefactory reloaded rednet interop: logically treated like bundled redstone from redlogic, though it needed some reworking of due to the different architectural approach (based on blocks, not tile entities) by Florian Nücke · 11 years ago
  61. d936cab two new block categories (two new delegators) for normal and special blocks with redstone, to make sure stuff doesn't render as connected to non-redstone blocks (they only check canProvidePower, apparently); obviously a world breaker, so sorted order of blocks while at it; some render fixes for robots with redstone cards (only render as connecting when card is actually in the card slot) by Florian Nücke · 11 years ago
  62. 0e5b555 limiting clipboard size when pasting; multiline pasting by splitting pasted text into multiple lines and generating one signal per line; dropping an actual robot block when breaking a robot by breaking its afterimage by Florian Nücke · 11 years ago
  63. ebb5390 fixed multiblocks always dropping the first sub block when broken normally... wow, i never actually tested this, apparently; fixed clearing equipment from robots not being updated for rendering on client; minor cleanup by Florian Nücke · 11 years ago
  64. 16a6243 better lighting. finally got around to adding normals for cables and now robots, too by Florian Nücke · 11 years ago
  65. ca60668 wrapped robot tile entity in a proxy that gets placed into the world instead, which allows more natural cleanup in minecraft (meaning we don't have to use cheap tricks like manipulating the tile entity list directly); robot rendering and animations by Florian Nücke · 11 years ago
  66. 920d485 power conversion ratios in config by Florian Nücke · 11 years ago
  67. dff73c9 basic animation logic stuff. added fake block that is used as a robot's "afterimage" when it moves, to ensure proper collision bound handling; fixed breaking pause when activating computer blocks; by Florian Nücke · 11 years ago
  68. 9ee52a6 and checking for unbreakable blocks (such as bedrock...) via negative hardness and some cleanup by Florian Nücke · 11 years ago
  69. 5ffe425 more configurable stuffs; added a wrapper layer for the config class when fetching values to make defining settings less verbose, and to make it easier to switch to some other backend implementation in case config really goes away in 1.7; less direct use of IDs; now checking if a robot can actually break a block with the currently equipped tool via ForgeHooks. so now they cannot break obsidian anymore unless they have a diamond pickaxe, for example by Florian Nücke · 11 years ago
  70. 3324371 get a move on. robots can now move. there's no animation yet and accordingly collision bounds aren't interpolated either, but movement basically works. in a very... simple manner, I must say (re-uses existing tile entity, on both server and client); cleaned up delegate class a bit (the node.remove in block break should be redundant since we do this in the environment tile entity base class) by Florian Nücke · 11 years ago
  71. 827344b moved timed pause logic to computer class and improved it a bit (i.e. less bugs); startup delay is now realized via pause; not consuming power while paused anymore (also not while rebooting); fixed computers being incorrectly initialized (regression that slipped in while working on robots); added start, pause stop callbacks to computer interface passed to callbacks; checking for obstruction coordinates in carriage component when movement fails, now by Florian Nücke · 11 years ago
  72. 7f61070 minor refactoring of utils by Florian Nücke · 11 years ago
  73. 1614966 setting pitch and yaw of fake player for robots based on which face they try to interact with (deals with issues when trying to use some items such as buckets); wrapped special handling for stuff like pistons a bit nicer by Florian Nücke · 11 years ago
  74. ba1f66e added setting to emulate CC turtle placing behavior (allow placing blocks in thin air, without any reference point - and no, the bot itself doesn't count!); properly ensuring placement is only possible on existing blocks for robot.place() (if the setting is false); robot Lua library wrapping the low level callbacks a bit by Florian Nücke · 11 years ago
  75. 358328d cleaned up durability restoration; removed onItemUseFirst setting - we have a winner! buildcraft needs it for wrenches, e.g., so now we just check hard-core whether the used item is a portal gun... may add a whitelist/blacklist some time. also not using any portal guns that are not the first one, because when triggered like this it'll always be a default portal by Florian Nücke · 11 years ago
  76. 698d68c not damaging players if configured accordingly; fixed a null pointer by Florian Nücke · 11 years ago
  77. bade1b5 applying weapon bonus damage to robot player for properly calculated damage on swing; applying tool durability reduction on attack, too; simulating a click for swing and use now via raytracing, falling back to simple use when that fails (basically like player click block vs player click air), which means stuff like using bone meal now also properly works; better feedback on what happened when a tool was used; added callback to query current tool's durability; building list of pre-break items earlier to allow detecting items generated in other callbacks than harvest (e.g. for redstone in motion blocks) by Florian Nücke · 11 years ago
  78. 942027d made the collision hack for robots less hacky, now just failing any collision ray traces that originate inside the robot by Florian Nücke · 11 years ago
  79. 3867395 added some more checks as to what blocks robots may break (e.g. fluids... which don't seem to have any particular checks, they just normally can't be broken because players can't target them) and added a (somewhat hacky) workaround for raytrace checks initiated by robots, e.g. when using buckets, so now they can fill and empty buckets - well, emptying only works if they look at a wall, though. by Florian Nücke · 11 years ago
  80. 2c9c142 immediately picking up drops from broken blocks. kinda glitchy on the client because he won't know this right away, so it'll look like the closest nearby player will pick up the item (he doesn't though, and there's no duping or anything, just a graphical glitch) by Florian Nücke · 11 years ago
  81. fbdac07 expanded fake player class a bit to avoid weird things happening (such as the robots opening GUIs - hint: fun time!); added options on whether robots may activate blocks (levers, buttons) and whether onItemUseFirst should be called (disabled per default to get portal guns to work). the latter is a setting because it may cause issues in mods that actually use it by Florian Nücke · 11 years ago
  82. cf6a3e3 only allowing to pick up items into the inventory of robots (not into equipment slots); added logic for placing blocks and using tools/items by Florian Nücke · 11 years ago
  83. 50f09c8 suck it. robots can now pick up items lying around on the ground, and there's a fake player class for robots (with a fake inventory, which is used for that and just dispatches to the robot tile entity's inventory - allows emulating actual player behavior pretty nicely) by Florian Nücke · 11 years ago
  84. b1d96a3 synchronizing selected slot in robots to client and rendering a selection marker in the gui by Florian Nücke · 11 years ago
  85. efe89e0 more inventory interaction for robots by Florian Nücke · 11 years ago
  86. 5f6a9cf made computers self-aware; added some basic interaction of robots with their inventory and the world (select, detect, compare, drop); generalized item dropping from containers on destruction; some redstone "fixes" for problems that kinda didn't exist before: output is now stored as "local", i.e. it is converted to global as needed, which makes changing the rotation of a block with redstone info a non-issue (computers could be rotated, where that problem also existed, sorta, just didn't think about it like this before) by Florian Nücke · 11 years ago
  87. 9b4476a moved gui updating/closing logic in screens to parent class (environment) and moved it to the tileentity package; larger robot inventory by Florian Nücke · 11 years ago
  88. f135d86 made power distributor logic a component to be re-usable in robots; general shuffling for robot stuff, now building an "internal" network for each robot that is *not* connected to the outside world. this will limit some cards installed in the robot (e.g. gpus won't work with external screens) but makes it much easier to re-use components without having the issue that they interfere with external stuff (also, it makes robots less of a complete replacement for normal computers, which they should not be, they have a very specific role, after all); reworked how stuff gets saved a bit more, nodes are now generally saved by their host - in particular the base tile entity we use (Environment) will now only automatically save its `node` if it is that node's host by Florian Nücke · 11 years ago
  89. 6e1ba98 some redstone fixes (again); restructured a bit: computer, buffer (screen) and keyboard now hold their own node, which for the normal blocks is just re-used as that te's node, but this way they can be directly re-used in robots which have to have multiple nodes in one te; more gui stuff for robots; moved gameregistry stuff out of individual classes into the registry singletons; fixed guis being opened twice; mostly got "built-in" components for robot working (it's basically like a case with a built-in screen, fixed gpu and ram, for now) by Florian Nücke · 11 years ago
  90. 077bc98 fleshing out the robot block a bit, adding the gui and inventory by Florian Nücke · 11 years ago
  91. c8bcc59 messed with synchronization of network a bit, mostly removing the synchronizations, meaning using the network in direct lua callbacks is *not safe* anymore. consuming / producing power however should be, that's synchronized (and hopefully won't deadlock, unless I forgot some case); fixed opengl errors when moving screens using RIM by checking if a display list is currently being compiled, and not trying to compile again if so, but simple rendering what we currently have. also reduced the keep-alive time of the cache a bit. by Florian Nücke · 11 years ago
  92. 5faedd2 moved some more stuff from case to computer superclass by Florian Nücke · 11 years ago
  93. 34a9270 underped dedicated server a bit by Florian Nücke · 11 years ago
  94. e286fb7 added new concept for LuaCallback annotation: limited direct calls. this allows defining the number of times a method may be called directly per tick, to limit the load Lua programs can but on the game, for example if the method has to use some expensive resource or generates network traffic. used for gpus, to allow different tiers to be updated with different speeds: set/fill/copy are now direct until they hit the limit. this makes for a much more responsive experience while still making sure Lua cannot completely blow the net traffic off the charts; also made some more getter methods in filesystem direct (in particular `size` which slowed down ls -l way too much); fixed a deadlock, possibly; screens now consume a constant amount of power and will stop displaying stuff when unpowered (won't lose the buffer, though) by Florian Nücke · 11 years ago
  95. 1b7eebf fixed redstone program always setting bundled output; now reading input from isolated red alloy wires (redlogic); general clean up; triggering persistable.save/load form environment class now (our base tile entity class); by Florian Nücke · 11 years ago
  96. f5da4e6 made power supply configurable by Florian Nücke · 11 years ago
  97. 6c5b172 fixed rednet interop; reduced powersupply output by Florian Nücke · 11 years ago
  98. 6570d88 fixed converter not filling up global buffers by Florian Nücke · 11 years ago
  99. 1aa60d2 made analyzer localizable; removed buffer from most components - only producers (converter, power supply) and a new block, the capacitor now have a buffer; tweaked power values a bit (I even made a spreadsheet!); file i/o now needs power (i.e. reading and writing files, all the "info" stuff doesn't); multi-block screens now require more power the larger they are by Florian Nücke · 11 years ago
  100. e68aab6 changed power model to an overflow based one instead of averaging all buffers (buffers across the network will be emptied / filled one after the other, regardless from where the power delta came) by Florian Nücke · 11 years ago