mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-10-20 16:37:39 +00:00
Compare commits
5 Commits
v1.15.2-1.
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1da86d6f75 | ||
![]() |
53a23f8d3d | ||
![]() |
550f63b1cb | ||
![]() |
416e87852e | ||
![]() |
7940687df2 |
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -1,2 +0,0 @@
|
|||||||
# Ignore changes in generated files
|
|
||||||
src/generated/resources/data/** linguist-generated
|
|
1
.github/ISSUE_TEMPLATE/bug_report.md
vendored
1
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -12,5 +12,4 @@ labels: bug
|
|||||||
## Useful information to include:
|
## Useful information to include:
|
||||||
- Minecraft version
|
- Minecraft version
|
||||||
- CC: Tweaked version
|
- CC: Tweaked version
|
||||||
- Logs: These will be located in the `logs/` directory of your Minecraft instance. Please upload them as a gist or directly into this editor.
|
|
||||||
- Detailed reproduction steps: sometimes I can spot a bug pretty easily, but often it's much more obscure. The more information I have to help reproduce it, the quicker it'll get fixed.
|
- Detailed reproduction steps: sometimes I can spot a bug pretty easily, but often it's much more obscure. The more information I have to help reproduce it, the quicker it'll get fixed.
|
||||||
|
49
.github/workflows/main-ci.yml
vendored
49
.github/workflows/main-ci.yml
vendored
@@ -1,49 +0,0 @@
|
|||||||
name: Build
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Java 8
|
|
||||||
uses: actions/setup-java@v1
|
|
||||||
with:
|
|
||||||
java-version: 8
|
|
||||||
|
|
||||||
- name: Cache gradle dependencies
|
|
||||||
uses: actions/cache@v1
|
|
||||||
with:
|
|
||||||
path: ~/.gradle/caches
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('gradle.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
|
|
||||||
- name: Build with Gradle
|
|
||||||
run: ./gradlew build --no-daemon || ./gradlew build --no-daemon
|
|
||||||
|
|
||||||
- name: Upload Jar
|
|
||||||
uses: actions/upload-artifact@v1
|
|
||||||
with:
|
|
||||||
name: CC-Tweaked
|
|
||||||
path: build/libs
|
|
||||||
|
|
||||||
- name: Upload Coverage
|
|
||||||
run: bash <(curl -s https://codecov.io/bash)
|
|
||||||
|
|
||||||
- name: Generate Java documentation stubs
|
|
||||||
run: ./gradlew luaJavadoc --no-daemon
|
|
||||||
|
|
||||||
- name: Lint Lua code
|
|
||||||
run: |
|
|
||||||
test -d bin || mkdir bin
|
|
||||||
test -f bin/illuaminate || wget -q -Obin/illuaminate https://squiddev.cc/illuaminate/linux-x86-64/illuaminate
|
|
||||||
chmod +x bin/illuaminate
|
|
||||||
bin/illuaminate lint
|
|
||||||
|
|
||||||
- name: Check whitespace
|
|
||||||
run: python3 tools/check-lines.py
|
|
16
.github/workflows/make-doc.sh
vendored
16
.github/workflows/make-doc.sh
vendored
@@ -1,16 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
DEST="${GITHUB_REF#refs/*/}"
|
|
||||||
echo "Uploading docs to https://tweaked.cc/$DEST"
|
|
||||||
|
|
||||||
# Setup ssh key
|
|
||||||
mkdir -p "$HOME/.ssh/"
|
|
||||||
echo "$SSH_KEY" > "$HOME/.ssh/key"
|
|
||||||
chmod 600 "$HOME/.ssh/key"
|
|
||||||
|
|
||||||
# And upload
|
|
||||||
rsync -avc -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no -p $SSH_PORT" \
|
|
||||||
"$GITHUB_WORKSPACE/doc/" \
|
|
||||||
"$SSH_USER@$SSH_HOST:/var/www/tweaked.cc/$DEST"
|
|
52
.github/workflows/make-doc.yml
vendored
52
.github/workflows/make-doc.yml
vendored
@@ -1,52 +0,0 @@
|
|||||||
name: Build documentation
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- mc-1.15.x
|
|
||||||
tags:
|
|
||||||
release:
|
|
||||||
types: [ published ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
make_doc:
|
|
||||||
name: Build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
|
|
||||||
- name: Set up Java 8
|
|
||||||
uses: actions/setup-java@v1
|
|
||||||
with:
|
|
||||||
java-version: 8
|
|
||||||
|
|
||||||
- name: Cache gradle dependencies
|
|
||||||
uses: actions/cache@v1
|
|
||||||
with:
|
|
||||||
path: ~/.gradle/caches
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('gradle.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
|
|
||||||
- name: Build with Gradle
|
|
||||||
run: ./gradlew compileJava --no-daemon || ./gradlew compileJava --no-daemon
|
|
||||||
|
|
||||||
- name: Generate Java documentation stubs
|
|
||||||
run: ./gradlew luaJavadoc --no-daemon
|
|
||||||
|
|
||||||
- name: Build documentation
|
|
||||||
run: |
|
|
||||||
test -d bin || mkdir bin
|
|
||||||
test -f bin/illuaminate || wget -q -Obin/illuaminate https://squiddev.cc/illuaminate/linux-x86-64/illuaminate
|
|
||||||
chmod +x bin/illuaminate
|
|
||||||
bin/illuaminate doc-gen
|
|
||||||
|
|
||||||
- name: Upload documentation
|
|
||||||
run: .github/workflows/make-doc.sh 2> /dev/null
|
|
||||||
env:
|
|
||||||
SSH_KEY: ${{ secrets.SSH_KEY }}
|
|
||||||
SSH_USER: ${{ secrets.SSH_USER }}
|
|
||||||
SSH_HOST: ${{ secrets.SSH_HOST }}
|
|
||||||
SSH_PORT: ${{ secrets.SSH_PORT }}
|
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -4,7 +4,6 @@
|
|||||||
/build
|
/build
|
||||||
/out
|
/out
|
||||||
/doc/**/*.html
|
/doc/**/*.html
|
||||||
/doc/javadoc/
|
|
||||||
/doc/index.json
|
/doc/index.json
|
||||||
|
|
||||||
# Runtime directories
|
# Runtime directories
|
||||||
@@ -24,5 +23,3 @@
|
|||||||
.settings/
|
.settings/
|
||||||
bin/
|
bin/
|
||||||
*.launch
|
*.launch
|
||||||
|
|
||||||
/src/generated/resources/.cache
|
|
||||||
|
@@ -10,10 +10,10 @@ do use the issue templates - they provide a useful hint on what information to p
|
|||||||
|
|
||||||
## Developing
|
## Developing
|
||||||
In order to develop CC: Tweaked, you'll need to download the source code and then run it. This is a pretty simple
|
In order to develop CC: Tweaked, you'll need to download the source code and then run it. This is a pretty simple
|
||||||
process. When building on Windows, Use `gradlew.bat` instead of `./gradlew`.
|
process.
|
||||||
|
|
||||||
- **Clone the repository:** `git clone https://github.com/SquidDev-CC/CC-Tweaked.git && cd CC-Tweaked`
|
- **Clone the repository:** `git clone https://github.com/SquidDev-CC/CC-Tweaked.git && cd CC-Tweaked`
|
||||||
- **Setup Forge:** `./gradlew build`
|
- **Setup Forge:** `./gradlew setupDecompWorkspace`
|
||||||
- **Run Minecraft:** `./gradlew runClient` (or run the `GradleStart` class from your IDE).
|
- **Run Minecraft:** `./gradlew runClient` (or run the `GradleStart` class from your IDE).
|
||||||
|
|
||||||
If you want to run CC:T in a normal Minecraft instance, run `./gradlew build` and copy the `.jar` from `build/libs`.
|
If you want to run CC:T in a normal Minecraft instance, run `./gradlew build` and copy the `.jar` from `build/libs`.
|
||||||
@@ -29,13 +29,8 @@ are run whenever you submit a PR, it's often useful to run this before committin
|
|||||||
- **[illuaminate]:** Checks Lua code for semantic and styleistic issues. See [the usage section][illuaminate-usage] for
|
- **[illuaminate]:** Checks Lua code for semantic and styleistic issues. See [the usage section][illuaminate-usage] for
|
||||||
how to download and run it.
|
how to download and run it.
|
||||||
|
|
||||||
## Translations
|
|
||||||
Translations are managed through [Weblate], an online interface for managing language strings. This is synced
|
|
||||||
automatically with GitHub, so please don't submit PRs adding/changing translations!
|
|
||||||
|
|
||||||
[new-issue]: https://github.com/SquidDev-CC/CC-Tweaked/issues/new/choose "Create a new issue"
|
[new-issue]: https://github.com/SquidDev-CC/CC-Tweaked/issues/new/choose "Create a new issue"
|
||||||
[community]: README.md#Community "Get in touch with the community."
|
[community]: README.md#Community "Get in touch with the community."
|
||||||
[checkstyle]: https://checkstyle.org/
|
[checkstyle]: https://checkstyle.org/
|
||||||
[illuaminate]: https://github.com/SquidDev/illuaminate/
|
[illuaminate]: https://github.com/SquidDev/illuaminate/
|
||||||
[illuaminate-usage]: https://github.com/SquidDev/illuaminate/blob/master/README.md#usage
|
[illuaminate-usage]: https://github.com/SquidDev/illuaminate/blob/master/README.md#usage
|
||||||
[weblate]: https://i18n.tweaked.cc/projects/cc-tweaked/minecraft/
|
|
||||||
|
@@ -60,7 +60,7 @@ dependencies {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fg.deobf("org.squiddev:cc-tweaked-${mc_version}:${cct_version}")
|
implementation "org.squiddev:cc-tweaked-${mc_version}:${cct_version}"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
155
build.gradle
155
build.gradle
@@ -1,7 +1,8 @@
|
|||||||
|
|
||||||
|
// For those who want the bleeding edge
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
mavenCentral()
|
|
||||||
maven {
|
maven {
|
||||||
name = "forge"
|
name = "forge"
|
||||||
url = "https://files.minecraftforge.net/maven"
|
url = "https://files.minecraftforge.net/maven"
|
||||||
@@ -9,8 +10,8 @@ buildscript {
|
|||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.google.code.gson:gson:2.8.1'
|
classpath 'com.google.code.gson:gson:2.8.1'
|
||||||
classpath 'net.minecraftforge.gradle:ForgeGradle:3.0.179'
|
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
|
||||||
classpath 'net.sf.proguard:proguard-gradle:6.1.0beta2'
|
classpath 'net.sf.proguard:proguard-gradle:6.1.0beta1'
|
||||||
classpath 'org.ajoberstar.grgit:grgit-gradle:3.0.0'
|
classpath 'org.ajoberstar.grgit:grgit-gradle:3.0.0'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,7 +24,7 @@ plugins {
|
|||||||
id "com.github.breadmoirai.github-release" version "2.2.4"
|
id "com.github.breadmoirai.github-release" version "2.2.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'net.minecraftforge.gradle'
|
apply plugin: 'net.minecraftforge.gradle.forge'
|
||||||
apply plugin: 'org.ajoberstar.grgit'
|
apply plugin: 'org.ajoberstar.grgit'
|
||||||
apply plugin: 'maven-publish'
|
apply plugin: 'maven-publish'
|
||||||
apply plugin: 'maven'
|
apply plugin: 'maven'
|
||||||
@@ -33,96 +34,48 @@ version = mod_version
|
|||||||
group = "org.squiddev"
|
group = "org.squiddev"
|
||||||
archivesBaseName = "cc-tweaked-${mc_version}"
|
archivesBaseName = "cc-tweaked-${mc_version}"
|
||||||
|
|
||||||
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'
|
|
||||||
|
|
||||||
minecraft {
|
minecraft {
|
||||||
runs {
|
version = "${mc_version}-${forge_version}"
|
||||||
client {
|
runDir = "run"
|
||||||
workingDirectory project.file('run')
|
replace '${version}', mod_version
|
||||||
property 'forge.logging.markers', 'REGISTRIES'
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
|
||||||
|
|
||||||
mods {
|
mappings = mappings_version
|
||||||
computercraft {
|
makeObfSourceJar = false
|
||||||
source sourceSets.main
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
workingDirectory project.file("run/server-${mc_version}")
|
|
||||||
property 'forge.logging.markers', 'REGISTRIES,REGISTRYDUMP'
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
|
||||||
|
|
||||||
mods {
|
|
||||||
computercraft {
|
|
||||||
source sourceSets.main
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
data {
|
|
||||||
workingDirectory project.file('run')
|
|
||||||
property 'forge.logging.markers', 'REGISTRIES,REGISTRYDUMP'
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
|
||||||
|
|
||||||
args '--mod', 'computercraft', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
|
|
||||||
mods {
|
|
||||||
computercraft {
|
|
||||||
source sourceSets.main
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mappings channel: 'snapshot', version: "${mappings_version}".toString()
|
|
||||||
|
|
||||||
accessTransformer file('src/main/resources/META-INF/accesstransformer.cfg')
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
main.resources {
|
|
||||||
srcDir 'src/generated/resources'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
|
||||||
maven {
|
maven {
|
||||||
name "SquidDev"
|
name "SquidDev"
|
||||||
url "https://squiddev.cc/maven"
|
url "https://squiddev.cc/maven"
|
||||||
}
|
}
|
||||||
|
ivy {
|
||||||
|
name "Charset"
|
||||||
|
artifactPattern "https://asie.pl/files/mods/Charset/LibOnly/[module]-[revision](-[classifier]).[ext]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
shade
|
shade
|
||||||
compile.extendsFrom shade
|
compile.extendsFrom shade
|
||||||
deployerJars
|
deployerJars
|
||||||
cctJavadoc
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
checkstyle "com.puppycrawl.tools:checkstyle:8.25"
|
checkstyle "com.puppycrawl.tools:checkstyle:8.25"
|
||||||
|
|
||||||
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
|
deobfProvided "CraftTweaker2:CraftTweaker2-MC1120-Main:1.12-4.1.20.554"
|
||||||
|
deobfProvided "MCMultiPart2:MCMultiPart:2.5.3"
|
||||||
|
deobfProvided "mezz.jei:jei_1.12.2:4.15.0.269:api"
|
||||||
|
deobfProvided "pl.asie:Charset-Lib:0.5.4.6"
|
||||||
|
|
||||||
compileOnly fg.deobf("mezz.jei:jei-1.15.2:6.0.0.3:api")
|
runtime "mezz.jei:jei_1.12.2:4.15.0.269"
|
||||||
compileOnly fg.deobf("com.blamejared.crafttweaker:CraftTweaker-1.15.2:6.0.0.9")
|
|
||||||
|
|
||||||
runtimeOnly fg.deobf("mezz.jei:jei-1.15.2:6.0.0.3")
|
shade 'org.squiddev:Cobalt:0.5.5'
|
||||||
|
|
||||||
compileOnly 'com.google.auto.service:auto-service:1.0-rc7'
|
|
||||||
annotationProcessor 'com.google.auto.service:auto-service:1.0-rc7'
|
|
||||||
|
|
||||||
shade 'org.squiddev:Cobalt:0.5.1-SNAPSHOT'
|
|
||||||
|
|
||||||
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.4.2'
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.4.2'
|
||||||
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.4.2'
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.4.2'
|
||||||
testImplementation 'org.hamcrest:hamcrest:2.2'
|
|
||||||
|
|
||||||
deployerJars "org.apache.maven.wagon:wagon-ssh:3.0.0"
|
deployerJars "org.apache.maven.wagon:wagon-ssh:3.0.0"
|
||||||
|
|
||||||
cctJavadoc 'cc.tweaked:cct-javadoc:1.1.0'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compile tasks
|
// Compile tasks
|
||||||
@@ -131,35 +84,11 @@ javadoc {
|
|||||||
include "dan200/computercraft/api/**/*.java"
|
include "dan200/computercraft/api/**/*.java"
|
||||||
}
|
}
|
||||||
|
|
||||||
task luaJavadoc(type: Javadoc) {
|
|
||||||
description "Generates documentation for Java-side Lua functions."
|
|
||||||
group "documentation"
|
|
||||||
|
|
||||||
source = sourceSets.main.allJava
|
|
||||||
destinationDir = file("doc/javadoc")
|
|
||||||
classpath = sourceSets.main.compileClasspath
|
|
||||||
|
|
||||||
options.docletpath = configurations.cctJavadoc.files as List
|
|
||||||
options.doclet = "cc.tweaked.javadoc.LuaDoclet"
|
|
||||||
|
|
||||||
// Attempt to run under Java 11 (any Java >= 9 will work though).
|
|
||||||
if(System.getProperty("java.version").startsWith("1.")
|
|
||||||
&& (System.getenv("JAVA_HOME_11_X64") != null || project.hasProperty("java11Home"))) {
|
|
||||||
executable = "${System.getenv("JAVA_HOME_11_X64") ?: project.property("java11Home")}/bin/javadoc"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
dependsOn javadoc
|
dependsOn javadoc
|
||||||
|
|
||||||
manifest {
|
manifest {
|
||||||
attributes(["Specification-Title": "computercraft",
|
attributes('FMLAT': 'computercraft_at.cfg')
|
||||||
"Specification-Vendor": "SquidDev",
|
|
||||||
"Specification-Version": "1",
|
|
||||||
"Implementation-Title": "CC: Tweaked",
|
|
||||||
"Implementation-Version": "${mod_version}",
|
|
||||||
"Implementation-Vendor" :"SquidDev",
|
|
||||||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
from (sourceSets.main.allSource) {
|
from (sourceSets.main.allSource) {
|
||||||
@@ -171,10 +100,12 @@ jar {
|
|||||||
|
|
||||||
[compileJava, compileTestJava].forEach {
|
[compileJava, compileTestJava].forEach {
|
||||||
it.configure {
|
it.configure {
|
||||||
options.compilerArgs << "-Xlint" << "-Xlint:-processing"
|
options.compilerArgs << "-Xlint" << "-Xlint:-processing" << "-Werror"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import java.nio.charset.StandardCharsets
|
import java.nio.charset.StandardCharsets
|
||||||
import java.nio.file.*
|
import java.nio.file.*
|
||||||
import java.util.zip.*
|
import java.util.zip.*
|
||||||
@@ -205,15 +136,14 @@ task proguard(type: ProGuardTask, dependsOn: jar) {
|
|||||||
// We want to avoid as much obfuscation as possible. We're only doing this to shrink code size.
|
// We want to avoid as much obfuscation as possible. We're only doing this to shrink code size.
|
||||||
dontobfuscate; dontoptimize; keepattributes; keepparameternames
|
dontobfuscate; dontoptimize; keepattributes; keepparameternames
|
||||||
|
|
||||||
|
// Tell ProGuard to shut up
|
||||||
|
dontwarn 'org.checkerframework.**'
|
||||||
|
|
||||||
// Proguard will remove directories by default, but that breaks JarMount.
|
// Proguard will remove directories by default, but that breaks JarMount.
|
||||||
keepdirectories 'data/computercraft/lua**'
|
keepdirectories 'assets/computercraft/lua**'
|
||||||
|
|
||||||
// Preserve ComputerCraft classes - we only want to strip shadowed files.
|
// Preserve ComputerCraft classes - we only want to strip shadowed files.
|
||||||
keep 'class dan200.computercraft.** { *; }'
|
keep 'class dan200.computercraft.** { *; }'
|
||||||
|
|
||||||
// LWJGL and Apache bundle Java 9 versions, which is great, but rather breaks Proguard
|
|
||||||
dontwarn 'module-info'
|
|
||||||
dontwarn 'org.apache.**,org.lwjgl.**'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task proguardMove(dependsOn: proguard) {
|
task proguardMove(dependsOn: proguard) {
|
||||||
@@ -229,6 +159,8 @@ task proguardMove(dependsOn: proguard) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reobfJar.dependsOn proguardMove
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
inputs.property "version", mod_version
|
inputs.property "version", mod_version
|
||||||
inputs.property "mcversion", mc_version
|
inputs.property "mcversion", mc_version
|
||||||
@@ -249,8 +181,8 @@ processResources {
|
|||||||
inputs.property "commithash", hash
|
inputs.property "commithash", hash
|
||||||
|
|
||||||
from(sourceSets.main.resources.srcDirs) {
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
include 'META-INF/mods.toml'
|
include 'mcmod.info'
|
||||||
include 'data/computercraft/lua/rom/help/credits.txt'
|
include 'assets/computercraft/lua/rom/help/credits.txt'
|
||||||
|
|
||||||
expand 'version': mod_version,
|
expand 'version': mod_version,
|
||||||
'mcversion': mc_version,
|
'mcversion': mc_version,
|
||||||
@@ -258,12 +190,12 @@ processResources {
|
|||||||
}
|
}
|
||||||
|
|
||||||
from(sourceSets.main.resources.srcDirs) {
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
exclude 'META-INF/mods.toml'
|
exclude 'mcmod.info'
|
||||||
exclude 'data/computercraft/lua/rom/help/credits.txt'
|
exclude 'assets/computercraft/lua/rom/help/credits.txt'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task compressJson(dependsOn: jar) {
|
task compressJson(dependsOn: extractAnnotationsJar) {
|
||||||
group "compact"
|
group "compact"
|
||||||
description "Minifies all JSON files, stripping whitespace"
|
description "Minifies all JSON files, stripping whitespace"
|
||||||
|
|
||||||
@@ -328,7 +260,7 @@ license {
|
|||||||
mapping("java", "SLASHSTAR_STYLE")
|
mapping("java", "SLASHSTAR_STYLE")
|
||||||
strictCheck true
|
strictCheck true
|
||||||
|
|
||||||
ext.year = Calendar.getInstance().get(Calendar.YEAR)
|
ext.year = 2020
|
||||||
}
|
}
|
||||||
|
|
||||||
[licenseMain, licenseFormatMain].forEach {
|
[licenseMain, licenseFormatMain].forEach {
|
||||||
@@ -370,14 +302,14 @@ task checkRelease {
|
|||||||
description "Verifies that everything is ready for a release"
|
description "Verifies that everything is ready for a release"
|
||||||
|
|
||||||
inputs.property "version", mod_version
|
inputs.property "version", mod_version
|
||||||
inputs.file("src/main/resources/data/computercraft/lua/rom/help/changelog.txt")
|
inputs.file("src/main/resources/assets/computercraft/lua/rom/help/changelog.txt")
|
||||||
inputs.file("src/main/resources/data/computercraft/lua/rom/help/whatsnew.txt")
|
inputs.file("src/main/resources/assets/computercraft/lua/rom/help/whatsnew.txt")
|
||||||
|
|
||||||
doLast {
|
doLast {
|
||||||
def ok = true
|
def ok = true
|
||||||
|
|
||||||
// Check we're targetting the current version
|
// Check we're targetting the current version
|
||||||
def whatsnew = new File("src/main/resources/data/computercraft/lua/rom/help/whatsnew.txt").readLines()
|
def whatsnew = new File("src/main/resources/assets/computercraft/lua/rom/help/whatsnew.txt").readLines()
|
||||||
if (whatsnew[0] != "New features in CC: Tweaked $mod_version") {
|
if (whatsnew[0] != "New features in CC: Tweaked $mod_version") {
|
||||||
ok = false
|
ok = false
|
||||||
project.logger.error("Expected `whatsnew.txt' to target $mod_version.")
|
project.logger.error("Expected `whatsnew.txt' to target $mod_version.")
|
||||||
@@ -394,7 +326,7 @@ task checkRelease {
|
|||||||
|
|
||||||
// Check whatsnew and changelog match.
|
// Check whatsnew and changelog match.
|
||||||
def versionChangelog = "# " + whatsnew.join("\n")
|
def versionChangelog = "# " + whatsnew.join("\n")
|
||||||
def changelog = new File("src/main/resources/data/computercraft/lua/rom/help/changelog.txt").getText()
|
def changelog = new File("src/main/resources/assets/computercraft/lua/rom/help/changelog.txt").getText()
|
||||||
if (!changelog.startsWith(versionChangelog)) {
|
if (!changelog.startsWith(versionChangelog)) {
|
||||||
ok = false
|
ok = false
|
||||||
project.logger.error("whatsnew and changelog are not in sync")
|
project.logger.error("whatsnew and changelog are not in sync")
|
||||||
@@ -422,7 +354,7 @@ publishing {
|
|||||||
publications {
|
publications {
|
||||||
mavenJava(MavenPublication) {
|
mavenJava(MavenPublication) {
|
||||||
from components.java
|
from components.java
|
||||||
// artifact sourceJar
|
artifact sourceJar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -482,7 +414,7 @@ githubRelease {
|
|||||||
tagName "v${mc_version}-${mod_version}"
|
tagName "v${mc_version}-${mod_version}"
|
||||||
releaseName "[${mc_version}] ${mod_version}"
|
releaseName "[${mc_version}] ${mod_version}"
|
||||||
body {
|
body {
|
||||||
"## " + new File("src/main/resources/data/computercraft/lua/rom/help/whatsnew.txt")
|
"## " + new File("src/main/resources/assets/computercraft/lua/rom/help/whatsnew.txt")
|
||||||
.readLines()
|
.readLines()
|
||||||
.takeWhile { it != 'Type "help changelog" to see the full version history.' }
|
.takeWhile { it != 'Type "help changelog" to see the full version history.' }
|
||||||
.join("\n").trim()
|
.join("\n").trim()
|
||||||
@@ -497,3 +429,6 @@ task uploadAll(dependsOn: uploadTasks) {
|
|||||||
group "upload"
|
group "upload"
|
||||||
description "Uploads to all repositories (Maven, Curse, GitHub release)"
|
description "Uploads to all repositories (Maven, Curse, GitHub release)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
runClient.outputs.upToDateWhen { false }
|
||||||
|
runServer.outputs.upToDateWhen { false }
|
||||||
|
@@ -10,10 +10,6 @@
|
|||||||
<property name="file" value="config/checkstyle/suppressions.xml" />
|
<property name="file" value="config/checkstyle/suppressions.xml" />
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
<module name="BeforeExecutionExclusionFileFilter">
|
|
||||||
<property name="fileNamePattern" value="render_old"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="TreeWalker">
|
<module name="TreeWalker">
|
||||||
<!-- Annotations -->
|
<!-- Annotations -->
|
||||||
<module name="AnnotationLocation" />
|
<module name="AnnotationLocation" />
|
||||||
@@ -114,11 +110,11 @@
|
|||||||
</module>
|
</module>
|
||||||
<module name="ParameterName" />
|
<module name="ParameterName" />
|
||||||
<module name="StaticVariableName">
|
<module name="StaticVariableName">
|
||||||
<property name="format" value="^[a-z][a-zA-Z0-9]*|CAPABILITY(_[A-Z_]+)?$" />
|
<property name="format" value="^[a-z][a-zA-Z0-9]*|CAPABILITY(_[A-Z]+)?$" />
|
||||||
<property name="applyToPrivate" value="false" />
|
<property name="applyToPrivate" value="false" />
|
||||||
</module>
|
</module>
|
||||||
<module name="StaticVariableName">
|
<module name="StaticVariableName">
|
||||||
<property name="format" value="^(s_)?[a-z][a-zA-Z0-9]*|CAPABILITY(_[A-Z_]+)?$" />
|
<property name="format" value="^(s_)?[a-z][a-zA-Z0-9]*|CAPABILITY(_[A-Z]+)?$" />
|
||||||
<property name="applyToPrivate" value="true" />
|
<property name="applyToPrivate" value="true" />
|
||||||
</module>
|
</module>
|
||||||
<module name="TypeName" />
|
<module name="TypeName" />
|
||||||
@@ -160,7 +156,7 @@
|
|||||||
<module name="WhitespaceAround">
|
<module name="WhitespaceAround">
|
||||||
<property name="allowEmptyConstructors" value="true" />
|
<property name="allowEmptyConstructors" value="true" />
|
||||||
<property name="ignoreEnhancedForColon" value="false" />
|
<property name="ignoreEnhancedForColon" value="false" />
|
||||||
<property name="tokens" value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,EQUAL,GE,GT,LAMBDA,LAND,LCURLY,LE,LITERAL_RETURN,LOR,LT,MINUS,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,QUESTION,RCURLY,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR,STAR_ASSIGN,LITERAL_ASSERT,TYPE_EXTENSION_AND" />
|
<property name="tokens" value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,DO_WHILE,EQUAL,GE,GT,LAMBDA,LAND,LCURLY,LE,LITERAL_RETURN,LOR,LT,MINUS,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,QUESTION,RCURLY,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR,STAR_ASSIGN,LITERAL_ASSERT,TYPE_EXTENSION_AND" />
|
||||||
</module>
|
</module>
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
|
@@ -9,7 +9,4 @@
|
|||||||
|
|
||||||
<!-- Do not check for missing package Javadoc. -->
|
<!-- Do not check for missing package Javadoc. -->
|
||||||
<suppress checks="JavadocStyle" files=".*[\\/]package-info.java" />
|
<suppress checks="JavadocStyle" files=".*[\\/]package-info.java" />
|
||||||
|
|
||||||
<!-- The commands API is documented in Lua. -->
|
|
||||||
<suppress checks="SummaryJavadocCheck" files=".*[\\/]CommandAPI.java" />
|
|
||||||
</suppressions>
|
</suppressions>
|
||||||
|
77
doc/stub/commands.lua
Normal file
77
doc/stub/commands.lua
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
--- Execute a specific command.
|
||||||
|
--
|
||||||
|
-- @tparam string command The command to execute.
|
||||||
|
-- @treturn boolean Whether the command executed successfully.
|
||||||
|
-- @treturn { string... } The output of this command, as a list of lines.
|
||||||
|
-- @treturn number|nil The number of "affected" objects, or `nil` if the command
|
||||||
|
-- failed. The definition of this varies from command to command.
|
||||||
|
-- @usage Set the block above the command computer to stone.
|
||||||
|
--
|
||||||
|
-- commands.exec("setblock ~ ~1 ~ minecraft:stone")
|
||||||
|
function exec(command) end
|
||||||
|
|
||||||
|
--- Asynchronously execute a command.
|
||||||
|
--
|
||||||
|
-- Unlike @{exec}, this will immediately return, instead of waiting for the
|
||||||
|
-- command to execute. This allows you to run multiple commands at the same
|
||||||
|
-- time.
|
||||||
|
--
|
||||||
|
-- When this command has finished executing, it will queue a `task_complete`
|
||||||
|
-- event containing the result of executing this command (what @{exec} would
|
||||||
|
-- return).
|
||||||
|
--
|
||||||
|
-- @tparam string command The command to execute.
|
||||||
|
-- @treturn number The "task id". When this command has been executed, it will
|
||||||
|
-- queue a `task_complete` event with a matching id.
|
||||||
|
-- @usage Asynchronously sets the block above the computer to stone.
|
||||||
|
--
|
||||||
|
-- commands.execAsync("~ ~1 ~ minecraft:stone")
|
||||||
|
-- @see parallel One may also use the parallel API to run multiple commands at
|
||||||
|
-- once.
|
||||||
|
function execAsync(commad) end
|
||||||
|
|
||||||
|
--- List all available commands which the computer has permission to execute.
|
||||||
|
--
|
||||||
|
-- @treturn { string... } A list of all available commands
|
||||||
|
function list() end
|
||||||
|
|
||||||
|
--- Get the position of the current command computer.
|
||||||
|
--
|
||||||
|
-- @treturn number This computer's x position.
|
||||||
|
-- @treturn number This computer's y position.
|
||||||
|
-- @treturn number This computer's z position.
|
||||||
|
-- @see gps.locate To get the position of a non-command computer.
|
||||||
|
function getBlockPosition() end
|
||||||
|
|
||||||
|
--- Get some basic information about a block.
|
||||||
|
--
|
||||||
|
-- The returned table contains the current name, metadata and block state (as
|
||||||
|
-- with @{turtle.inspect}). If there is a tile entity for that block, its NBT
|
||||||
|
-- will also be returned.
|
||||||
|
--
|
||||||
|
-- @tparam number x The x position of the block to query.
|
||||||
|
-- @tparam number y The y position of the block to query.
|
||||||
|
-- @tparam number z The z position of the block to query.
|
||||||
|
-- @treturn table The given block's information.
|
||||||
|
-- @throws If the coordinates are not within the world, or are not currently
|
||||||
|
-- loaded.
|
||||||
|
function getBlockInfo(x, y, z) end
|
||||||
|
|
||||||
|
--- Get information about a range of blocks.
|
||||||
|
--
|
||||||
|
-- This returns the same information as @{getBlockInfo}, just for multiple
|
||||||
|
-- blocks at once.
|
||||||
|
--
|
||||||
|
-- Blocks are traversed by ascending y level, followed by z and x - the returned
|
||||||
|
-- table may be indexed using `x + z*width + y*depth*depth`.
|
||||||
|
--
|
||||||
|
-- @tparam number min_x The start x coordinate of the range to query.
|
||||||
|
-- @tparam number min_y The start y coordinate of the range to query.
|
||||||
|
-- @tparam number min_z The start z coordinate of the range to query.
|
||||||
|
-- @tparam number max_x The end x coordinate of the range to query.
|
||||||
|
-- @tparam number max_y The end y coordinate of the range to query.
|
||||||
|
-- @tparam number max_z The end z coordinate of the range to query.
|
||||||
|
-- @treturn { table... } A list of information about each block.
|
||||||
|
-- @throws If the coordinates are not within the world.
|
||||||
|
-- @throws If trying to get information about more than 4096 blocks.
|
||||||
|
function getBlockInfos(min_x, min_y, min_z, max_x, max_y, max_z) end
|
@@ -2,6 +2,23 @@
|
|||||||
--
|
--
|
||||||
-- @module fs
|
-- @module fs
|
||||||
|
|
||||||
|
function list(path) end
|
||||||
|
function combine(base, child) end
|
||||||
|
function getName(path) end
|
||||||
|
function getSize(path) end
|
||||||
|
function exists(path) end
|
||||||
|
function isDir(path) end
|
||||||
|
function isReadOnly(path) end
|
||||||
|
function makeDir(path) end
|
||||||
|
function move(from, to) end
|
||||||
|
function copy(from, to) end
|
||||||
|
function delete(path) end
|
||||||
|
function open(path, mode) end
|
||||||
|
function getDrive(path) end
|
||||||
|
function getFreeSpace(path) end
|
||||||
|
function find(pattern) end
|
||||||
|
function getDir(path) end
|
||||||
|
|
||||||
--- Returns true if a path is mounted to the parent filesystem.
|
--- Returns true if a path is mounted to the parent filesystem.
|
||||||
--
|
--
|
||||||
-- The root filesystem "/" is considered a mount, along with disk folders and
|
-- The root filesystem "/" is considered a mount, along with disk folders and
|
||||||
@@ -14,21 +31,54 @@
|
|||||||
-- @see getDrive
|
-- @see getDrive
|
||||||
function isDriveRoot(path) end
|
function isDriveRoot(path) end
|
||||||
|
|
||||||
--[[- Provides completion for a file or directory name, suitable for use with
|
--- Get the capacity of the drive at the given path.
|
||||||
@{read}.
|
--
|
||||||
|
-- This may be used in conjunction with @{getFreeSpace} to determine what
|
||||||
|
-- percentage of this drive has been used.
|
||||||
|
--
|
||||||
|
-- @tparam string path The path of the drive to get.
|
||||||
|
-- @treturn number This drive's capacity. This will be 0 for "read-only" drives,
|
||||||
|
-- such as the ROM or treasure disks.
|
||||||
|
function getCapacity(path) end
|
||||||
|
|
||||||
When a directory is a possible candidate for completion, two entries are
|
--- Get attributes about a specific file or folder.
|
||||||
included - one with a trailing slash (indicating that entries within this
|
--
|
||||||
directory exist) and one without it (meaning this entry is an immediate
|
-- The returned attributes table contains information about the size of the
|
||||||
completion candidate). `include_dirs` can be set to @{false} to only include
|
-- file, whether it is a directory, and when it was created and last modified.
|
||||||
those with a trailing slash.
|
--
|
||||||
|
-- The creation and modification times are given as the number of milliseconds
|
||||||
|
-- since the UNIX epoch. This may be given to @{os.date} in order to convert it
|
||||||
|
-- to more usable form.
|
||||||
|
--
|
||||||
|
-- @tparam string path The path to get attributes for.
|
||||||
|
-- @treturn { size = number, isDir = boolean, created = number, modified = number }
|
||||||
|
-- The resulting attributes.
|
||||||
|
-- @throws If the path does not exist.
|
||||||
|
-- @see getSize If you only care about the file's size.
|
||||||
|
-- @see isDir If you only care whether a path is a directory or not.
|
||||||
|
function attributes(path) end
|
||||||
|
|
||||||
@tparam string path The path to complete.
|
-- Defined in bios.lua
|
||||||
@tparam string location The location where paths are resolved from.
|
function complete(sPath, sLocation, bIncludeFiles, bIncludeDirs) end
|
||||||
@tparam[opt] boolean include_files When @{false}, only directories will be
|
|
||||||
included in the returned list.
|
--- A file handle which can be read from.
|
||||||
@tparam[opt] boolean include_dirs When @{false}, "raw" directories will not be
|
--
|
||||||
included in the returned list.
|
-- @type ReadHandle
|
||||||
@treturn { string... } A list of possible completion candidates.
|
-- @see fs.open
|
||||||
]]
|
local ReadHandle = {}
|
||||||
function complete(path, location, include_files, include_dirs) end
|
function ReadHandle.read(count) end
|
||||||
|
function ReadHandle.readAll() end
|
||||||
|
function ReadHandle.readLine(with_trailing) end
|
||||||
|
function ReadHandle.seek(whence, offset) end
|
||||||
|
function ReadHandle.close() end
|
||||||
|
|
||||||
|
--- A file handle which can be written to.
|
||||||
|
--
|
||||||
|
-- @type WriteHandle
|
||||||
|
-- @see fs.open
|
||||||
|
local WriteHandle = {}
|
||||||
|
function WriteHandle.write(text) end
|
||||||
|
function WriteHandle.writeLine(text) end
|
||||||
|
function WriteHandle.flush(text) end
|
||||||
|
function WriteHandle.seek(whence, offset) end
|
||||||
|
function WriteHandle.close() end
|
||||||
|
@@ -93,6 +93,47 @@ function get(...) end
|
|||||||
-- @treturn Response|nil The failing http response, if available.
|
-- @treturn Response|nil The failing http response, if available.
|
||||||
function post(...) end
|
function post(...) end
|
||||||
|
|
||||||
|
--- A http response. This acts very much like a @{fs.ReadHandle|file}, though
|
||||||
|
-- provides some http specific methods.
|
||||||
|
--
|
||||||
|
-- #### `http_success` event
|
||||||
|
-- #### `http_failure` event
|
||||||
|
--
|
||||||
|
-- @type Response
|
||||||
|
-- @see http.request On how to make a http request.
|
||||||
|
local Response = {}
|
||||||
|
|
||||||
|
--- Returns the response code and response message returned by the server
|
||||||
|
--
|
||||||
|
-- @treturn number The response code (i.e. 200)
|
||||||
|
-- @treturn string The response message (i.e. "OK")
|
||||||
|
function Response.getResponseCode() end
|
||||||
|
|
||||||
|
--- Get a table containing the response's headers, in a format similar to that
|
||||||
|
-- required by @{http.request}. If multiple headers are sent with the same
|
||||||
|
-- name, they will be combined with a comma.
|
||||||
|
--
|
||||||
|
-- @treturn { [string]=string } The response's headers.
|
||||||
|
-- Make a request to [example.computercraft.cc](https://example.computercraft.cc),
|
||||||
|
-- and print the returned headers.
|
||||||
|
-- ```lua
|
||||||
|
-- local request = http.get("https://example.computercraft.cc")
|
||||||
|
-- print(textutils.serialize(request.getResponseHeaders()))
|
||||||
|
-- -- => {
|
||||||
|
-- -- [ "Content-Type" ] = "text/plain; charset=utf8",
|
||||||
|
-- -- [ "content-length" ] = 17,
|
||||||
|
-- -- ...
|
||||||
|
-- -- }
|
||||||
|
-- request.close()
|
||||||
|
-- ```
|
||||||
|
function Response.getResponseHeaders() end
|
||||||
|
|
||||||
|
function Response.read(count) end
|
||||||
|
function Response.readAll() end
|
||||||
|
function Response.readLine(with_trailing) end
|
||||||
|
function Response.seek(whence, offset) end
|
||||||
|
function Response.close() end
|
||||||
|
|
||||||
--- Asynchronously determine whether a URL can be requested.
|
--- Asynchronously determine whether a URL can be requested.
|
||||||
--
|
--
|
||||||
-- If this returns `true`, one should also listen for [`http_check`
|
-- If this returns `true`, one should also listen for [`http_check`
|
||||||
@@ -157,3 +198,32 @@ function websocket(url, headers) end
|
|||||||
-- @tparam[opt] { [string] = string } headers Additional headers to send as part
|
-- @tparam[opt] { [string] = string } headers Additional headers to send as part
|
||||||
-- of the initial websocket connection.
|
-- of the initial websocket connection.
|
||||||
function websocketAsync(url, headers) end
|
function websocketAsync(url, headers) end
|
||||||
|
|
||||||
|
--- A websocket, which can be used to send an receive messages with a web
|
||||||
|
-- server.
|
||||||
|
--
|
||||||
|
-- @type Websocket
|
||||||
|
-- @see http.websocket On how to open a websocket.
|
||||||
|
local Websocket = {}
|
||||||
|
|
||||||
|
--- Send a websocket message to the connected server.
|
||||||
|
--
|
||||||
|
-- @tparam string message The message to send.
|
||||||
|
-- @tparam[opt] boolean binary Whether this message should be treated as a
|
||||||
|
-- binary string, rather than encoded text.
|
||||||
|
-- @throws If the websocket has been closed.
|
||||||
|
function Websocket.send(message, binary) end
|
||||||
|
|
||||||
|
--- Wait for a message from the server.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number timeout The number of seconds to wait if no message is
|
||||||
|
-- received.
|
||||||
|
-- @treturn[1] string The received message.
|
||||||
|
-- @treturn boolean If this was a binary message.
|
||||||
|
-- @treturn[2] nil If the websocket was closed while waiting, or if we timed out.
|
||||||
|
-- @throws If the websocket has been closed.
|
||||||
|
function Websocket.receive(timeout) end
|
||||||
|
|
||||||
|
--- Close this websocket. This will terminate the connection, meaning messages
|
||||||
|
-- can no longer be sent or received along it.
|
||||||
|
function Websocket.close() end
|
||||||
|
@@ -1,3 +1,21 @@
|
|||||||
|
function queueEvent(event, ...) end
|
||||||
|
function startTimer(delay) end
|
||||||
|
function setAlarm(time) end
|
||||||
|
function shutdown() end
|
||||||
|
function reboot() end
|
||||||
|
function getComputerID() end
|
||||||
|
computerID = getComputerID
|
||||||
|
function setComputerLabel(label) end
|
||||||
|
function getComputerLabel() end
|
||||||
|
computerLabel = getComputerLabel
|
||||||
|
function clock() end
|
||||||
|
function time(timezone) end
|
||||||
|
function day(timezone) end
|
||||||
|
function cancelTimer(id) end
|
||||||
|
function cancelAlarm(id) end
|
||||||
|
function epoch(timezone) end
|
||||||
|
function date(format, time) end
|
||||||
|
|
||||||
-- Defined in bios.lua
|
-- Defined in bios.lua
|
||||||
function loadAPI(path) end
|
function loadAPI(path) end
|
||||||
function pullEvent(filter) end
|
function pullEvent(filter) end
|
||||||
|
28
doc/stub/pocket.lua
Normal file
28
doc/stub/pocket.lua
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
--[[-
|
||||||
|
Control the current pocket computer, adding or removing upgrades.
|
||||||
|
|
||||||
|
This API is only available on pocket computers. As such, you may use its
|
||||||
|
presence to determine what kind of computer you are using:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
if pocket then
|
||||||
|
print("On a pocket computer")
|
||||||
|
else
|
||||||
|
print("On something else")
|
||||||
|
end
|
||||||
|
```
|
||||||
|
]]
|
||||||
|
|
||||||
|
--- Search the player's inventory for another upgrade, replacing the existing
|
||||||
|
-- one with that item if found.
|
||||||
|
--
|
||||||
|
-- This inventory search starts from the player's currently selected slot,
|
||||||
|
-- allowing you to prioritise upgrades.
|
||||||
|
--
|
||||||
|
-- @throws If an upgrade cannot be found.
|
||||||
|
function equipBack() end
|
||||||
|
|
||||||
|
--- Remove the pocket computer's current upgrade.
|
||||||
|
--
|
||||||
|
-- @throws If this pocket computer does not currently have an upgrade.
|
||||||
|
function unequipBack() end
|
120
doc/stub/redstone.lua
Normal file
120
doc/stub/redstone.lua
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
--[[- Interact with redstone attached to this computer.
|
||||||
|
|
||||||
|
The @{redstone} library exposes three "types" of redstone control:
|
||||||
|
- Binary input/output (@{setOutput}/@{getInput}): These simply check if a
|
||||||
|
redstone wire has any input or output. A signal strength of 1 and 15 are
|
||||||
|
treated the same.
|
||||||
|
- Analogue input/output (@{setAnalogueOutput}/@{getAnalogueInput}): These
|
||||||
|
work with the actual signal strength of the redstone wired, from 0 to 15.
|
||||||
|
- Bundled cables (@{setBundledOutput}/@{getBundledInput}): These interact with
|
||||||
|
"bundled" cables, such as those from Project:Red. These allow you to send
|
||||||
|
16 separate on/off signals. Each channel corresponds to a colour, with the
|
||||||
|
first being @{colors.white} and the last @{colors.black}.
|
||||||
|
|
||||||
|
Whenever a redstone input changes, a `redstone` event will be fired. This may
|
||||||
|
be used in or
|
||||||
|
|
||||||
|
This module may also be referred to as `rs`. For example, one may call
|
||||||
|
`rs.getSides()` instead of @{redstone.getSides}.
|
||||||
|
|
||||||
|
@module redstone
|
||||||
|
@usage Toggle the redstone signal above the computer every 0.5 seconds.
|
||||||
|
|
||||||
|
while true do
|
||||||
|
redstone.setOutput("top", not redstone.getOutput("top"))
|
||||||
|
sleep(0.5)
|
||||||
|
end
|
||||||
|
@usage Mimic a redstone comparator in [subtraction mode][comparator].
|
||||||
|
|
||||||
|
while true do
|
||||||
|
local rear = rs.getAnalogueInput("back")
|
||||||
|
local sides = math.max(rs.getAnalogueInput("left"), rs.getAnalogueInput("right"))
|
||||||
|
rs.setAnalogueOutput("front", math.max(rear - sides, 0))
|
||||||
|
|
||||||
|
os.pullEvent("redstone") -- Wait for a change to inputs.
|
||||||
|
end
|
||||||
|
|
||||||
|
[comparator]: https://minecraft.gamepedia.com/Redstone_Comparator#Subtract_signal_strength "Redstone Comparator on the Minecraft wiki."
|
||||||
|
]]
|
||||||
|
|
||||||
|
--- Returns a table containing the six sides of the computer. Namely, "top",
|
||||||
|
-- "bottom", "left", "right", "front" and "back".
|
||||||
|
--
|
||||||
|
-- @treturn { string... } A table of valid sides.
|
||||||
|
function getSides() end
|
||||||
|
|
||||||
|
--- Turn the redstone signal of a specific side on or off.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to set.
|
||||||
|
-- @tparam boolean on Whether the redstone signal should be on or off. When on,
|
||||||
|
-- a signal strength of 15 is emitted.
|
||||||
|
function setOutput(side, on) end
|
||||||
|
|
||||||
|
--- Get the current redstone output of a specific side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to get.
|
||||||
|
-- @treturn boolean Whether the redstone output is on or off.
|
||||||
|
-- @see setOutput
|
||||||
|
function getOutput(side) end
|
||||||
|
|
||||||
|
--- Get the current redstone input of a specific side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to get.
|
||||||
|
-- @treturn boolean Whether the redstone input is on or off.
|
||||||
|
function getInput(side) end
|
||||||
|
|
||||||
|
--- Set the redstone signal strength for a specific side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to set.
|
||||||
|
-- @tparam number value The signal strength, between 0 and 15.
|
||||||
|
-- @throws If `value` is not between 0 and 15.
|
||||||
|
function setAnalogOutput(side, value) end
|
||||||
|
setAnalogueOutput = setAnalogOutput
|
||||||
|
|
||||||
|
--- Get the redstone output signal strength for a specific side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to get.
|
||||||
|
-- @treturn number The output signal strength, between 0 and 15.
|
||||||
|
-- @see setAnalogueOutput
|
||||||
|
function getAnalogOutput(sid) end
|
||||||
|
getAnalogueOutput = getAnalogOutput
|
||||||
|
|
||||||
|
--- Get the redstone input signal strength for a specific side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to get.
|
||||||
|
-- @treturn number The input signal strength, between 0 and 15.
|
||||||
|
function getAnalogInput(side) end
|
||||||
|
getAnalogueInput = getAnalogInput
|
||||||
|
|
||||||
|
--- Set the bundled cable output for a specific side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to set.
|
||||||
|
-- @tparam number The colour bitmask to set.
|
||||||
|
-- @see colors.subtract For removing a colour from the bitmask.
|
||||||
|
-- @see colors.combine For adding a colour to the bitmask.
|
||||||
|
function setBundledOutput(side, output) end
|
||||||
|
|
||||||
|
--- Get the bundled cable output for a specific side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to get.
|
||||||
|
-- @treturn number The bundled cable's output.
|
||||||
|
function getBundledOutput(side) end
|
||||||
|
|
||||||
|
--- Get the bundled cable input for a specific side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to get.
|
||||||
|
-- @treturn number The bundled cable's input.
|
||||||
|
-- @see testBundledInput To determine if a specific colour is set.
|
||||||
|
function getBundledInput(side) end
|
||||||
|
|
||||||
|
--- Determine if a specific combination of colours are on for the given side.
|
||||||
|
--
|
||||||
|
-- @tparam string side The side to test.
|
||||||
|
-- @tparam number mask The mask to test.
|
||||||
|
-- @see getBundledInput
|
||||||
|
-- @see colors.combine For adding a colour to the bitmask.
|
||||||
|
-- @usage Check if @{colors.white} and @{colors.black} are on for above the
|
||||||
|
-- computer.
|
||||||
|
--
|
||||||
|
-- print(redstone.testBundledInput("top", colors.combine(colors.white, colors.black)))
|
||||||
|
function testBundledInput(side, mask) end
|
52
doc/stub/term.lua
Normal file
52
doc/stub/term.lua
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
function write(text) end
|
||||||
|
function scroll(lines) end
|
||||||
|
function setCursorPos(x, y) end
|
||||||
|
function setCursorBlink(blink) end
|
||||||
|
function getCursorPos() end
|
||||||
|
function getSize() end
|
||||||
|
function clear() end
|
||||||
|
function clearLine() end
|
||||||
|
function setTextColour(colour) end
|
||||||
|
setTextColor = setTextColour
|
||||||
|
function setBackgroundColour(colour) end
|
||||||
|
setBackgroundColor = setBackgroundColour
|
||||||
|
function isColour() end
|
||||||
|
isColor = isColour
|
||||||
|
function getTextColour() end
|
||||||
|
getTextColor = getTextColor
|
||||||
|
function getBackgroundColour() end
|
||||||
|
getBackgroundColor = getBackgroundColour
|
||||||
|
function blit(text, text_colours, background_colours) end
|
||||||
|
function setPaletteColour(colour, ...) end
|
||||||
|
setPaletteColor = setPaletteColour
|
||||||
|
function getPaletteColour(colour, ...) end
|
||||||
|
getPaletteColor = getPaletteColour
|
||||||
|
function nativePaletteColour(colour) end
|
||||||
|
nativePaletteColor = nativePaletteColour
|
||||||
|
|
||||||
|
--- @type Redirect
|
||||||
|
local Redirect = {}
|
||||||
|
|
||||||
|
Redirect.write = write
|
||||||
|
Redirect.scroll = scroll
|
||||||
|
Redirect.setCursorPos = setCursorPos
|
||||||
|
Redirect.setCursorBlink = setCursorBlink
|
||||||
|
Redirect.getCursorPos = getCursorPos
|
||||||
|
Redirect.getSize = getSize
|
||||||
|
Redirect.clear = clear
|
||||||
|
Redirect.clearLine = clearLine
|
||||||
|
Redirect.setTextColour = setTextColour
|
||||||
|
Redirect.setTextColor = setTextColor
|
||||||
|
Redirect.setBackgroundColour = setBackgroundColour
|
||||||
|
Redirect.setBackgroundColor = setBackgroundColor
|
||||||
|
Redirect.isColour = isColour
|
||||||
|
Redirect.isColor = isColor
|
||||||
|
Redirect.getTextColour = getTextColour
|
||||||
|
Redirect.getTextColor = getTextColor
|
||||||
|
Redirect.getBackgroundColour = getBackgroundColour
|
||||||
|
Redirect.getBackgroundColor = getBackgroundColor
|
||||||
|
Redirect.blit = blit
|
||||||
|
Redirect.setPaletteColour = setPaletteColour
|
||||||
|
Redirect.setPaletteColor = setPaletteColor
|
||||||
|
Redirect.getPaletteColour = getPaletteColour
|
||||||
|
Redirect.getPaletteColor = getPaletteColor
|
@@ -1 +1,230 @@
|
|||||||
|
--- Move the turtle forward one block.
|
||||||
|
-- @treturn boolean Whether the turtle could successfully move.
|
||||||
|
-- @treturn string|nil The reason the turtle could not move.
|
||||||
|
function forward() end
|
||||||
|
|
||||||
|
--- Move the turtle backwards one block.
|
||||||
|
-- @treturn boolean Whether the turtle could successfully move.
|
||||||
|
-- @treturn string|nil The reason the turtle could not move.
|
||||||
|
function back() end
|
||||||
|
|
||||||
|
--- Move the turtle up one block.
|
||||||
|
-- @treturn boolean Whether the turtle could successfully move.
|
||||||
|
-- @treturn string|nil The reason the turtle could not move.
|
||||||
|
function up() end
|
||||||
|
|
||||||
|
--- Move the turtle down one block.
|
||||||
|
-- @treturn boolean Whether the turtle could successfully move.
|
||||||
|
-- @treturn string|nil The reason the turtle could not move.
|
||||||
|
function down() end
|
||||||
|
|
||||||
|
--- Rotate the turtle 90 degress to the left.
|
||||||
|
function turnLeft() end
|
||||||
|
|
||||||
|
--- Rotate the turtle 90 degress to the right.
|
||||||
|
function turnRight() end
|
||||||
|
|
||||||
|
--- Attempt to break the block in front of the turtle.
|
||||||
|
--
|
||||||
|
-- This requires a turtle tool capable of breaking the block. Diamond pickaxes
|
||||||
|
-- (mining turtles) can break any vanilla block, but other tools (such as axes)
|
||||||
|
-- are more limited.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] "left"|"right" side The specific tool to use.
|
||||||
|
-- @treturn boolean Whether a block was broken.
|
||||||
|
-- @treturn string|nil The reason no block was broken.
|
||||||
|
function dig(side) end
|
||||||
|
|
||||||
|
--- Attempt to break the block above the turtle. See @{dig} for full details.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] "left"|"right" side The specific tool to use.
|
||||||
|
-- @treturn boolean Whether a block was broken.
|
||||||
|
-- @treturn string|nil The reason no block was broken.
|
||||||
|
function digUp(side) end
|
||||||
|
|
||||||
|
--- Attempt to break the block below the turtle. See @{dig} for full details.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] "left"|"right" side The specific tool to use.
|
||||||
|
-- @treturn boolean Whether a block was broken.
|
||||||
|
-- @treturn string|nil The reason no block was broken.
|
||||||
|
function digDown(side) end
|
||||||
|
|
||||||
|
--- Attack the entity in front of the turtle.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] "left"|"right" side The specific tool to use.
|
||||||
|
-- @treturn boolean Whether an entity was attacked.
|
||||||
|
-- @treturn string|nil The reason nothing was attacked.
|
||||||
|
function attack(side) end
|
||||||
|
|
||||||
|
--- Attack the entity above the turtle.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] "left"|"right" side The specific tool to use.
|
||||||
|
-- @treturn boolean Whether an entity was attacked.
|
||||||
|
-- @treturn string|nil The reason nothing was attacked.
|
||||||
|
function attackUp(side) end
|
||||||
|
|
||||||
|
--- Attack the entity below the turtle.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] "left"|"right" side The specific tool to use.
|
||||||
|
-- @treturn boolean Whether an entity was attacked.
|
||||||
|
-- @treturn string|nil The reason nothing was attacked.
|
||||||
|
function attackDown(side) end
|
||||||
|
|
||||||
|
--- Place a block or item into the world in front of the turtle.
|
||||||
|
--
|
||||||
|
-- @treturn boolean Whether the block could be placed.
|
||||||
|
-- @treturn string|nil The reason the block was not placed.
|
||||||
|
function place() end
|
||||||
|
|
||||||
|
--- Place a block or item into the world above the turtle.
|
||||||
|
--
|
||||||
|
-- @treturn boolean Whether the block could be placed.
|
||||||
|
-- @treturn string|nil The reason the block was not placed.
|
||||||
|
function placeUp() end
|
||||||
|
|
||||||
|
--- Place a block or item into the world below the turtle.
|
||||||
|
--
|
||||||
|
-- @treturn boolean Whether the block could be placed.
|
||||||
|
-- @treturn string|nil The reason the block was not placed.
|
||||||
|
function placeDown() end
|
||||||
|
|
||||||
|
--- Drop the currently selected stack into the inventory in front of the turtle,
|
||||||
|
-- or as an item into the world if there is no inventory.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number count The number of items to drop. If not given, the
|
||||||
|
-- entire stack will be dropped.
|
||||||
|
-- @treturn boolean Whether items were dropped.
|
||||||
|
-- @treturn string|nil The reason the no items were dropped.
|
||||||
|
-- @see select
|
||||||
|
function drop(count) end
|
||||||
|
|
||||||
|
--- Drop the currently selected stack into the inventory above the turtle, or as
|
||||||
|
-- an item into the world if there is no inventory.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number count The number of items to drop. If not given, the
|
||||||
|
-- entire stack will be dropped.
|
||||||
|
-- @treturn boolean Whether items were dropped.
|
||||||
|
-- @treturn string|nil The reason the no items were dropped.
|
||||||
|
-- @see select
|
||||||
|
function dropUp(count) end
|
||||||
|
|
||||||
|
--- Drop the currently selected stack into the inventory below the turtle, or as
|
||||||
|
-- an item into the world if there is no inventory.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number count The number of items to drop. If not given, the
|
||||||
|
-- entire stack will be dropped.
|
||||||
|
-- @treturn boolean Whether items were dropped.
|
||||||
|
-- @treturn string|nil The reason the no items were dropped.
|
||||||
|
-- @see select
|
||||||
|
function dropDown(count) end
|
||||||
|
|
||||||
|
--- Suck an item from the inventory in front of the turtle, or from an item
|
||||||
|
-- floating in the world.
|
||||||
|
--
|
||||||
|
-- This will pull items into the first acceptable slot, starting at the
|
||||||
|
-- @{select|currently selected} one.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number count The number of items to suck. If not given, up to a
|
||||||
|
-- stack of items will be picked up.
|
||||||
|
-- @treturn boolean Whether items were picked up.
|
||||||
|
-- @treturn string|nil The reason the no items were picked up.
|
||||||
|
function suck(count) end
|
||||||
|
|
||||||
|
--- Suck an item from the inventory above the turtle, or from an item floating
|
||||||
|
-- in the world.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number count The number of items to suck. If not given, up to a
|
||||||
|
-- stack of items will be picked up.
|
||||||
|
-- @treturn boolean Whether items were picked up.
|
||||||
|
-- @treturn string|nil The reason the no items were picked up.
|
||||||
|
function suckUp(count) end
|
||||||
|
|
||||||
|
--- Suck an item from the inventory below the turtle, or from an item floating
|
||||||
|
-- in the world.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number count The number of items to suck. If not given, up to a
|
||||||
|
-- stack of items will be picked up.
|
||||||
|
-- @treturn boolean Whether items were picked up.
|
||||||
|
-- @treturn string|nil The reason the no items were picked up.
|
||||||
|
function suckDown(count) end
|
||||||
|
|
||||||
|
--- Check if there is a solid block in front of the turtle. In this case, solid
|
||||||
|
-- refers to any non-air or liquid block.
|
||||||
|
--
|
||||||
|
-- @treturn boolean If there is a solid block in front.
|
||||||
|
function detect() end
|
||||||
|
|
||||||
|
--- Check if there is a solid block above the turtle.
|
||||||
|
--
|
||||||
|
-- @treturn boolean If there is a solid block above.
|
||||||
|
function detectUp() end
|
||||||
|
|
||||||
|
--- Check if there is a solid block below the turtle.
|
||||||
|
--
|
||||||
|
-- @treturn boolean If there is a solid block below.
|
||||||
|
function detectDown() end
|
||||||
|
|
||||||
|
function compare() end
|
||||||
|
function compareUp() end
|
||||||
|
function compareDown() end
|
||||||
|
|
||||||
|
function inspect() end
|
||||||
|
function inspectUp() end
|
||||||
|
function inspectDown() end
|
||||||
|
|
||||||
|
|
||||||
|
--- Change the currently selected slot.
|
||||||
|
--
|
||||||
|
-- The selected slot is determines what slot actions like @{drop} or
|
||||||
|
-- @{getItemCount} act on.
|
||||||
|
--
|
||||||
|
-- @tparam number slot The slot to select.
|
||||||
|
-- @see getSelectedSlot
|
||||||
|
function select(slot) end
|
||||||
|
|
||||||
|
--- Get the currently selected slot.
|
||||||
|
--
|
||||||
|
-- @treturn number The current slot.
|
||||||
|
-- @see select
|
||||||
|
function getSelectedSlot() end
|
||||||
|
|
||||||
|
--- Get the number of items in the given slot.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number slot The slot we wish to check. Defaults to the @{turtle.select|selected slot}.
|
||||||
|
-- @treturn number The number of items in this slot.
|
||||||
|
function getItemCount(slot) end
|
||||||
|
|
||||||
|
--- Get the remaining number of items which may be stored in this stack.
|
||||||
|
--
|
||||||
|
-- For instance, if a slot contains 13 blocks of dirt, it has room for another 51.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number slot The slot we wish to check. Defaults to the @{turtle.select|selected slot}.
|
||||||
|
-- @treturn number The space left in this slot.
|
||||||
|
function getItemSpace(slot) end
|
||||||
|
|
||||||
|
|
||||||
|
--- Get detailed information about the items in the given slot.
|
||||||
|
--
|
||||||
|
-- @tparam[opt] number slot The slot to get information about. Defaults to the @{turtle.select|selected slot}.
|
||||||
|
-- @treturn nil|table Information about the given slot, or @{nil} if it is empty.
|
||||||
|
-- @usage Print the current slot, assuming it contains 13 dirt.
|
||||||
|
--
|
||||||
|
-- print(textutils.serialize(turtle.getItemDetail()))
|
||||||
|
-- -- => {
|
||||||
|
-- -- name = "minecraft:dirt",
|
||||||
|
-- -- damage = 0,
|
||||||
|
-- -- count = 13,
|
||||||
|
-- -- }
|
||||||
|
function getItemDetail(slot) end
|
||||||
|
|
||||||
|
function getFuelLevel() end
|
||||||
|
|
||||||
|
function refuel(count) end
|
||||||
|
function compareTo(slot) end
|
||||||
|
function transferTo(slot, count) end
|
||||||
|
|
||||||
|
function getFuelLimit() end
|
||||||
|
function equipLeft() end
|
||||||
|
function equipRight() end
|
||||||
|
|
||||||
function craft(limit) end
|
function craft(limit) end
|
||||||
|
@@ -51,12 +51,7 @@ h4 { font-size: 1.06em; }
|
|||||||
a, a:visited, a:active { font-weight: bold; color: #004080; text-decoration: none; }
|
a, a:visited, a:active { font-weight: bold; color: #004080; text-decoration: none; }
|
||||||
a:hover { text-decoration: underline; }
|
a:hover { text-decoration: underline; }
|
||||||
|
|
||||||
blockquote {
|
blockquote { margin-left: 3em; }
|
||||||
padding: 0.3em;
|
|
||||||
margin: 1em 0;
|
|
||||||
background: #f0f0f0;
|
|
||||||
border-left: solid 0.5em #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Stop sublists from having initial vertical space */
|
/* Stop sublists from having initial vertical space */
|
||||||
ul ul { margin-top: 0px; }
|
ul ul { margin-top: 0px; }
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Mod properties
|
# Mod properties
|
||||||
mod_version=1.91.0
|
mod_version=1.89.2
|
||||||
|
|
||||||
# Minecraft properties (update mods.toml when changing)
|
# Minecraft properties
|
||||||
mc_version=1.15.2
|
mc_version=1.12.2
|
||||||
forge_version=31.1.41
|
forge_version=14.23.4.2749
|
||||||
mappings_version=20200429-1.15.1
|
mappings_version=snapshot_20180724
|
||||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip
|
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
|
||||||
|
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
(sources
|
(sources
|
||||||
/doc/stub/
|
/doc/stub/
|
||||||
/doc/javadoc/
|
|
||||||
/src/main/resources/*/computercraft/lua/bios.lua
|
/src/main/resources/*/computercraft/lua/bios.lua
|
||||||
/src/main/resources/*/computercraft/lua/rom/
|
/src/main/resources/*/computercraft/lua/rom/
|
||||||
/src/test/resources/test-rom)
|
/src/test/resources/test-rom)
|
||||||
@@ -13,12 +12,8 @@
|
|||||||
(index doc/index.md)
|
(index doc/index.md)
|
||||||
(source-link https://github.com/SquidDev-CC/CC-Tweaked/blob/${commit}/${path}#L${line})
|
(source-link https://github.com/SquidDev-CC/CC-Tweaked/blob/${commit}/${path}#L${line})
|
||||||
|
|
||||||
(module-kinds
|
|
||||||
(peripheral Peripherals))
|
|
||||||
|
|
||||||
(library-path
|
(library-path
|
||||||
/doc/stub/
|
/doc/stub/
|
||||||
/doc/javadoc/
|
|
||||||
|
|
||||||
/src/main/resources/*/computercraft/lua/rom/apis
|
/src/main/resources/*/computercraft/lua/rom/apis
|
||||||
/src/main/resources/*/computercraft/lua/rom/apis/command
|
/src/main/resources/*/computercraft/lua/rom/apis/command
|
||||||
@@ -69,41 +64,31 @@
|
|||||||
(lint (allow-toplevel-global true)))
|
(lint (allow-toplevel-global true)))
|
||||||
|
|
||||||
;; Silence some variable warnings in documentation stubs.
|
;; Silence some variable warnings in documentation stubs.
|
||||||
(at (/doc/stub/ /doc/javadoc/)
|
(at /doc/stub
|
||||||
(linters -var:unused-global)
|
(linters -var:unused-global)
|
||||||
(lint (allow-toplevel-global true)))
|
(lint (allow-toplevel-global true)))
|
||||||
|
|
||||||
;; Suppress warnings for currently undocumented modules.
|
;; Suppress warnings for currently undocumented modules.
|
||||||
(at
|
(at
|
||||||
(; Java APIs
|
(/doc/stub/fs.lua
|
||||||
/doc/stub/http.lua
|
/doc/stub/http.lua
|
||||||
/doc/stub/os.lua
|
/doc/stub/os.lua
|
||||||
|
/doc/stub/term.lua
|
||||||
/doc/stub/turtle.lua
|
/doc/stub/turtle.lua
|
||||||
; Java generated APIs
|
|
||||||
/doc/javadoc/turtle.lua
|
|
||||||
; Peripherals
|
|
||||||
/doc/javadoc/drive.lua
|
|
||||||
/doc/javadoc/speaker.lua
|
|
||||||
/doc/javadoc/printer.lua
|
|
||||||
; Lua APIs
|
|
||||||
/src/main/resources/*/computercraft/lua/rom/apis/io.lua
|
/src/main/resources/*/computercraft/lua/rom/apis/io.lua
|
||||||
/src/main/resources/*/computercraft/lua/rom/apis/window.lua)
|
/src/main/resources/*/computercraft/lua/rom/apis/window.lua)
|
||||||
|
|
||||||
(linters -doc:undocumented -doc:undocumented-arg -doc:undocumented-return))
|
(linters -doc:undocumented -doc:undocumented-arg))
|
||||||
|
|
||||||
;; These currently rely on unknown references.
|
;; These currently rely on unknown references.
|
||||||
(at
|
(at
|
||||||
(/src/main/resources/*/computercraft/lua/rom/apis/textutils.lua
|
(/src/main/resources/*/computercraft/lua/rom/apis/textutils.lua
|
||||||
/src/main/resources/*/computercraft/lua/rom/modules/main/cc/completion.lua
|
/src/main/resources/*/computercraft/lua/rom/modules/main/cc/completion.lua
|
||||||
/src/main/resources/*/computercraft/lua/rom/modules/main/cc/shell/completion.lua
|
/src/main/resources/*/computercraft/lua/rom/modules/main/cc/shell/completion.lua
|
||||||
/src/main/resources/*/computercraft/lua/rom/programs/shell.lua
|
/src/main/resources/*/computercraft/lua/rom/programs/shell.lua)
|
||||||
/doc/stub/fs.lua)
|
|
||||||
(linters -doc:unresolved-reference))
|
(linters -doc:unresolved-reference))
|
||||||
|
|
||||||
(at /src/test/resources/test-rom
|
(at /src/test/resources/test-rom
|
||||||
; We should still be able to test deprecated members.
|
|
||||||
(linters -var:deprecated)
|
|
||||||
|
|
||||||
(lint
|
(lint
|
||||||
(globals
|
(globals
|
||||||
:max sleep write
|
:max sleep write
|
||||||
|
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:cable"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_modem": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:cable"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_modem",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:computer_advanced"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_components": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:redstone"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:gold_ingot"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:computer_advanced"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_components",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:computer_command"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_components": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:command_block"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:computer_command"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_components",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:computer_normal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_redstone": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "forge:dusts/redstone"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:computer_normal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_redstone",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_1"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_10"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_10"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_11"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_11"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_12"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_13"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_13"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_14"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_14"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_15"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_15"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_16"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_16"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_2"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_2"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_3"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_3"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_4"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_5"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_5"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_6"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_6"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_7"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_7"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_8"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_8"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_9"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_drive": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_9"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_drive",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:disk_drive"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:monitor_advanced"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:monitor_advanced"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:monitor_normal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:monitor_normal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/computercraft/speaker"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:speaker"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/computercraft/speaker"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/computercraft/wireless_modem_advanced"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/computercraft/wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/computercraft/wireless_modem_normal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_normal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/computercraft/wireless_modem_normal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/minecraft/crafting_table"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:crafting_table"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/minecraft/crafting_table"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/minecraft/diamond_axe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_axe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/minecraft/diamond_axe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/minecraft/diamond_hoe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_hoe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/minecraft/diamond_hoe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/minecraft/diamond_pickaxe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_pickaxe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/minecraft/diamond_pickaxe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/minecraft/diamond_shovel"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_shovel"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/minecraft/diamond_shovel"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_advanced/minecraft/diamond_sword"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_sword"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_advanced/minecraft/diamond_sword"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_computer_advanced"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_apple": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:golden_apple"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_computer_advanced"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_apple",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_computer_normal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_apple": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:golden_apple"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_computer_normal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_apple",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/computercraft/speaker"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:speaker"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/computercraft/speaker"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/computercraft/wireless_modem_advanced"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/computercraft/wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/computercraft/wireless_modem_normal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_normal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/computercraft/wireless_modem_normal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/minecraft/crafting_table"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:crafting_table"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/minecraft/crafting_table"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/minecraft/diamond_axe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_axe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/minecraft/diamond_axe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/minecraft/diamond_hoe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_hoe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/minecraft/diamond_hoe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/minecraft/diamond_pickaxe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_pickaxe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/minecraft/diamond_pickaxe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/minecraft/diamond_shovel"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_shovel"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/minecraft/diamond_shovel"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:pocket_normal/minecraft/diamond_sword"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:pocket_computer_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_sword"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:pocket_normal/minecraft/diamond_sword"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:printer"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:printer"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:speaker"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:speaker"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/computercraft/speaker"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:speaker"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/computercraft/speaker"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/computercraft/wireless_modem_advanced"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/computercraft/wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/computercraft/wireless_modem_normal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_normal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/computercraft/wireless_modem_normal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/minecraft/crafting_table"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:crafting_table"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/minecraft/crafting_table"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/minecraft/diamond_axe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_axe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/minecraft/diamond_axe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/minecraft/diamond_hoe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_hoe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/minecraft/diamond_hoe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/minecraft/diamond_pickaxe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_pickaxe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/minecraft/diamond_pickaxe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/minecraft/diamond_shovel"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_shovel"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/minecraft/diamond_shovel"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_advanced/minecraft/diamond_sword"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_advanced"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_sword"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_advanced/minecraft/diamond_sword"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/computercraft/speaker"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:speaker"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/computercraft/speaker"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/computercraft/wireless_modem_advanced"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/computercraft/wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/computercraft/wireless_modem_normal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_normal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/computercraft/wireless_modem_normal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/minecraft/crafting_table"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:crafting_table"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/minecraft/crafting_table"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/minecraft/diamond_axe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_axe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/minecraft/diamond_axe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/minecraft/diamond_hoe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_hoe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/minecraft/diamond_hoe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/minecraft/diamond_pickaxe"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_pickaxe"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/minecraft/diamond_pickaxe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/minecraft/diamond_shovel"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_shovel"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/minecraft/diamond_shovel"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:turtle_normal/minecraft/diamond_sword"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_items": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:turtle_normal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:diamond_sword"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:turtle_normal/minecraft/diamond_sword"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_items",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:wired_modem"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_cable": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:cable"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:wired_modem"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_cable",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:wired_modem_full_from"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_modem": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:wired_modem"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:wired_modem_full_from"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_modem",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:wired_modem_full_to"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_modem": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:wired_modem"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:wired_modem_full_to"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_modem",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:wireless_modem_advanced"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_wireless": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"item": "computercraft:wireless_modem_normal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:wireless_modem_advanced"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_wireless",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"computercraft:wireless_modem_normal"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"has_computer": {
|
|
||||||
"trigger": "minecraft:inventory_changed",
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"tag": "computercraft:computer"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "computercraft:wireless_modem_normal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_computer",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,34 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:block",
|
|
||||||
"pools": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"rolls": 1,
|
|
||||||
"entries": [
|
|
||||||
{
|
|
||||||
"type": "minecraft:dynamic",
|
|
||||||
"name": "computercraft:computer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:alternative",
|
|
||||||
"terms": [
|
|
||||||
{
|
|
||||||
"condition": "computercraft:block_named"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition": "computercraft:has_id"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition": "minecraft:inverted",
|
|
||||||
"term": {
|
|
||||||
"condition": "computercraft:player_creative"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,34 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:block",
|
|
||||||
"pools": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"rolls": 1,
|
|
||||||
"entries": [
|
|
||||||
{
|
|
||||||
"type": "minecraft:dynamic",
|
|
||||||
"name": "computercraft:computer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:alternative",
|
|
||||||
"terms": [
|
|
||||||
{
|
|
||||||
"condition": "computercraft:block_named"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition": "computercraft:has_id"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition": "minecraft:inverted",
|
|
||||||
"term": {
|
|
||||||
"condition": "computercraft:player_creative"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:block",
|
|
||||||
"pools": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"rolls": 1,
|
|
||||||
"entries": [
|
|
||||||
{
|
|
||||||
"type": "minecraft:item",
|
|
||||||
"name": "computercraft:disk_drive"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:survives_explosion"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:block",
|
|
||||||
"pools": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"rolls": 1,
|
|
||||||
"entries": [
|
|
||||||
{
|
|
||||||
"type": "minecraft:item",
|
|
||||||
"name": "computercraft:monitor_advanced"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:survives_explosion"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:block",
|
|
||||||
"pools": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"rolls": 1,
|
|
||||||
"entries": [
|
|
||||||
{
|
|
||||||
"type": "minecraft:item",
|
|
||||||
"name": "computercraft:monitor_normal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:survives_explosion"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:block",
|
|
||||||
"pools": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"rolls": 1,
|
|
||||||
"entries": [
|
|
||||||
{
|
|
||||||
"type": "minecraft:item",
|
|
||||||
"name": "computercraft:printer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:survives_explosion"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:block",
|
|
||||||
"pools": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"rolls": 1,
|
|
||||||
"entries": [
|
|
||||||
{
|
|
||||||
"type": "minecraft:item",
|
|
||||||
"name": "computercraft:speaker"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:survives_explosion"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,34 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:block",
|
|
||||||
"pools": [
|
|
||||||
{
|
|
||||||
"name": "main",
|
|
||||||
"rolls": 1,
|
|
||||||
"entries": [
|
|
||||||
{
|
|
||||||
"type": "minecraft:dynamic",
|
|
||||||
"name": "computercraft:computer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:alternative",
|
|
||||||
"terms": [
|
|
||||||
{
|
|
||||||
"condition": "computercraft:block_named"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition": "computercraft:has_id"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition": "minecraft:inverted",
|
|
||||||
"term": {
|
|
||||||
"condition": "computercraft:player_creative"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user