1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-01-12 10:20:28 +00:00
Modernized/improved/actually updated version of ComputerCraft: https://tweaked.cc
Go to file
SquidDev 518eefbe10 Rewrite file systems to use ByteChannels
This replaces the existing IMount openFor* method with openChannelFor*
ones, which return an appropriate byte channel instead.

As channels are not correctly closed when GCed, we introduce a
FileSystemWrapper. We store a weak reference to this, and when it is
GCed or the file closed, we will remove it from our "open file" set and
ensure any underlying buffers are closed.

While this change may seem a little odd, it does introduce some
benefits:

 - We can replace JarMount with a more general FileSystemMount. This
   does assume a read-only file system, but could technically be used
   for other sources.

 - Add support for seekable (binary) handles. We can now look for
   instances of SeekableByteChannel and dynamically add it. This works
   for all binary filesystem and HTTP streams.

 - Rewrite the io library to more accurately emulate PUC Lua's
   implementation. We do not correctly implement some elements (most
   noticably "*n", but it's a definite improvement.
2018-09-26 10:00:17 +01:00
gradle/wrapper ComputerCraft 1.79 initial upload 2017-05-01 14:32:39 +01:00
libs ComputerCraft 1.79 initial upload 2017-05-01 14:32:39 +01:00
luaj-2.0.3 ComputerCraft 1.80pr0 2017-05-01 14:51:26 +01:00
src/main Rewrite file systems to use ByteChannels 2018-09-26 10:00:17 +01:00
.gitignore Ignore .DS_Store files 2017-09-12 00:05:26 +01:00
.travis.yml Build against Oracle JDK 8 instead 2017-09-10 20:45:24 +01:00
build_luaj.sh ComputerCraft 1.79 initial upload 2017-05-01 14:32:39 +01:00
build.gradle 1.80pr1 2017-09-12 00:11:19 +01:00
codesize.sh codesize.sh now only counts lua files 2017-05-28 12:18:12 +01:00
deploy.sh Changed permissions on deploy.sh 2017-05-16 21:57:57 +01:00
gradlew Make gradlew executable by default 2017-05-01 11:43:41 -04:00
gradlew.bat Added windows setup script 2017-05-04 21:14:28 +01:00
LICENSE Fixed possible Typo. (#337) 2017-06-28 21:39:54 +01:00
LICENSE-luaj ComputerCraft 1.79 initial upload 2017-05-01 14:32:39 +01:00
README.md Fixed some typos 2017-05-02 13:18:20 +01:00
setup.bat Added windows setup script 2017-05-04 21:14:28 +01:00
setup.sh ComputerCraft 1.80pr0 2017-05-01 14:51:26 +01:00

ComputerCraft

Build Status

ComputerCraft is a Minecraft modification which adds programmable Robots and Computers to the world of Minecraft. If you're not familiar with ComputerCraft, visit the Website or the Wiki to find out more.

About this Repository

ComputerCraft was originally released in late 2011 by Daniel Ratcliffe. In early 2017, after working on the mod solo for five years, it was decided to release the source code publicly to allow Dan to devote time to other projects. This repository marks the first public release of this source code.

The code in this repository will always represent the "bleeding edge" of the ComputerCraft codebase, but stable builds back to 1.79 will be marked on the Releases page.

Contributing

While ComputerCraft will no longer be actively developed by Daniel Ratcliffe, you may still contribute pull requests which will be reviewed and incorporated into releases periodically. A pull request is more likely to be accepted if it meets the following criteria:

  • It does not add any new dependencies for compiling, running or using the mod.
  • It does not break compatibility with world saves or programs created with previous versions of the mod.
  • It does not add unneccessary complexity for users of the mod, and maintains the accessibility for which the mod is known.
  • It does not add unneccessary complexity or stylistic changes to the code, especially where functionality is not being changed.
  • It does not create bugs!

The pull requests most likely to be accepted are those which fix bugs, simplify code, or make the mod compatible with newer versions of Minecraft.