Bomb Bloke
70c6f3498b
Correct minor typo in rednet.receive
...
Caused attempts to set a time-out value to throw "expected number, got number".
2017-09-13 01:06:59 +10:00
SquidDev
afec3743f3
Use custom packet to play records, instead of using block events
...
Breaking a disk drive was not stopping the record being played as the
block event never reached the client. Instead, we send a custom packet
which starts/stops music at a given location.
We also remove all the plumbing for eventReceived/sendBlockEvent from
the generic block/tile classes, as they are no longer used.
Closes #443
2017-09-12 15:46:46 +01:00
Wilma456
5989d021c7
Add folder /rom/modules
2017-09-12 16:44:22 +02:00
SquidDev
baa8993999
Fix background and tooltips not rendering within containers
...
The methods to draw these now have to be explicitly called, hence not
showing up.
2017-09-12 15:05:32 +01:00
Wilma456 (Jakob0815)
92f5860de6
Use select()
2017-09-12 15:27:09 +02:00
SquidDev
12abd4292e
Fixes a non-existent method being used in paintutils
2017-09-12 09:52:21 +01:00
SquidDev
4bd5b0d236
Remove HTTPTask, queueing the event when it has finished executing
...
This means we don't have to have lots of shared state between the run
and whenFinished method, and allows for easier chaining of futures later
on.
2017-09-11 22:13:00 +01:00
Wilma456 (Jakob0815)
0115bc8dca
Make io.write() accept multiple args
...
This is just to bring the io API from CC close the the io API from normal lua, which accept multiple args for io.write().
2017-09-11 15:47:30 +02:00
Daniel Ratcliffe
1fdfcdb5f2
Merge pull request #378 from MineRobber9000/patch-3
...
Add ability to load raw data from a string [paintutils]
2017-09-11 13:28:27 +01:00
Daniel Ratcliffe
6c32d8a57e
Merge pull request #394 from Wojbie/bugfix/Filesystem-dots-#35
...
Modify logic behind ... and more in file path.
2017-09-11 13:27:13 +01:00
SquidDev
5f323a85a7
Rethrow/retrigger interrupted status where appropriate
2017-09-10 22:08:08 +01:00
SquidDev
85c556d324
Rewrite the computer thread system
...
This makes a couple of significant changes to the original system, to
reduce the number of threads created and allow for multiple threads in
the future. There are several notable changes from the original
implementation:
- A blocking queue is used for the main task queue queue. This removes
the need for the "monitor" variable and allows for multiple threads
polling this queue in the future.
- The thread used to execute tasks is "cached" between tasks,
significantly reducing the number of threads which need to be
created. If a task needs to be stopped then the thread is then
terminated and a new one constructed, though this rarely happens.
2017-09-10 22:08:08 +01:00
Daniel Ratcliffe
61ff91f237
Merge pull request #316 from SquidDev-CC/feature/minecraft-1.12.2
...
Update to 1.12. Bam!
2017-09-10 20:52:26 +01:00
Wojbie
6aa4a385a3
Requested changes to logic behind ... in file path.
2017-09-10 17:51:29 +02:00
SquidDev
a2da6d9601
Pass the original block in redstone propagation
...
notifyBlockOfStateChange and notifyNeighborsOfStateExcept expect the
block which caused the redstone update, rather than the neighbor block.
Fixes #393
2017-09-10 09:32:02 +01:00
Daniel Ratcliffe
88b1124204
Merge pull request #399 from SquidDev-CC/hotfix/http-encoding
...
Fix setting an invalid content-encoding header
2017-09-10 00:28:39 +01:00
Daniel Ratcliffe
51644e32ed
Merge pull request #415 from Wilma456/palletecheck
...
Add valid check to term.setPaletteColor/getPaletteColor
2017-09-10 00:12:46 +01:00
Daniel Ratcliffe
cf5216aefb
Merge pull request #401 from SquidDev-CC/hotfix/peripheral-errors
...
Fix logPeripheralErrors not being set
2017-09-10 00:06:15 +01:00
Daniel Ratcliffe
c7e5386e80
Merge pull request #414 from Wilma456/listfix
...
Fix Bug in list.lua
2017-09-10 00:04:08 +01:00
Daniel Ratcliffe
707f0899da
Merge pull request #429 from Wilma456/iofix
...
Fix io API
2017-09-09 23:59:57 +01:00
Daniel Ratcliffe
3095a6bbad
Merge pull request #241 from SquidDev-CC/feature/minecraft-1.11.2
...
Update to 1.11.2
2017-09-09 23:54:42 +01:00
Wilma456 (Jakob0815)
a5bbed528d
Make mode from io.open() accept nil
2017-09-06 18:53:44 +02:00
Wilma456
0c1114edbc
Update to new Style
2017-08-30 17:29:06 +02:00
Wilma456 (Jakob0815)
369be7c32c
Fix io API
...
While adding checks to the io API in #424 , I had forgot that the io API has his own type() function who overwrite the default one. This PR fix this. Sorry for that.
2017-08-27 17:08:40 +02:00
Daniel Ratcliffe
fd8837c631
Merge pull request #377 from Wilma456/fserror
...
Better Errors for fs API
2017-08-27 13:51:36 +01:00
Daniel Ratcliffe
2f829a1413
Fixed load() not accepting function arguments
2017-08-27 13:34:33 +01:00
Daniel Ratcliffe
0de3a42808
Merge pull request #424 from Wilma456/newcheck
...
Add more Checks
2017-08-27 12:26:58 +01:00
Daniel Ratcliffe
2fb6a9dc62
Merge pull request #389 from Wilma456/ioerr
...
Make io.open() return Error
2017-08-27 12:22:54 +01:00
Wilma456
79697e37b0
Add Check to load()
2017-08-24 20:18:21 +02:00
Wilma456
4f9de6b02c
Update Checks
2017-08-24 20:17:31 +02:00
Wilma456
e9cea7d0f5
Add more Checks
2017-08-21 15:20:32 +02:00
Wilma456 (Jakob0815)
90626748e4
Remove sleep.txt
...
sleep was removed from CC, so It's time to remove the help file
2017-08-18 15:45:57 +02:00
Wilma456 (Jakob0815)
30b55d966b
Add valid check to term.setPaletteColor/getPaletteColor
2017-08-11 15:38:02 +02:00
Wilma456 (Jakob0815)
3371345fad
Fix Bug in list.lua
...
list.lua check now, if sDir is a Directory
2017-08-11 13:42:20 +02:00
Wilma456 (Jakob0815)
2c264728d9
Add Check to textutils.tabulate/pagedTabulate
2017-08-10 13:40:35 +02:00
Wilma456
90c4ebd208
Fix Bug in copy.lua, mkdir.lua and rename.lua
2017-08-09 19:32:29 +02:00
SquidDev
5df97e5133
Tweak shell program resolution slightly
...
- Path containing '/' or '\' are resolved relative to the current
directory, rather than using the path. Paths starting with '/' still
resolve relative to the root directory.
- Shell completion will also include sub-directories of the current
directory.
Closes #219
2017-08-03 07:24:21 +01:00
SquidDev
8f6feff4fd
Fix logPeripheralErrors not being set
2017-08-01 21:25:23 +01:00
SquidDev
26bca2e109
Fix setting an invalid content-encoding header
2017-07-31 07:50:23 +01:00
Wojbie
0d5397db34
Modify logic behind ... and more in file path.
...
Changes all equal or longer then 3 multidots setups to be treated as .
This removes other potentialy dangerus situations and brings it closer to windows in how it treats said dots.
2017-07-30 14:11:25 +02:00
Wojbie
acb5f65e16
Functional change Lignum suggested
2017-07-29 01:14:36 +02:00
Wilma456
c9e7b45509
Show fs error in paint and edit
2017-07-28 15:36:33 +02:00
Wilma456
226ae3648f
Forget string
2017-07-28 15:21:15 +02:00
Wilma456 (Jakob0815)
83f34b430d
Make io.open() return Error
...
If fs.open() failed, it will return nil and a a error message like "No such file" or "Out of space". This PR make, that io.open() returned this error too.
2017-07-28 15:18:14 +02:00
Wilma456
0a5155c0ff
New style
2017-07-27 16:40:00 +02:00
Daniel Ratcliffe
579f7443a8
Merge pull request #360 from Wojbie/Mixed-lua-side-improvements.-Part-2
...
Mixed-Lua-side-improvements.-Part-2
2017-07-25 23:15:10 +01:00
Daniel Ratcliffe
df1c8e22b8
Merge pull request #376 from CrazedProgrammer/fix-argument-checks
...
Fix argument checks made in PR #304 and #338
2017-07-25 23:13:34 +01:00
CrazedProgrammer
96288164c5
Fix textutils.serializeJSON argument check
2017-07-25 22:36:54 +02:00
SquidDev
263bade338
Add some basic recipe advancements
...
This doesn't provide the ability to unlock the upgrade impostor recipes,
but I'm not sure that is currently feasible.
2017-07-25 21:10:49 +01:00
SquidDev
d29ffed383
Java 8. Java 8. Does whatever Java 8 can.
...
Default methods, everywhere.
Arrow types, switch on strings.
Lambdas!
Here comes Java 8.
2017-07-25 21:10:48 +01:00
SquidDev
08099f08f2
Initial update to 1.12
...
- Convert most recipes to JSON
- Add JSON factories for impostor and turtle recipes.
- Several mappings changes
- Migrate to Forge's new registry system
2017-07-25 21:10:47 +01:00
SquidDev
bee41e7f97
Avoid deprecated warnings on ItemCable
2017-07-25 21:08:52 +01:00
SquidDev
35425f0f61
Update to 1.11.2
2017-07-25 21:08:51 +01:00
Daniel Ratcliffe
f480965e67
Merge pull request #372 from Wilma456/apispro
...
Update alias.lua
2017-07-25 20:32:30 +01:00
Daniel Ratcliffe
6701403370
Merge pull request #364 from KingofGamesYami/feature/computer-get-label
...
Add .getLabel
2017-07-25 20:06:22 +01:00
Daniel Ratcliffe
ff2c26c4a1
Merge pull request #367 from SquidDev-CC/feature/texture-spacing
...
Fix texture artifacts when rendering monitors
2017-07-25 20:05:31 +01:00
Wojbie
4c89364964
Requested changes
2017-07-25 21:01:04 +02:00
Daniel Ratcliffe
94613d28a6
Merge pull request #381 from Wilma456/colerror
...
Better Error for "Invalid color"
2017-07-25 19:56:59 +01:00
Daniel Ratcliffe
f6ea561270
Merge pull request #374 from Wilma456/packapis
...
Add package to apis.lua
2017-07-25 19:05:11 +01:00
Daniel Ratcliffe
b4fb7bb20f
Merge pull request #354 from Wilma456/multifix
...
Fix multishell.launch
2017-07-25 19:04:39 +01:00
Daniel Ratcliffe
35d29e1d88
Merge pull request #348 from Wilma456/termcheck
...
Update term.redirect check to new style
2017-07-25 19:03:55 +01:00
Daniel Ratcliffe
f14a14f4c3
Merge pull request #355 from MineRobber9000/patch-2
...
Make pastebin.lua use HTTPS
2017-07-25 19:03:15 +01:00
Daniel Ratcliffe
77cadf52fe
Merge pull request #351 from Wojbie/Fix-to-349-Monitors-causing-miscolouration-of-tile-entities
...
Fix to #349 - Monitors causing miscolouration of tile entities.
2017-07-25 19:02:43 +01:00
Daniel Ratcliffe
e97a32cd69
Merge pull request #375 from SquidDev-CC/feature/resourcepack-bios
...
Adds the ability to load custom bios.lua files from resource packs
2017-07-25 19:02:05 +01:00
Wilma456 (Jakob0815)
43a5fc9fe7
Better Error for "Invalid color"
...
the "Invalid color" error now contain the wrong color.
2017-07-18 16:12:19 +02:00
SquidDev
505ccf97cf
Fix incorrect null check
...
This was causing NPEs when no headers were specified and one was
attempting to POST data.
2017-07-17 22:46:48 +01:00
MineRobber___T
2c91c7962f
Remove unused tImage table and slightly clean code
2017-07-17 01:49:14 -04:00
MineRobber___T
f785b0a488
Update paintutils.lua
2017-07-17 01:16:36 -04:00
MineRobber___T
af847818d2
Remove some context from comment
...
I agree with SquidDev, I went a bit too far with the whole context thing.
2017-07-16 02:10:42 -04:00
MineRobber___T
ee20d7bed2
Fix line split
...
Also fixes a typo.
2017-07-16 02:08:54 -04:00
MineRobber___T
11060596b1
Remove legacy bHandleRawData check and fix file loading
...
While the check (most likely) wouldn't break anything, it's better to fix it and not worry then to not fix it and find out it breaks image loading. Also fixes how files are loaded.
2017-07-15 18:31:42 -04:00
MineRobber___T
71d024a76c
Move raw data parsing to paintutils.drawImage
2017-07-15 18:27:52 -04:00
MineRobber___T
260bb2e4e1
Add ability to load raw data from a string
2017-07-15 17:50:05 -04:00
Wilma456
f28a1ba517
Fix Bugs
2017-07-15 16:41:40 +02:00
Wilma456
239a2f0d25
Better Errors for fs API
2017-07-15 16:09:29 +02:00
CrazedProgrammer
1850dcdf38
Fix indentation of previous commits (tabs -> spaces)
2017-07-15 13:01:08 +02:00
CrazedProgrammer
af0549946b
Fix window API argument check made in PR #304
...
- Fix window.reposition so the new width and height arguments are
optional
2017-07-15 00:17:34 +02:00
CrazedProgrammer
7e5a9b3a5a
Fix some textutils API argument checks made in PR #338
...
- textutils.serializeJSON now takes a table/string/number/boolean instead of just a string as the t argument, and checks for nil in the tNBTStyle argument, so the parameter becomes optional again, as described in the wiki.
- textutils.slowWrite and textutils.slowPrint now checks if the rate
parameter is a number, if not nil.
2017-07-15 00:00:01 +02:00
SquidDev
c0294e1534
Adds the ability to load custom bios.lua files from resource packs
...
Computer now delegates to IComputerEnvironment which, by default, looks
in the following locations:
- Resouce pack files
- The "debug" folder
- The original ComputerCraft jar
2017-07-14 21:58:58 +01:00
Wilma456 (Jakob0815)
bb6d423710
Add package to apis.lua
2017-07-14 12:50:59 +02:00
Wilma456 (Jakob0815)
0ab79fd466
Update alias.lua
...
The apis program show now, waht programs are behind the aliases
2017-07-13 16:04:55 +02:00
Bomb Bloke
756d297c85
Update worm.lua
...
Fix #368
2017-07-11 10:24:36 +10:00
SquidDev
1cf3d78eac
Fix texture artifacts when rendering monitors
...
- Adds a 1px margin around every glyph. This is generally empty,
with the exception of teletext characters where it continues their
pattern.
- Uses GL_CLAMP with the font texture.
Closes #300
2017-07-10 22:20:07 +01:00
Steven Dirth
f1bb56557d
Update changelog and whatsnew
2017-07-09 12:45:08 -05:00
Steven Dirth
4b36ed6719
Add .getLabel to computer peripheral
...
Closes #359
2017-07-09 12:43:50 -05:00
SquidDev
e664eb26a9
Fix several global definitions
...
There were a couple of programs which were defining global variables, or
referencing undefined ones. This fixes all problems in the main rom files.
2017-07-08 11:31:30 +00:00
SquidDev
1ab5094b7f
Only delete indent when at the beginning of a line
...
edit currently deletes the previous 4 spaces when pressing backspace,
wherever you are on the line. This can be frustrating when you are
trying to align text in comments or strings.
This changes edit to only delete 4 spaces if all preceding characters
are whitespace, otherwise it only deletes a single character.
2017-07-08 12:07:30 +01:00
Wojbie
87406bc00d
Tweak to Colon syntax lua autocompletition.
...
Changes autocompletition to only complete function names (Or table names treated as functions via __call metamethod) after the colon symbol.
2017-07-07 02:30:57 +02:00
Wojbie
224e752a8f
Tweak to Go and Turn autocompletition.
...
Adds spaces to simplyfy making chains of commands. Also fix up turn not autocompleting after first argument.
2017-07-07 02:18:24 +02:00
MineRobber___T
f0559867d0
Fix pastebin.lua not using HTTPS
...
Attempting to use pastebin with plain HTTP results in a 301 redirect to the HTTPS version. This PR (and associated commit) makes the pastebin command work again.
2017-07-06 03:58:41 -04:00
Wilma456
02eb52da71
Fix multishell.launch
2017-07-05 10:17:44 +02:00
Wojbie
ef05eb7fe9
@SquidDev fix to #349 .
...
This fixes problem reported in #349 .
I was one of pepole that were having this bug so i was able to test it and confirm this fix.
Closes #349
2017-07-04 22:54:20 +02:00
Wilma456
6fdf38f55f
Replaced "no value" with "nil" in ArgumentHelper
2017-07-04 12:44:20 +02:00
Wilma456
c46391555f
Update term.redirect check to new style
2017-07-03 18:08:51 +02:00
Daniel Ratcliffe
1d63598d43
Merge pull request #338 from Wilma456/textcheck
...
Add Checks to Textutils API
2017-06-29 19:04:37 +01:00
Wilma456
5e244273c2
Allow Number and Table
2017-06-29 17:58:53 +02:00
Wilma456
13f886be5a
Add Checks to disk,gps,help and keys
2017-06-29 16:41:48 +02:00
Wilma456
845e1b633d
Merge branch 'master' into textcheck
2017-06-29 16:24:30 +02:00
Wilma456
6a8c544914
Feedback from dan200
2017-06-29 16:18:13 +02:00
SquidDev
6fca136327
Move Bit32 library to LuaJ sources
2017-06-28 23:05:48 +01:00
Daniel Ratcliffe
123a0158af
Merge pull request #313 from SquidDev-CC/feature/http-blacklist
...
HTTP blacklist and IP address support
2017-06-28 22:36:14 +01:00
SquidDev
b37b33f4f4
Migrate default whitelist/blacklist values to fields
...
This means we're not duplicating them between the initial field and
property creation.
2017-06-28 22:33:20 +01:00
Daniel Ratcliffe
00a1342883
Merge pull request #297 from SquidDev-CC/feature/fire-events
...
Fire Forge events where appropriate
2017-06-28 22:32:22 +01:00
Daniel Ratcliffe
14e4d037ad
Merge pull request #317 from Wojbie/Mixed-lua-side-improvements
...
Multiple fixes and feature fixes for lua side of CC.
2017-06-28 22:25:18 +01:00
Daniel Ratcliffe
28a89a26ad
Merge pull request #342 from SquidDev-CC/hotfix/turtle-suck
...
Replace direct equality with InventoryUtil.areItemsEqual
2017-06-28 22:12:30 +01:00
SquidDev
c9a3bcb68b
Replace direct equality with InventoryUtil.areItemsEqual
...
Some IItemHandler.insertItem implementations clone the item, so we must
check whether the object is equal instead.
Fixes #340
2017-06-28 22:11:25 +01:00
Daniel Ratcliffe
025af6a0a0
Merge pull request #329 from Wilma456/pocketequip
...
Add equip and unequip for Pocket Computers
2017-06-28 22:06:35 +01:00
Wojbie
f247879d98
Re-add Colon syntax support to edit.
2017-06-28 23:06:06 +02:00
Wojbie
bf533dd00a
Reverting requested changes. Take 1
...
Reverting rewrites to painutils, paint and edit - keept the paste logic change in edit.
Changed and removed misc parts as requested in PR.
2017-06-28 22:58:57 +02:00
Daniel Ratcliffe
22066a96dd
Merge pull request #335 from Wilma456/shellcheck
...
Add Checks to Shell and Multishell
2017-06-28 21:20:04 +01:00
Wilma456
6bbd1f3718
Add Checks to Textutils API
2017-06-26 15:21:52 +02:00
Wojbie
6255314ba8
Fir error in http.request _post error cheacking code and add package.config to shell require code to support standard better.
2017-06-24 14:33:29 +02:00
Wojbie
fc93ee474f
Merge branch 'master' into Mixed-lua-side-improvements
2017-06-24 14:29:19 +02:00
Wilma456
13ed933c6b
Add Checks to Shell and Multishell
2017-06-23 18:33:11 +02:00
Wilma456
fb5ba01e5a
Add Checks to Colors API
2017-06-23 17:38:40 +02:00
Wojbie
7090f6b6a7
Make settings API getNames() function sort names.
...
Makes it easier for eye and keeps settings from same program next to eachother.
2017-06-23 01:07:18 +02:00
Wilma456
01c024d8b0
Add equip and unequip for Pocket Computers
2017-06-22 14:05:42 +02:00
Bomb Bloke
d9190f95ec
Update paintutils.lua
...
Couple of fixes, plus let's not use maxn when blitting images after all. Load method ensures it isn't needed.
2017-06-21 23:41:40 +10:00
Wojbie
6df22235ae
Add forgotten settings.set in bios.
2017-06-20 02:09:28 +02:00
Daniel Ratcliffe
174b63d59a
Merge pull request #309 from Wilma456/execcom
...
Add autocompletion to exec
2017-06-19 20:44:21 +01:00
Daniel Ratcliffe
f0257028ba
Merge pull request #321 from Wilma456/bioscheck
...
Add Checks to Bios
2017-06-19 19:18:14 +01:00
Bomb Bloke
a7db108762
Update paintutils.lua
2017-06-19 13:46:13 +10:00
Bomb Bloke
be861a1c0d
Fix Bug with peripheral.find()
...
Since #315 peripheral.find() doesn't work. This PR fix this.
2017-06-19 13:09:06 +10:00
Wojbie
1489da1f5f
Adds support for colon operator in complete() function.
...
Includes changes to lua and edit programs to correctly support that too.
2017-06-19 01:15:26 +02:00
Wilma456
c70acbb05a
Add Checks to Bios
2017-06-18 17:48:07 +02:00
Wojbie
7e08662b95
Assorted fixes to rednet, textutils, gps, chat.
...
As reported by @SquidDev.
2017-06-18 17:12:08 +02:00
Wilma456
4580f10567
Fix Bug with peripheral.find()
2017-06-18 15:58:06 +02:00
Wojbie
06b2f3511f
Update paintutils.lua
...
Make error messages consistent with new system.
Fix some type errors and fix problem noticed by @BombBloke.
2017-06-18 12:03:14 +02:00
SquidDev
084bbe8480
Replace BitAPI with a LuaJ implementation of bit32
2017-06-17 21:39:12 +01:00
Wojbie
3acbdb2f90
Merge branch 'master' into Mixed-lua-side-improvements
2017-06-17 22:21:25 +02:00
Wojbie
01a0ce3dd0
Implements suggested changes.
2017-06-17 22:14:04 +02:00
Daniel Ratcliffe
bfb682bef9
Merge pull request #315 from SquidDev-CC/feature/argument-validation
...
Rewrite argument validation
2017-06-17 19:25:20 +01:00
Wojbie
efb351e1b0
Modification of edit.lua to use blit in writeHighlighted
...
Reduces amount of string operations and write calls inside writeHighlighted function by switching it to blit and using the 3rd argument in string.match.
2017-06-16 23:13:53 +02:00
Wilma456
2445a5b5d5
Add Default to read()
2017-06-15 14:50:47 +02:00
Bomb Bloke
221143e767
Update paintutils.lua
...
Resolve a few potential bugs.
2017-06-15 00:23:40 +10:00
Bomb Bloke
34ac28066e
Create paint.lua
...
General re-write for speed; much less likely to fail yield protection when attempting to draw the canvas.
2017-06-15 00:16:16 +10:00
Wojbie
9472d30dfc
Update startup.lua
...
Removed code better implemented by @Wilma456
2017-06-14 03:11:47 +02:00
SquidDev
eb628e9b62
Make error messages more consistent
2017-06-13 19:33:42 +01:00
Bomb Bloke
8e958d7a13
Update paintutils.lua
...
Remove drawPixelInternal / drawLineHorizontal. At runtime they're both just excess calls.
Localise high-use term functions.
Arg-related function errors reflect that "colour" parameter is optional.
Add saveImage(tImage, sPath).
Use term.blit for images.
2017-06-13 23:44:07 +10:00
Wojbie
76a3562d58
Multiple fixes and feature fixes for lua side of CC
...
In no particular order:
bios.lua - added missing test for ensure turtle folder exists.
paintutils.lua - added drawLineHorizontal() to reduce most (not all) cases of running multiple writes on same horizontal line that can be solved with one write.
textutils.lua - Added exception to complete function - will not complete if provided with LuaKeyword - solves do->dofile problem and removes other LuaKeyword related ones in advance.
edit.lua - Changed logic in handling the paste event - if paste event is received when menu is open it automatically closed said menu and lets it paste - resolves ctrl+ctrl+v annoyance. Added Jump to Menu functions - allows for fast jump to needed line - must for bigger files and a nice feature to have.
set.lua - Switched set to use pagedPrint - this will ensure that even if there are more settings than lines on screen the set command will show you all of them.
startup.lua - Added autocompletition for turtle programs go, turn, equip, unequip and command program exec.
lua.lua - Changed return function to print returned stuff correctly -
will print all returned variables even if there are any nils in there.
2017-06-13 11:00:07 +02:00
Wojbie
225ec594e7
Adds pocket computer light support to Speaker
...
This makes use of new pocket computer light access peripherals have and adds said functionality to speaker. If noisy pocket has made sound the pocket computer light will turn dark blue for a second.
2017-06-12 20:54:38 +02:00
SquidDev
585c769c2a
Restructure the HTTP API
...
- Adds support for blacklisting domains
- Adds support for blacklisting & whitelisting IP addresses and
IP ranges.
- Reuse threads for HTTP requests
AddressPredicate will parse a series of patterns and convert them into
regexes or CIDR ranges. When checking whether an address is accessible,
we first ensure the domain is whitelisted and isn't blacklisted.
If everything is OK, then we start create a new thread for the HTTP
request and resolve the IP, ensuring that is whitelisted & not
blacklisted. Then the normal HTTP request is continued.
However, http.checkURL also needs to resolve the IP address. In order to
avoid blocking the Lua thread, this method will return instantly and
create a new thread which will queue an event.
As both http.request and http.checkURL are now creating threads and
queuing events, some logic is abstracted into a separate HTTPTask class
- this allows us to share the thread creation, finishing and cancelling
logic.
2017-06-12 19:22:02 +01:00
SquidDev
fac625173a
Use Lua style error messages in the rom files
...
This makes it mostly consistent with the Java APIs, and makes debugging
significantly easier.
2017-06-12 10:54:44 +01:00
SquidDev
bffc3c18cc
Rewrite argument validation
...
This uses a new utility class ArgumentHelper, which provides convenience
methods for parsing arguments from an array of Objects.
The format of error messages has also changed. It now follows a format
similar to Lua's native error messages - including the invalid argument
index, the expected type and the type actually received.
2017-06-12 10:28:31 +01:00
Wilma456
9e9df37c40
Add autocompletion to exec
2017-06-07 16:51:23 +02:00
Daniel Ratcliffe
0f982e6199
Merge pull request #303 from Wojbie/Window-api-fix
...
Fix to setPaletteColour in rgb8 mode.
2017-06-04 13:58:40 +01:00
Daniel Ratcliffe
4f3be7963e
Merge pull request #304 from Wilma456/windowcheck
...
Add checks to window API
2017-06-04 13:57:51 +01:00
Wojbie
60e9ce1b68
Fix to redirection game.
...
Was not testing for correct file type. Game ended after first lvl cause it was looking from wrong name of file.
2017-06-04 14:51:49 +02:00
Wilma456
c9bf463419
Add checks to window API
2017-06-04 12:34:40 +02:00
Wojbie
a90e2a8bfd
Fix to setPaletteColour in rgb8 mode.
...
Was not saving color if called using rgb8 mode.
2017-06-04 11:59:30 +02:00
Daniel Ratcliffe
3828750ade
Merge pull request #302 from Wojbie/Wget-binary-mode
...
Switch wget to use binary mode.
2017-06-03 21:32:45 +01:00
Wilma456
fd842be37f
Remove second fix
2017-06-03 16:30:35 +02:00
Wojbie
0cc65adff9
Switch wget to use binary mode.
...
Allows wget to download all types of files not only text ones.
2017-06-03 13:19:57 +02:00
Wilma456
d6e4323f17
Fix Bug with term.setCursorPos
...
I fixed 2 Bugs:
1. If you call this function, without 2 numbers, you get a error in the window API and not in your Program
2. If you call, this function with 2 numbers lower then 1 (e.g. term.setCursorPos(0,0) ), CraftOS will hang forever and need to press Ctrl+R or rejoin the world.
2017-06-02 17:35:18 +02:00
SquidDev
255dc925fb
Fire Forge events where appropriate
...
- BlockEvent.BreakEvent and BlockEvent.HarvestDropsEvent are fired when
digging.
- AttackEntityEvent is fired when attacking.
- Various PlayerInteractEvent.* events are fired when placing.
Closes #103 , closes #100
2017-05-31 12:41:31 +01:00
Daniel Ratcliffe
114c49e3f6
Merge pull request #291 from Wilma456/apis
...
Add multishell to apis program
2017-05-29 16:57:42 +01:00
Lignum
44c67796b8
Fix generic-related compiler warning
2017-05-29 17:35:41 +02:00
Wilma456
9770f103ed
Add multishell to apis program
2017-05-29 15:55:45 +02:00
Wilma456
07ae332c24
Add fileextension for Paint ( #260 )
...
* Add fileextension for Paint
* Change extension to .nfp
* Add setting
2017-05-29 14:05:19 +01:00
Wilma456
99b5534099
Add setting for .lua extension ( #278 )
...
* Add setting for .lua extension
* Feedback from SquidDev
* Feedback from dan200
* All requested changes are done
* Better description
* Cleaner check
2017-05-29 13:21:27 +01:00
Wojbie
47f470910e
Fix to getPalletteColour
...
Done as @dan200 specified in #287 . Closes #287 .
2017-05-28 14:08:15 +02:00
Daniel Ratcliffe
9f35d2a2b7
Merge pull request #282 from apemanzilla/contributors_task
...
Dynamically generate contributors list
2017-05-28 12:06:12 +01:00
Daniel Ratcliffe
7b182e32b8
Update credits.txt
2017-05-28 12:03:23 +01:00
MineRobber___T
3d9d54beef
Update credits.txt
...
Add url of github repo to credits.
2017-05-25 10:15:01 -04:00
apemanzilla
51b9f3ca3b
Use template instead of separate task
2017-05-24 13:20:46 -04:00
apemanzilla
5ff3ae6434
Add Gradle task to generate contributor list
2017-05-24 12:35:41 -04:00
Daniel Ratcliffe
e66f0d7033
Merge pull request #268 from Wilma456/credits
...
Add Contributors to credits.txt
2017-05-24 13:21:52 +01:00
Nephi (AKA Lupus590)
5f2446009d
mass file rename, left some files...
...
... as they are levels for nitrogenfingers goldrunner
2017-05-22 21:34:49 +01:00
Wilma456
19fc491532
Remove Ingamename and sort alphabetical
2017-05-22 17:18:11 +02:00
Lignum
0a2cb7442d
Merge branch 'master' into fix-speakers
2017-05-20 13:23:12 +02:00
Daniel Ratcliffe
d86aa50bec
Merge pull request #267 from SquidDev-CC/feature/tutle-tool-changes
...
Shovel upgrade converts grass to path blocks
2017-05-20 12:16:47 +01:00
Wilma456
df2fe7c445
Add Contributors to credits.txt
2017-05-20 13:13:08 +02:00
Daniel Ratcliffe
6c85ca071f
Merge pull request #266 from Wilma456/leveldat
...
Add .dat extension to all redirection levels
2017-05-20 11:57:26 +01:00
Wilma456
b31518cfb5
Add .dat extension to all redirection levels
2017-05-20 12:51:01 +02:00
Wilma456
e8ecf5dcd5
Add .txt extension to all help files
2017-05-20 12:20:27 +02:00
Lignum
163c1db6be
Fix some if statements
2017-05-19 23:37:02 +02:00
Lignum
c8697d9158
nTicks -> nPitch in speaker help file
...
Not sure why this was called nTicks, but it had nothing to do with ticks.
2017-05-19 20:27:08 +02:00
Lignum
c2af482615
Format TileSpeaker and TurtleSpeaker
2017-05-19 20:25:08 +02:00
Lignum
a402fc9093
Format SpeakerPeripheral correctly
2017-05-19 20:20:51 +02:00
Lignum
387fc13322
Pocket Computer upgrde -> Pocket Computer upgrade
2017-05-19 19:19:29 +02:00
Lignum
b30191638f
Ensure the existence, not existance
2017-05-19 19:17:23 +02:00
Lignum
95991694e0
Load modules, not modiles
2017-05-19 19:16:50 +02:00
Daniel Ratcliffe
9b6d335c5d
small fix
2017-05-19 14:13:08 +01:00
SquidDev
971c719a9f
Add some sanity checks to Palette.readFromNBT
...
Printers use a Terminal to store the page currently being printed.
Printers saved in an older version of ComputerCraft would be missing the
term_palette field, resulting in an NPE when loading the tile.
2017-05-19 11:47:27 +01:00
Daniel Ratcliffe
f3c291cb4d
Merge pull request #205 from SquidDev-CC/feature/packet-network-api
...
Expose wireless network in the public API
2017-05-18 23:57:44 +01:00
SquidDev
d76ce22db7
Split transmit into two separate methods
...
This removes the interdimensional and range options from the packet
and ensures they are provides them from the transmit* methods instead.
2017-05-18 23:50:14 +01:00
Wojbie
af07a78f76
Speaker rage limit
...
Limit max volume of speaker to volume of normal noteblock.
2017-05-18 23:12:55 +02:00
SquidDev
d19bc53cb4
Include standard Lua libraries in package.loaded
...
PUC Lua includes all builtin libraries in the package.loaded table.
2017-05-18 00:15:21 +01:00
Daniel Ratcliffe
61b2ed36a9
Reworked how shell creates environments. Implemented require
...
"shell" now runs each program in a new lua environment, instead of
sharing that lua environment between all programs launched under a one
shell. Said environment now includes an implemenation of "require" and
the "package" API, so that programs can require modules into that
environment.
This means that programs can require in libraries without polluting the
global namespace, and without breaking the virtual computer model, as
each program has it's own set of requires, which are discarded when the
program ends.
2017-05-17 23:43:44 +01:00
Daniel Ratcliffe
4fb93853ce
Running "edit foo" will now create "foo.lua" if "foo" does not exist
2017-05-17 22:47:39 +01:00
Daniel Ratcliffe
6e6b8e7eef
Made os.loadAPI handle .lua files. Renamed all builtin APIs to .lua
2017-05-17 22:47:13 +01:00
Daniel Ratcliffe
50a4a961e5
Pressing tab in "edit" now inserts 4 spaces instead of 2, backspace now deletes them
2017-05-17 19:48:27 +01:00
Daniel Ratcliffe
f5edb32be9
Replaced tabs with spaces in all lua files
2017-05-17 19:48:27 +01:00
SquidDev
5cf581e6c9
Fix files not writing data when closed
...
As the raw stream was being provided to the parent class, buffered data
was not written, resulting in empty files. This ensures the buffered
reader/writer is the one which is closed.
2017-05-17 19:25:13 +01:00
Daniel Ratcliffe
05e838ca5a
Strip ".lua" from program names in multishell title bar
2017-05-17 19:05:45 +01:00
Wilma456
1d905963e9
Add .lua extension to all programs and startup
2017-05-17 16:28:43 +02:00
SquidDev
12e61efd76
Fixes speakers playing incorrect sounds on the server
...
As a new SoundEvent was being created each time, the actual sound was
not in the registry, resulting in the sound -> id mapping yielding
incorrect values.
2017-05-17 08:00:14 +01:00
Daniel Ratcliffe
0a350077e9
Updated turtle speaker texture to match the style of the other turtle peripherals
2017-05-16 23:59:35 +01:00
Daniel Ratcliffe
19c8613dea
Better shell.programs() fix
...
Prevents duplicate entries
2017-05-16 23:34:53 +01:00
Daniel Ratcliffe
fb00698557
Merge pull request #239 from Wilma456/shellprog
...
Make shell.programs filter .lua extension
2017-05-16 23:00:14 +01:00
Daniel Ratcliffe
3d1eb830c7
Saner extension check
2017-05-16 22:59:39 +01:00
Daniel Ratcliffe
2bc72a883f
Merge pull request #228 from Lignum/startup-dir
...
Startup directories
2017-05-16 22:56:00 +01:00
Cruor
cd2a51f816
Updated text... again...
2017-05-16 23:39:48 +02:00
Cruor
8b7c769ff9
Update speakers
2017-05-16 23:33:09 +02:00
Cruor
4101cb2dfb
Added help file for speakers
...
Added help file for speakers
2017-05-16 23:30:53 +02:00
Lignum
03794970ba
Merge master into startup-dir
2017-05-16 23:25:54 +02:00
Lignum
9d0afe9e18
Mention startup directories in whatsnew and changelog
...
Also makes the line endings in these files consistent to be LF only.
2017-05-16 23:22:34 +02:00
SquidDev
b5e75a86c8
Remove AT for Block.createStackedBlock
...
Access transformers do not propagate to sub classes, and so the access
transformer did not work here. Reverting to reflection fixes this issue.
2017-05-16 21:19:36 +01:00
Lignum
00943163c8
Replace type check with nil check
2017-05-16 21:53:50 +02:00
Lignum
eb9b7f3b8c
Ignore dirs inside startup directories
2017-05-16 21:50:35 +02:00
Daniel Ratcliffe
ba4b1e21fe
Merge pull request #238 from SquidDev-CC/feature/binary-handles
...
Refactor the filesystem and HTTP code
2017-05-16 20:02:34 +01:00
Daniel Ratcliffe
cd85a03429
Merge pull request #237 from Restioson/feature/speaker
...
[Peripheral] Speaker
2017-05-16 19:52:10 +01:00
Restioson
0113e7229f
Added speaker to whatsnew
2017-05-16 20:44:34 +02:00
Restioson
7e556acebc
Added Speaker to Changelog
2017-05-16 20:42:16 +02:00
Daniel Ratcliffe
aa8455e0b1
Merge pull request #245 from Wilma456/settings
...
Update Settings Help
2017-05-16 19:39:34 +01:00
Daniel Ratcliffe
2e22ca4ccf
Merge pull request #217 from SquidDev-CC/feature/logging
...
Add a basic logging system
2017-05-16 19:38:03 +01:00
Wilma456
68f4611abc
Add Default Settings
2017-05-16 20:35:46 +02:00
SquidDev
0e1135ed97
Disable peripheral logging by default
2017-05-16 19:35:07 +01:00
Daniel Ratcliffe
ebbdd29bd6
Merge pull request #243 from SquidDev-CC/feature/access-transformer
...
Replace reflection with access transformers
2017-05-16 19:25:10 +01:00
Daniel Ratcliffe
8c4331d15a
Added checks to window.setTextColor and window.setBackgroundColor
2017-05-16 19:23:08 +01:00
Restioson
4df4b91d09
Converted (!x == y) to x != y
2017-05-16 20:02:59 +02:00
Restioson
b28c565665
(Hopefully) addressed @dan200's concerns
...
Push your fix to thread safety if this doesn't cut it
2017-05-16 19:48:38 +02:00
SquidDev
efb0065ebd
Add config option to disable certain error messages
2017-05-16 15:59:09 +01:00
SquidDev
a0b6cbb671
Remove ILogger facade
...
Just use global Log4j logger on the ComputerCraft class.
2017-05-16 15:49:55 +01:00
SquidDev
44ba4069c1
Print stack traces/add logging messages in several places
...
This will hopefully make it easier to track down various issues which
might otherwise go unnoticed or provide little information.
The main areas modified are those that external APIs may provide values
for or interact with: various providers and ILuaObject/IPeripheral
implementations. However, we do also log in a couple of other places
which indicate a problem with this, or another, mod.
2017-05-16 15:49:55 +01:00
SquidDev
bdc438fc62
Add a basic logging system
...
This adds a common ILogger interface and two built-in loggers - one
which prints to stdout, the other using a Log4J logger. These are split
up as not to cause dependency issues for emulators.
The stdout logger is enabled by default, but the ComputerCraft mod class
will swap over to using FML's mod specific logger, which provides a more
consistent look with the rest of Minecraft.
2017-05-16 15:49:55 +01:00
Restioson
b3c49db761
Made Speaker threadsafe & fix warnings
2017-05-15 17:42:29 +02:00
Restioson
7ff4631a9f
@gegy1000 strikes again
2017-05-15 17:42:29 +02:00
Restioson
aad81bead7
Fix style
...
@gegy1000 don't say *I* get distracted
2017-05-15 17:42:29 +02:00
Restioson
88b55934c7
Fix castException
2017-05-15 17:42:29 +02:00
Restioson
42962dcd48
Fix Noisy turtles not in creative - Thanks @SquidDev
2017-05-15 17:42:29 +02:00
Restioson
093d2ea89f
Added PocketSpeaker & corrected blockmodel for turtle speaker
2017-05-15 17:42:29 +02:00
Restioson
97a6679510
Dammit, I hope my git history works now!
2017-05-15 17:38:50 +02:00
Restioson
a3b0e4e993
Added speaker as turtle peripheral
2017-05-15 17:38:50 +02:00
Restioson
3bf15a3798
Added speaker model - potentially glitched
2017-05-15 17:38:50 +02:00
Restioson
dc96f2121a
Fix Speaker not playing sounds on break and replace for entire Lua session
2017-05-15 17:38:50 +02:00
Restioson
2899246dbc
Fix speaker peripheral API
2017-05-15 17:38:50 +02:00
gegy1000
2444245b80
Speaker rendering and name
2017-05-15 17:38:50 +02:00
Restioson
a748d0167b
Fixed Speaker being recognized as Disk Drive. Massive thanks to @SquidDev
2017-05-15 17:38:50 +02:00
Restioson
6cf1801f7e
Changed method names to camelCaser
2017-05-15 17:38:50 +02:00
Restioson
61c08afc7f
Implemented speaker. It's broken though - thinks it's a Disk Drive
...
~~Damn Tile Entities these days, always with their identity crises~~
2017-05-15 17:38:50 +02:00
Restioson
61dc61d356
Attempt to fix git history #2
2017-05-15 17:36:29 +02:00
Daniel Ratcliffe
7f365c5102
Merge pull request #232 from SquidDev-CC/feature/remove-duplicate-history
...
Do not insert empty or duplicate entries into shell history
2017-05-15 14:00:15 +01:00
SquidDev
63cdc7a72e
Replace reflection with access transformers
...
This makes the code slightly neater and allows us to catch places where
the variable/function has been renamed between versions.
2017-05-14 17:01:14 +01:00
SquidDev
cf7308dbc8
Fix holes appearing in coloured turtles
...
There was a very small gap between the turtle frame and the top of the
turtle body. This increases the height of the body by one pixel, adding
a little bit of overlap and ensuring the frame renders on top fixes
this issue.
2017-05-14 16:02:15 +01:00
SquidDev
b37dbbd0af
Allow dying pocket computers too
...
This splits up the pocket computer textures and models into the frame
(off, on, blinking), colour layer (normal, advanced, custom) and modem
light.
2017-05-14 15:02:56 +01:00
SquidDev
a6b870dfbb
Expand IPocketAccess.getLight/setLight to use RGB colours
...
This allows us to restore the modem light to its original colour.
2017-05-14 14:22:20 +01:00
SquidDev
6426255bd4
Remove getColour and setColour methods from ITurtleAccess
...
This allows us to remove the m_Colour field from TurtleBrain
2017-05-14 14:17:55 +01:00
SquidDev
8c36eccfef
Allow dying turtles arbitrary colours
...
- Makes ITurtleItem implement IColourableItem
- Only cache one turtle item model for all colours, rather than one for
each colour.
- Allow ITurtleAccess to set an arbitrary colour.
2017-05-14 14:17:55 +01:00
SquidDev
88de097c1c
Add more general item colouring system
...
This allows for other items, such as turtles, to be dyed in the future.
This also adds support for the ore dictionary, meaning you can use other
mod's dyes to colour items.
2017-05-14 14:17:54 +01:00
SquidDev
6ccffe9742
Refactor the filesystem and HTTP code
...
- Move the encoding/decoding from the Filesystem implementation to the
individual handles.
- Move each handle into an core.apis.handles package from the main fs
API.
- Move the HTTP response to inherit from these handles.
- Allow binary handles' read function to accept a number, specifying
how many characters to read - these will be returned as a Lua string.
- Add readAll to binary handles
- Allow binary handles' write function to accept a string which is
decoded into the individual bytes.
- Add "binary" argument to http.request and friends in order to return
a binary handle.
- Ensure file handles are open when reading from/writing to them.
- Return the error message when opening a file fails.
2017-05-13 22:47:28 +01:00
Daniel Ratcliffe
2fd01b2adf
Merge pull request #233 from SquidDev-CC/feature/file-handle-errors
...
Provide various error messages for file handles
2017-05-13 21:55:37 +01:00
Daniel Ratcliffe
ea0d688345
Merge pull request #234 from SquidDev-CC/feature/remap-ids
...
Remap all blocks and items to underscore_case
2017-05-13 21:44:10 +01:00
Daniel Ratcliffe
891666c8bf
Merge pull request #220 from SquidDev-CC/feature/item-handler
...
Replace most inventory handling code with IItemHandlers
2017-05-13 21:31:58 +01:00
SquidDev
a328308f67
Switch from using INetwork to IPacketNetwork
2017-05-13 20:43:12 +01:00
SquidDev
e6ef1cfadd
Add packet network API
...
This provides a publically accessible way of interacting with wireless
networks, hopefully extending to wired networks in the future.
Unlike the original INetwork/IReceiver system, networked devices listen
on all channels, filtering when they recieve the packet. This allows
other peripheral mods to be more flexible in their packet handling.
2017-05-13 20:43:10 +01:00
ObloxCC
7f754f33bb
Updated (C) from 2016 to 2017 ( #229 )
...
* Updated (C)
* Fixed Whitespace
bugs, bugs, and more bugs
* Fixed Whitespaces 1/2
* Fixed Whitespaces 2/2
* Fixed Whitespaces 3/2
2017-05-13 19:20:39 +01:00
Wilma456
516bd8cf03
Make shell.programs filter .lua extension
2017-05-13 13:37:18 +02:00
SquidDev
add046cbda
Remap all blocks and items to underscore_case
...
This makes block/model names a little mode consistent and should help
with porting to 1.11.2.
- Prefix all tile entities with "computercraft:".
- Change all "pascalCase" and "CC-*" items to use underscore_case
- Listen to the missing mappings event and gracefully convert
blocks/items.
2017-05-12 13:29:56 +01:00
SquidDev
9908f8c289
Do not insert empty or duplicate entries into shell history
...
If a string is empty or the same as the previous command then it will
not be inserted into history.
2017-05-11 21:01:23 +01:00
Lignum
259fe4b6b4
Remove unnecessary shell.resolveProgram call
2017-05-11 18:12:58 +02:00
SquidDev
b07f28c30c
Replace most inventory handling code with IItemHandlers
...
- Make InventoryUtil deal with item handlers instead. This
significantly simplifies the implementation, the interface now
does most of the hard work.
- Add InvWrapper item handlers to printers, disk drives and turtles
- Add IItemHandlerModifiable accessor to ITurtleAccess
- Migrate all other inventory code (mostly turtle commands) to use
item handlers instead.
2017-05-11 00:00:10 +01:00
Lignum
8acf43256c
Don't sort startup files
...
fs.list is already sorted, making this unnecessary.
2017-05-10 23:27:07 +02:00
Lignum
962e419098
Allow having a startup directory and a startup.lua file simultaneously
2017-05-10 23:21:04 +02:00
Lignum
2e7c9b163d
Enable the use of startup directories
2017-05-10 23:02:08 +02:00
SquidDev
2c63a5f9a3
Provide various error messages for file handles
...
- fs.open will return an error message if the handle cannot be read
- fs and http handles will error when reading from a closed file
2017-05-10 10:52:35 +01:00
Daniel Ratcliffe
25128dfb66
Merge pull request #224 from SquidDev-CC/feature/lowercase-models
...
Lower case most resource names
2017-05-09 20:31:24 +01:00
Daniel Ratcliffe
c049de6939
Merge pull request #221 from SquidDev-CC/feature/nullable-annotations
...
Fix several crashes caused by incorrect NonNull annotations.
2017-05-09 20:00:02 +01:00
SquidDev
82dbaece41
Lower case all resource names
...
- Lower case all model and texture names
- Move model registration code into preInit - this ensures we don't
get texture/model errors in the preInit stage.
2017-05-09 16:37:32 +01:00
SquidDev
93aea371a7
Shovel upgrade converts grass to path blocks
...
Using turtle.dig() with a shovel upgrade on a grass block will create a
path block.
Closes #127
2017-05-09 13:03:12 +01:00
SquidDev
dd63fac8af
Register TurtlePlayer in the entity registry
...
Fixes #143
2017-05-09 12:16:32 +01:00
SquidDev
8b411387f1
Fix several craches caused by incorrect NonNull annotations.
...
Awfully sorry about this. It appears that Minecraft's annotations are
occasionally wrong. IntelliJ will automatically add "not-null" checks on
these annotations, resulting in crashes when they are actually null.
2017-05-09 00:54:15 +01:00
ObloxCC
922818dfa5
Add setPaletteColor and rgb8 to help files ( #214 )
...
* Added rgb8 help
* Update colours
* Added rgb8 help
* Added setPaletteColor help
* Added setPaletteColor help
* Added setColorPalette and rgb8 to change log
* Fixed formatting
* Fixed formatting
* Fixed formatting
* Fixed formatting
* Added changes to change log
* Added changes to whatsnew
* Fixed changelog
* Fixed whatsnew
* Added setPalatteColor
* Fixed Palette spelling
* Added space after 'b'
* Added getPaletteColor
* Ddded getPaletteColor
* Added getPaletteColor()
* Added getPaletteColor
* Update changelog
* Added getPaletteColor
2017-05-07 22:24:32 +01:00
Daniel Ratcliffe
0308ec555a
Merge pull request #207 from SquidDev-CC/feature/cleanup
...
Fix a couple of warnings
2017-05-07 18:26:07 +01:00
Daniel Ratcliffe
008663c0e1
Lua fix
2017-05-07 17:42:39 +01:00
Daniel Ratcliffe
38e09920fa
Lua fix
2017-05-07 17:40:23 +01:00
Daniel Ratcliffe
6fba381a4e
Merge pull request #211 from Lignum/shell-run-lua
...
Make shell.resolveProgram pick up on *.lua files
2017-05-07 17:33:44 +01:00
Daniel Ratcliffe
e063f5a6b8
Merge pull request #197 from Lignum/colour-palettes
...
Modifiable terminal colour palette
2017-05-07 17:31:14 +01:00
Daniel Ratcliffe
0b8b39ced0
colours.rgb8(r,g,b) and colours.rgb8(c) are now the inverse of each other
2017-05-07 17:29:59 +01:00
Daniel Ratcliffe
5f22d8bac6
Enabled setTextColour/setBackgroundColour with all colours on greyscale monitors
...
It's fine, now that we have greyscale rendering
2017-05-07 17:24:45 +01:00
Daniel Ratcliffe
a5e1dad5fc
Enabled term.setText/BackgroundColour with non grey colours on greyscale monitors
...
As rendering is greyscale now, this is fine.
2017-05-07 17:22:49 +01:00
Daniel Ratcliffe
ebb7d7a8d9
Enabled window.setText/BackgroundColour with no grey colours. Some small optimisations
2017-05-07 17:19:21 +01:00
Lignum
c6abf0b890
Make shell.resolveProgram pick up on *.lua files
2017-05-07 16:21:15 +02:00
Lignum
c10e1ba78c
Get rid of setPaletteColour table overload
2017-05-07 15:04:09 +02:00
SquidDev
2e901a063d
Remove accessibility modifiers from all enums and interfaces
2017-05-07 13:35:18 +01:00
SquidDev
5a60818c99
Make many fields final
2017-05-07 13:35:18 +01:00
SquidDev
a3400ecf26
Fix all the deprecated warnings
2017-05-07 13:35:05 +01:00
SquidDev
a2fd0b1f7f
Use block comment instead of Javadoc for license
2017-05-07 13:30:10 +01:00
SquidDev
db9cd15fb3
Remove most raw types
...
This means we can remove even more casts and what not.
2017-05-07 13:30:05 +01:00
SquidDev
9af15d1e30
Remove some unnecessary constructs
...
- Replace for and while loops with for iterators
- Remove unused casts
2017-05-07 13:29:52 +01:00
SquidDev
dc5517303f
Add @Nullable and @NonNull annotations
2017-05-07 13:29:49 +01:00
Lignum
941d47908f
Oh bother
2017-05-07 13:09:51 +02:00
Lignum
0164032a4a
Allow greyscale palettes on basic computers
2017-05-07 13:04:54 +02:00
Lignum
70c2f50aa8
Un-break the non-table setPaletteColour overload
2017-05-07 12:55:16 +02:00
Lignum
54273fc6e5
Add Palette.DEFAULT
2017-05-07 12:51:06 +02:00
Lignum
4e55e03c8b
Don't sync the whole palette in window.setPaletteColour
2017-05-07 12:46:23 +02:00
Lignum
156e74b69c
setColour -> setPaletteColour
2017-05-07 12:40:31 +02:00
SquidDev
8ba5edb6e4
Minor cleanup of pocket computer upgrades
...
- General improvements of the docs.
- Move all ItemStack code to the ItemPocketComputer class
- Make PocketAPI execute on the server thread, rather than the computer
thread
2017-05-07 08:09:36 +01:00
SquidDev
5a4375f6ac
Allow changing the colour of the modem light
...
This now uses an integer between 0 and 15 to represent a colour, rather
than a simple on/off flag.
2017-05-07 08:09:36 +01:00
SquidDev
6020cd55b1
Added documentation and updated changelog/whatsnew
2017-05-07 08:09:36 +01:00
SquidDev
7f8100ae0f
Check the offhand inventory too when searching for upgrades
2017-05-07 08:08:09 +01:00
SquidDev
22631cfc63
Add .equip and .unequip methods to pocket API.
2017-05-07 08:08:09 +01:00
SquidDev
5faceac7ba
Add registry for pocket computer upgrades
2017-05-07 08:08:09 +01:00
Daniel Ratcliffe
ff16868dd8
Merge pull request #206 from Lignum/update-craftos-version
...
Set CraftOS version to 1.8
2017-05-07 00:41:58 +01:00
Lignum
287c6f172c
Allow passing RGB8 hex values to term.setColour
2017-05-07 01:16:48 +02:00
Daniel Ratcliffe
cad10fa2c7
Fixed incorrectness in os.day(). Added os.epoch()
2017-05-06 23:56:28 +01:00
Daniel Ratcliffe
58713caa73
Merge pull request #203 from SquidDev-CC/feature/turtle-models
...
Convert turtle rendering to use tinting
2017-05-06 23:56:13 +01:00
Daniel Ratcliffe
a6e3d4fd26
Merge pull request #195 from SquidDev-CC/hotfix/selection-boxes
...
Fix selection boxes not being shown
2017-05-06 23:55:45 +01:00
SquidDev
f34a319b79
Make cable collision boxes more accurate for cables
...
Each cable segment is added to the list, meaning you can get close and
snugly with the cables.
2017-05-06 23:45:15 +01:00
Lignum
1cc403191f
Add colours.rgb8(r, g, b)/colours.rgb8(hex)
2017-05-07 00:13:36 +02:00
Lignum
2c7ee1d7e7
Bump CraftOS version to 1.8
2017-05-06 23:26:45 +02:00
Daniel Ratcliffe
4b4e041f6f
Merge branch 'master' into master
2017-05-06 22:25:46 +01:00
Daniel Ratcliffe
423d5af87f
Merge pull request #191 from SquidDev-CC/feature/text-illumination
...
Make monitor text glow in the dark
2017-05-06 22:11:28 +01:00
Daniel Ratcliffe
5b6bbc3cbf
Merge pull request #200 from Lignum/fs-weak-set
...
Replace WeakHashMap for open files with a weak set
2017-05-06 21:44:28 +01:00
Lignum
a9e7acbec5
Fix monitors fetching palette when there is no terminal
2017-05-06 20:23:44 +02:00
Lignum
ac2382a861
Add setColour overload with table parameter
2017-05-06 20:22:16 +02:00
SquidDev
2f93354981
Remove dye block state property
...
It doesn't make sense to have it now as the coloured models do not exist
any more, and so would just produce errors should we try to load them.
2017-05-06 17:41:49 +01:00
SquidDev
c7f5d039b2
Use IBlockState instead of Block methods
...
There was a crash in RedstoneUtil when redstone state was changing next
to a full block due to the incorrect state being passed. By using
IBlockState methods we ensure that this cannot happen again.
The old IBlockState methods were also deprecated, so this reduces the
warning count a little. I've also moved string translation into
StringUtils, to reduce the number of deprecation warnings from there.
2017-05-06 15:31:06 +01:00
SquidDev
d652bdb0b0
Convert turtle rendering to use tinting
...
This uses Minecraft's colour tinting system in order to change the
colour of turtle models. This removes the need to have 16 models and
textures for each colour, reducing texture atlas space and hopefully
memory consumption.
See #145
2017-05-06 15:06:02 +01:00
Tim Ittermann
f1c4634dfa
os.time( ... ) now returns float
2017-05-06 14:52:02 +02:00
Tim Ittermann
f89bbeee54
Remove import
2017-05-06 14:30:19 +02:00
Tim Ittermann
e0e81a9b18
Put time functions into the OS API
2017-05-06 14:24:48 +02:00
Lignum
bfa5f6ec9c
Make palettes work properly with the window API
2017-05-05 20:23:57 +02:00
Lignum
988e9f10db
Fix compiler error
2017-05-05 19:13:52 +02:00
Lignum
b0ac48b9a3
Use some sweet tricks to have a weak set to store open files
2017-05-05 19:11:59 +02:00
Lignum
3de674dfb1
Simplify the palette payload to an int array
2017-05-05 18:47:43 +02:00
Lignum
39a56c8e55
Get rid of the PaletteColour class
...
It just took up a bunch of space. We're storing an array of float[3] now.
2017-05-05 18:22:48 +02:00
Daniel Ratcliffe
06b63980eb
Merge pull request #196 from SquidDev-CC/feature/docs
...
Fix several documentation warnings
2017-05-05 17:19:26 +01:00
Lignum
6997471280
Add palette functions to monitor peripheral
2017-05-05 18:12:33 +02:00
SquidDev
4b95ed5d53
Do not reset redstone inputs when adding peripherals
...
As of 8abff95441
, peripherals no longer
block redstone input. As this is no longer the case, redstone levels
should not be reset.
2017-05-05 17:00:44 +01:00
Lignum
088dab799e
Network the colour palette
...
Which means it actually has a visible effect! 🎉
2017-05-05 17:21:53 +02:00
SquidDev
0cdd0ea21a
Change license headers to block comments
...
This means they do not get picked up by Javadoc and friends
2017-05-05 16:16:09 +01:00
SquidDev
76e926c090
Document several undocumented arguments and exceptions
2017-05-05 16:07:18 +01:00
SquidDev
d87b0e9435
Fix selection boxes not being shown
...
getSelectedBoundingBox expects a bounding box relative to (0, 0, 0) but
we were returning one relative to the current block. Instead we allow
the default behaviour to continue, which will call getBoundingBox and
offset it.
2017-05-05 15:25:07 +01:00
Lignum
b0f0d8fd71
Add getColour/setColour to the window api
2017-05-05 16:14:13 +02:00
SquidDev
7b07921a73
General improvements to the documentation
...
- Add documentation for all undocumented methods and enums.
- Use @code, @link and @see where appropriate.
- Fix spelling in a couple of cases.
2017-05-05 14:59:11 +01:00
Lignum
56c9dec687
Add term.setColour/term.getColour
2017-05-05 15:52:21 +02:00
Lignum
936a531cd5
Add a palette class and use it for rendering
2017-05-05 15:24:29 +02:00
Daniel Ratcliffe
09215daa03
FileSystem uses a WeakHashMap to store it's open file handles
...
This means if lua code forgets to free a handle, the java GC will still
be able to collect the stream (andclose the file in the finaliser in the
process)
2017-05-05 00:54:24 +01:00
Daniel Ratcliffe
42f2235d45
Made the black colour on monitors, terminals, block and item graphics darker
...
0x111111 is now used throughout, previously there was quite a bit of
variance
2017-05-05 00:54:24 +01:00
Daniel Ratcliffe
2436d813e6
Treat a maximumFilesOpen values of 0 as unlimited
2017-05-05 00:54:23 +01:00
Lignum
4b8493baab
Terminal cursor bounds checking
2017-05-05 00:08:10 +02:00
Lignum
4e3def39e0
Render terminal cursor in a less awkward way
...
The previous way seemed weird enough to seem to have had a purpose, but I can't tell. Revert this if it turns out that there was.
2017-05-04 23:53:43 +02:00
Lignum
7e71045c7b
Remove texture coordinates from text background part
2017-05-04 23:49:08 +02:00
Lignum
2d5d5e3a9e
Use GL_TRIANGLES in FixedWidthFontRenderer
2017-05-04 23:43:05 +02:00
Lignum
c104eabcdd
Use GlStateManager where necessary, replace GL_QUADS with GL_TRIANGLE_STRIP
2017-05-04 23:38:24 +02:00
SquidDev
933bdcc6b7
Make monitor text glow in the dark
2017-05-04 22:24:39 +01:00
Tim Ittermann
45803e4a49
Replace get...() functions with properties. NOT ALL TESTED YET!
2017-05-04 23:18:03 +02:00
Daniel Ratcliffe
8abff95441
Peripherals no longer break turtle<->redstone connectivity
...
I can't think of a good reason for this feature tbh
2017-05-04 22:13:14 +01:00
Daniel Ratcliffe
f99caed4f2
Merge pull request #169 from Lignum/fd-limit
...
Configurable file descriptor limit
2017-05-04 22:12:50 +01:00
Daniel Ratcliffe
4b0a976bd6
Merge pull request #182 from SquidDev-CC/feature/turtle-upgrade-both
...
Allow turtle upgrades to act as tools and peripherals
2017-05-04 22:02:09 +01:00
Lignum
30d191df0b
Avoid casts with generic type args
2017-05-04 23:00:02 +02:00
Daniel Ratcliffe
17a3e120e8
Merge pull request #180 from boq/master
...
Handle tile entity changes
2017-05-04 21:42:34 +01:00
Daniel Ratcliffe
55b160e1bb
Merge pull request #164 from SquidDev-CC/hotfix/turtle-connectivity
...
Fix redstone connectivity on turtles
2017-05-04 21:28:08 +01:00
Daniel Ratcliffe
fa99305914
Merge pull request #168 from SquidDev-CC/hotfix/modem-model-rotation
...
Various model improvements
2017-05-04 21:08:51 +01:00
Daniel Ratcliffe
27ef182294
Merge pull request #158 from SquidDev-CC/feature/require-container
...
Require the player to be interacting with the computer when typing
2017-05-04 21:08:34 +01:00
Daniel Ratcliffe
82e76d9872
Merge pull request #184 from SquidDev-CC/hotfix/sort-list
...
Sort the result of FileSystem.list
2017-05-04 21:06:26 +01:00
Daniel Ratcliffe
2a0556fa4c
Merge pull request #185 from SquidDev-CC/hotfix/unpack-length
...
Manually specify the number of values to unpack
2017-05-04 21:05:14 +01:00
Daniel Ratcliffe
22e36fc35d
Merge pull request #178 from boq/patch-1
...
Fix compilation error
2017-05-04 21:04:14 +01:00
Daniel Ratcliffe
655a328b86
Merge pull request #174 from SquidDev-CC/hotfix/shutdown-abort
...
Send termination signals unless the computer is off
2017-05-04 21:03:40 +01:00
SquidDev
bd14223ea8
Manually specify the number of values to unpack
...
table.unpack will often stop at the first nil value, meaning some event
arguments may be discarded. By storing the number of arguments through
table.pack, and then using that count when unpacking, we can ensure all
values are returned/resumed with.
2017-05-04 10:49:41 +01:00
SquidDev
72dfb0e7cc
Sort the result of FileSystem.list
...
This ensures fs.list and fs.find always return the same result.
For some reason, the ComputerCraft jar was being packaged differently on
some platforms, causing files to appear in a different order. As
computers depend on the colors API being loaded before colours, we need
to ensure that they are loaded in a consistent order.
2017-05-03 22:29:57 +01:00
Tim Ittermann
b2cc6ec82a
Add TimeAPI to Computers APIs
2017-05-03 23:12:48 +02:00
Tim Ittermann
c1d5ae2a09
Rename src/main/java/dan200.computercraft/core/apis/TimeAPI.java to src/main/java/dan200/computercraft/core/apis/TimeAPI.java
2017-05-03 23:11:52 +02:00
Tim Ittermann
627524dcb7
Create TimeAPI.java
2017-05-03 23:10:58 +02:00
SquidDev
6b6829e22b
Use tonumber when validating message format
2017-05-03 18:39:32 +01:00
SquidDev
67eecd4b1c
Use tonumber instead of checking type
2017-05-03 18:21:14 +01:00
SquidDev
a021a072b5
Allow turtle upgrades to act as tools and peripherals
...
This may be useful when you want your tool to also provide additional
methods. For instance, a pickaxe could provide methods to check whether
it can break the block in front.
2017-05-03 17:28:54 +01:00
SquidDev
7e5970673f
Ensure GPS coordinates are numbers
...
Fixes #138
2017-05-03 16:35:45 +01:00
Bartek Bok
4eb4bb933f
Different fix for shadow turtles
2017-05-03 16:03:47 +02:00
Bartek Bok
5284b145f8
Handle tile entity changes
2017-05-03 11:36:55 +02:00
Bartek Bok
bd8769f300
Fix compilation error
2017-05-02 23:40:31 +02:00
Lignum
994dcd9f58
Localise the maximumFilesOpen setting
2017-05-02 18:29:50 +02:00
Lignum
2bfb53227a
Merge master into fd-limit
2017-05-02 18:26:45 +02:00
SquidDev
ba761a15b6
Send termination signals unless the computer is off
...
If a shutdown has been queued, then the abort message was not set. This
allowed for programs to run for a significantly longer period of time.
2017-05-02 14:04:48 +01:00
Daniel Ratcliffe
58e6e9ea46
Fixed a typo
2017-05-02 13:56:24 +01:00
Daniel Ratcliffe
4825aefccf
Merge pull request #167 from SquidDev-CC/hotfix/limit-label
...
Impose additional limitations on disk and computer labels
2017-05-02 13:54:43 +01:00
Daniel Ratcliffe
3a360a50b0
Merge pull request #166 from SquidDev-CC/feature/config-gui
...
Add config GUI
2017-05-02 13:46:01 +01:00
SquidDev
65ef8a0937
Add config GUI description to changelog/whatsnew
2017-05-02 13:35:05 +01:00
SquidDev
14d3a182d9
Fix NPE when clearing disk label
2017-05-02 13:32:53 +01:00
Daniel Ratcliffe
800e448264
Improved the wording of some of the labels in the Config UI
2017-05-02 13:28:54 +01:00
SquidDev
2fef772f3d
Use '?' for unprintable characters
2017-05-02 13:24:42 +01:00
SquidDev
c537c4fa78
Swap from builtin/generated to item/generated
...
This model has more sane defaults, meaning items are scaled to the
appropriate size.
2017-05-02 02:12:51 +01:00
Jonathan Leitschuh
2a01883177
Make threads daemon threads
...
Threads that aren't daemon threads can keep the JVM from shutting down.
I'm certain that this doesn't happen very often but if one of these
threads hangs it can cause the rest of the JVM to not shut down
when the main thread exits.
By making all threads daemon threads if the main thread terminates
the rest of these threads will shut down.
2017-05-01 20:34:28 -04:00
SquidDev
c190ec5147
Do not limit labels to the ASCII range.
...
This should accept all printable characters that ComputerCraft can
handle.
2017-05-02 00:20:46 +01:00
Lignum
6ff9db89cc
Fix file handle leak
2017-05-02 00:44:33 +02:00
Lignum
2a1e110a65
Make the file descriptor limit configurable
2017-05-02 00:17:16 +02:00
SquidDev
d08b47db93
Preserve default values in configuration
...
Before we were setting the default as the previous value each time. Here
we store each property in a separate field, allowing us to access them
without setting a default.
2017-05-01 23:14:06 +01:00
Lignum
2d0690e625
Add file descriptor limit
2017-05-02 00:05:42 +02:00
SquidDev
876df68294
Rotate modem models 180 degrees
...
Or pi radians. Or tau/2 radians.
This ensures the main modem texture is facing towards the screen.
2017-05-01 22:39:18 +01:00
SquidDev
b1efbdad95
Impose additional limitations on disk and computer labels
...
Closes #147
2017-05-01 22:23:54 +01:00
SquidDev
230b578a98
Add config GUI
...
This allows you to modify various settings in-game.
2017-05-01 22:14:45 +01:00
SquidDev
02ce111d9e
Invert side when checking connectivity
...
The side marks the direction relative to the wire, rather than the side
of the block it is attempting to connect to. Therefore needs to be
flipped.
Closes #149
2017-05-01 21:44:48 +01:00
SquidDev
ae04070915
Update documentation to include HTTP API changes
2017-05-01 18:05:04 +01:00
SquidDev
f2596a8547
Return string->string headers instead, joining fields with a comma.
2017-05-01 18:00:53 +01:00
SquidDev
29952d5b4f
Various extensions to the HTTP API
...
- A response is returned on the event of a HTTP error (such as 404).
- Responses include the response headers.
2017-05-01 17:35:06 +01:00
SquidDev
b2542289f0
Require the player to be interacting with the computer when typing
...
Packets will be discarded if the sending player is not currently
interacting with the appropriate computer. This ensures players cannot
control other people's computers.
This is enforced by checking if the current container is a "computer
container", and this container holds the correct computer.
2017-05-01 17:07:32 +01:00
SquidDev
b3760f58e6
Performance improvements to fs.find
...
If the path includes no wildcards then it just checks it exists.
If it does, instead of scanning the entire tree, it works out the last
directory before the wildcard and starts scanning from there.
Closes #89
2017-05-01 16:45:41 +01:00
SquidDev
bbbbccf63d
Fire all entity interaction events in TurtlePlaceCommand
...
This allows turtles to interact with entities correctly.
2017-05-01 16:14:05 +01:00
SquidDev
d050ca9849
Fix advanced computer's item model
2017-05-01 16:10:45 +01:00
SquidDev
77d225d1fe
Listen to correct block update
...
We now listen to neighborChanged instead of onNeighborChange. This means
computers correctly detect redstone updates.
However, this leads to issues when moving turtles, so we defer the block
update until the turtle has finished moving.
2017-05-01 16:08:27 +01:00
SquidDev
9b5f4a877c
Fix null bounding box being returned
...
Its usage is not always checked for null, so it is safer to return a
full block.
2017-05-01 16:04:42 +01:00
SquidDev
34cb75dfc3
Fix various tile entities not syncing correctly
...
This ensures the tile state is sent and received when it changes. This
fixes turtles facing the wrong direction and computers not turning on.
2017-05-01 16:04:36 +01:00
SquidDev
43d68db349
Add missing classes
2017-05-01 16:02:47 +01:00
Daniel Ratcliffe
b202b7b8a5
Converted tabs to spaces throughout
2017-05-01 15:48:44 +01:00
Daniel Ratcliffe
7d497f2835
ComputerCraft 1.80pr0
...
Updated the source code to the version shipped as the 1.80pr0 alpha
release. Also removed some unnecessary files from the LuaJ subfolder
which were bulking up the repository.
2017-05-01 14:51:26 +01:00
Daniel Ratcliffe
e85cdacbc5
ComputerCraft 1.79 initial upload
...
Added the complete source code to ComputerCraft 1.79 for Minecraft
1.8.9, plus newly written README and LICENSE files for the open source
release.
2017-05-01 14:32:39 +01:00