1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-06-25 22:53:22 +00:00
Modernized/improved/actually updated version of ComputerCraft: https://tweaked.cc
Go to file
Jonathan Coates 591a7eca23
Clean up how we enumerate Lua/peripheral methods
- Move several interfaces out of `d00.computercraft.core.asm` into a
   new `aethods` package. It may make sense to expose this to the
   public API in a future commit (possibly part of #1462).

 - Add a new MethodSupplier<T> interface, which provides methods to
   iterate over all methods exported by an object (either directly, or
   including those from ObjectSources).

   This interface's concrete implementation (asm.MethodSupplierImpl),
   uses Generators and IntCaches as before - we can now make that all
   package-private though, which is nice!

 - Make the LuaMethod and PeripheralMethod MethodSupplier local to the
   ComputerContext. This currently has no effect (the underlying
   Generator is still global), but eventually we'll make GenericMethods
   non-global, which unlocks the door for #1382.

 - Update everything to use this new interface. This is mostly pretty
   sensible, but is a little uglier on the MC side (especially in
   generic peripherals), as we need to access the global ServerContext.
2023-06-26 19:42:42 +01:00
.github Publish docs for 1.20 as well 2023-06-25 09:47:56 +01:00
.reuse Fix image links in Modrinth description 2023-05-24 22:35:45 +01:00
buildSrc Render the computer cursor as emissive 2023-06-17 18:02:05 +01:00
config Further licensing work 2023-03-29 23:00:18 +01:00
doc Fix image links in Modrinth description 2023-05-24 22:35:45 +01:00
gradle Add ability to serialize Unicode strings to JSON (#1489) 2023-06-18 21:42:28 +00:00
LICENSES License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
projects Clean up how we enumerate Lua/peripheral methods 2023-06-26 19:42:42 +01:00
tools License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
.editorconfig License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
.git-blame-ignore-revs License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
.gitattributes Force LF for .kts files too 2023-05-17 13:28:03 +01:00
.gitignore Turtle flags 2023-03-31 18:14:44 +01:00
.gitpod.yml Further licensing work 2023-03-29 23:00:18 +01:00
.pre-commit-config.yaml License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
build.gradle.kts License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
CODE_OF_CONDUCT.md License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
CONTRIBUTING.md License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
gradle.properties Bump CC:T to 1.104.0 2023-06-10 08:55:07 +01:00
gradlew Bump dependency versions 2023-03-14 18:43:42 +00:00
gradlew.bat Bump dependency versions 2023-03-14 18:43:42 +00:00
illuaminate.sexp License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00
package-lock.json Bump dependency versions 2023-03-14 18:43:42 +00:00
package.json Bump dependency versions 2023-03-14 18:43:42 +00:00
README.md Some README cleanup 2023-04-06 18:18:40 +01:00
settings.gradle.kts License CC:T according to the REUSE specification (#1351) 2023-03-15 21:52:13 +00:00

CC: Tweaked

Current build status Download CC: Tweaked on CurseForge Download CC: Tweaked on Modrinth

CC: Tweaked is a mod for Minecraft which adds programmable computers, turtles and more to the game. A fork of the much-beloved ComputerCraft, it continues its legacy with improved performance and stability, along with a wealth of new features.

CC: Tweaked can be installed from CurseForge or Modrinth. It runs on both Minecraft Forge and Fabric.

Contributing

Any contribution is welcome, be that using the mod, reporting bugs or contributing code. If you want to get started developing the mod, check out the instructions here.

Community

If you need help getting started with CC: Tweaked, want to show off your latest project, or just want to chat about ComputerCraft, do check out our forum and GitHub discussions page! There's also a fairly populated, albeit quiet IRC channel, if that's more your cup of tea.

We also host fairly comprehensive documentation at tweaked.cc.

Using

CC: Tweaked is hosted on my maven repo, and so is relatively simple to depend on. You may wish to add a soft (or hard) dependency in your mods.toml file, with the appropriate version bounds, to ensure that API functionality you depend on is present.

repositories {
  maven {
    url "https://squiddev.cc/maven/"
    content {
      includeGroup("cc.tweaked")
      includeModule("org.squiddev", "Cobalt")
    }
  }
}

dependencies {
  // Vanilla (i.e. for multi-loader systems)
  compileOnly("cc.tweaked:cc-tweaked-$mcVersion-common-api")

  // Forge Gradle
  compileOnly("cc.tweaked:cc-tweaked-$mcVersion-core-api:$cctVersion")
  compileOnly(fg.deobf("cc.tweaked:cc-tweaked-$mcVersion-forge-api:$cctVersion"))
  runtimeOnly(fg.deobf("cc.tweaked:cc-tweaked-$mcVersion-forge:$cctVersion"))

  // Fabric Loom
  modCompileOnly("cc.tweaked:cc-tweaked-$mcVersion-fabric-api:$cctVersion")
  modRuntimeOnly("cc.tweaked:cc-tweaked-$mcVersion-fabric:$cctVersion")
}

You should also be careful to only use classes within the dan200.computercraft.api package. Non-API classes are subject to change at any point. If you depend on functionality outside the API, file an issue, and we can look into exposing more features.

We bundle the API sources with the jar, so documentation should be easily viewable within your editor. Alternatively, the generated documentation can be browsed online.