From 808d140b5f3a37efb0ed8ce9cc82e022b41f041d Mon Sep 17 00:00:00 2001 From: Fingercomp Date: Thu, 21 Nov 2019 14:38:20 +0700 Subject: [PATCH 1/8] Use rawequal for comparison to avoid invoking __eq --- src/main/resources/assets/opencomputers/lua/machine.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/opencomputers/lua/machine.lua b/src/main/resources/assets/opencomputers/lua/machine.lua index f0e137b04..1177f5f71 100644 --- a/src/main/resources/assets/opencomputers/lua/machine.lua +++ b/src/main/resources/assets/opencomputers/lua/machine.lua @@ -54,7 +54,7 @@ local function checkDeadline() end local function pcallTimeoutCheck(...) local ok, timeout = ... - if timeout == tooLongWithoutYielding then + if rawequal(timeout, tooLongWithoutYielding) then return ok, tostring(tooLongWithoutYielding) end return ... From 0a65a5a83b13a6b09101e6476e200082a2900e6f Mon Sep 17 00:00:00 2001 From: Smollet777 Date: Sat, 7 Dec 2019 10:00:54 +0300 Subject: [PATCH 2/8] Update ru_RU.lang --- src/main/resources/assets/opencomputers/lang/ru_RU.lang | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/resources/assets/opencomputers/lang/ru_RU.lang b/src/main/resources/assets/opencomputers/lang/ru_RU.lang index ff5cdf945..fe48cb59b 100644 --- a/src/main/resources/assets/opencomputers/lang/ru_RU.lang +++ b/src/main/resources/assets/opencomputers/lang/ru_RU.lang @@ -8,6 +8,7 @@ tile.oc.adapter.name=Адаптер tile.oc.assembler.name=Сборщик tile.oc.cable.name=Кабель tile.oc.capacitor.name=Конденсатор энергии +tile.oc.carpetedCapacitor.name=Конденсатор с ковровым покрытием tile.oc.case1.name=Системный блок (1-ый уровень) tile.oc.case2.name=Системный блок (2-ой уровень) tile.oc.case3.name=Системный блок (3-ий уровень) @@ -57,6 +58,7 @@ item.oc.CircuitBoard.name=Нетравленая печатная плата item.oc.ComponentBus0.name=Компонентная шина (1-ый уровень) item.oc.ComponentBus1.name=Компонентная шина (2-ой уровень) item.oc.ComponentBus2.name=Компонентная шина (3-ий уровень) +item.oc.ComponentBus3.name=Компонентная шина (Творческая) item.oc.ControlUnit.name=Устройство управления (УУ) item.oc.CPU0.name=Центральный процессор (ЦП) (1-ый уровень) item.oc.CPU1.name=Центральный процессор (ЦП) (2-ой уровень) @@ -201,6 +203,8 @@ oc:gui.Chat.WarningRecipes=Произошла ошибка при загрузк oc:gui.Chat.WarningSimpleComponent=Некоторый мод §eневерно§f использует интрефейс §aSimpleComponent§f. Логика компонента не смогла быть внедрена. Проверьте логи, чобы узнать подробнее. oc:gui.Drive.Managed=Файловый режим oc:gui.Drive.Unmanaged=Блочный режим +oc:gui.Drive.ReadOnlyLock=Блокировка +oc:gui.Drive.ReadOnlyLockWarning=Блокировка §lтолько для чтения§r. Не может быть снята, если только носитель не был стёрт. oc:gui.Drive.Warning=§lВнимание§r: переключение режимов очищает диск! oc:gui.Error.ComponentOverflow=Слишком много компонентов подключено к компьютеру. oc:gui.Error.InternalError=Возникла внутренняя ошибка, пожалуйста, посмотрите лог-файл. Возможно, это баг. @@ -263,6 +267,7 @@ oc:tooltip.APU=Это процессор со встроенной видеок oc:tooltip.Assembler=Позволяет собирать роботов и другие устройства из ряда различных частей компьютера. oc:tooltip.Cable=Простой и дешёвый способ соединить компоненты между собой. oc:tooltip.Capacitor=Накапливает энергию для дальнейшего использования. Может быть очень быстро заполнен и опустошён. +oc:tooltip.CarpetedCapacitor=Накапливает энергию для последующего использования. Может быть заполнен и опорожнен очень быстро. Заряжается, когда по нём гуляют овцы или оцелоты oc:tooltip.CardBase=Как видно из названия, это основа для всех карт расширения. oc:tooltip.Case=Системный блок - основа компьютера, содержащий §fкарты расширения§7, §fОЗУ§7 и §fжёсткие диски§7.[nl] Слотов: §f%s§7 oc:tooltip.Chamelium=Базовый материал для 3D печати. Не глотать: может привести к слепоте и временным отсутствием присутствия. @@ -286,6 +291,7 @@ oc:tooltip.DiskDrive.CC=§aПоддерживаются§7 дискеты из C oc:tooltip.DiskDrive=Позволяет читать и записывать дискеты. Может быть установлен в роботов, что позволит затем вставлять дискеты. oc:tooltip.DiskDriveMountable=Работает так же, как и обычный дисковод, но может быть вставлен только в серверную стойку. oc:tooltip.DiskUsage=Занято %s/%s байт +oc:tooltip.DiskLocked=Блокирован: %s oc:tooltip.DiskModeManaged=Режим: файловый oc:tooltip.DiskModeUnmanaged=Режим: блочный oc:tooltip.Drone=Дроны это легкие и быстрые устройства, но с ограниченным инвентарем. From 36b9ba06d771c613053b168b304821847deae550 Mon Sep 17 00:00:00 2001 From: Vexatos Date: Thu, 26 Dec 2019 00:10:03 +0100 Subject: [PATCH 3/8] Downgraded Ubuntu version on travis to hopefully fix #3144. (#3198) --- .travis.yml | 1 + gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index df81f4ef6..22223c3d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ sudo: false language: scala scala: 2.11.1 jdk: oraclejdk8 +dist: trusty notifications: email: false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f5ba3fdf9..cca3312b7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-2.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip From e452b1fb5ef8bd13e845b0fe18d3752b9c0a59be Mon Sep 17 00:00:00 2001 From: Vexatos Date: Wed, 25 Dec 2019 23:54:36 +0100 Subject: [PATCH 4/8] Switched to Gradle 5 version on Minecraft 1.7.10 Using a fork of ForgeGradle for that which updates it to that version. --- build.gradle | 95 ++++++++++++------------ gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 50 insertions(+), 47 deletions(-) diff --git a/build.gradle b/build.gradle index 257789d86..e810eee5b 100644 --- a/build.gradle +++ b/build.gradle @@ -9,20 +9,21 @@ buildscript { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } + maven { + url = "https://jitpack.io" + } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + classpath 'com.github.CDAGaming:ForgeGradle:1c670759c5' + classpath 'com.github.CDAGaming:CurseGradle:184e4322fd' } } -plugins { - id "com.matthewprenger.cursegradle" version "1.0.9" -} - apply plugin: 'scala' apply plugin: 'forge' apply plugin: 'idea' apply plugin: 'maven-publish' +apply plugin: 'com.matthewprenger.cursegradle' file "build.properties" withReader { def prop = new Properties() @@ -77,53 +78,61 @@ repositories { name = "mightypirates" url = "https://maven.cil.li/" } + // These are necessary because some parts of the maven repo is weirdly structured, this needs to be fixed. + ivy { + name 'weird maven repos' + artifactPattern "https://maven.cil.li/[module]/[revision]/[module]-[revision].[ext]" + } + ivy { + name 'weird maven repos 2' + artifactPattern "https://maven.cil.li/[module]/[revision]/[module]-[revision]-[classifier].[ext]" + } } configurations { - provided embedded - compile.extendsFrom embedded + implementation.extendsFrom embedded } dependencies { - provided "appeng:RotaryCraft:${config.rotc.version}:api" - provided ("appeng:appliedenergistics2:${config.ae2.version}:dev") { + compileOnly "appeng:RotaryCraft:${config.rotc.version}:api" + compileOnly ("appeng:appliedenergistics2:${config.ae2.version}:dev") { exclude module: 'buildcraft' } - provided "codechicken:CodeChickenLib:${config.minecraft.version}-${config.ccl.version}:dev" - provided "codechicken:EnderStorage:${config.minecraft.version}-${config.es.version}:dev" - provided "codechicken:ForgeMultipart:${config.minecraft.version}-${config.fmp.version}:dev" - provided "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" - provided "codechicken:WR-CBE:${config.minecraft.version}-${config.wrcbe.version}:dev" - provided "com.bluepowermod:BluePower:${config.bluepower.version}:deobf" - provided "com.gregoriust.gregtech:gregtech_${config.minecraft.version}:${config.gt.version}:dev" - provided "igwmod:IGW-Mod-1.7.10:${config.igwmod.version}:userdev" - provided "li.cil.tis3d:TIS-3D:${config.tis3d.version}:dev" - provided "mcp.mobius.waila:Waila:${config.waila.version}_${config.minecraft.version}:dev" - provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" - provided "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:dev" - provided "dev.modwarriors.notenoughkeys:NotEnoughKeys:${config.minecraft.version}-${config.nek.version}:deobf-dev" - provided "qmunity:QmunityLib:${config.qmunitylib.version}:deobf" - provided "tmech:TMechworks:${config.minecraft.version}-${config.tmech.version}:deobf" - provided ("mrtjp:ProjectRed:${config.projred.version}:dev") { + compileOnly "codechicken:CodeChickenLib:${config.minecraft.version}-${config.ccl.version}:dev" + compileOnly "codechicken:EnderStorage:${config.minecraft.version}-${config.es.version}:dev" + compileOnly "codechicken:ForgeMultipart:${config.minecraft.version}-${config.fmp.version}:dev" + compileOnly "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" + compileOnly "codechicken:WR-CBE:${config.minecraft.version}-${config.wrcbe.version}:dev" + compileOnly "com.bluepowermod:BluePower:${config.bluepower.version}:deobf" + compileOnly "com.gregoriust.gregtech:gregtech_${config.minecraft.version}:${config.gt.version}:dev" + compileOnly "igwmod:IGW-Mod-1.7.10:${config.igwmod.version}:userdev" + compileOnly "li.cil.tis3d:TIS-3D:${config.tis3d.version}:dev" + compileOnly "mcp.mobius.waila:Waila:${config.waila.version}_${config.minecraft.version}:dev" + compileOnly "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" + compileOnly "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:dev" + compileOnly "dev.modwarriors.notenoughkeys:NotEnoughKeys:${config.minecraft.version}-${config.nek.version}:deobf-dev" + compileOnly "qmunity:QmunityLib:${config.qmunitylib.version}:deobf" + compileOnly "tmech:TMechworks:${config.minecraft.version}-${config.tmech.version}:deobf" + compileOnly ("mrtjp:ProjectRed:${config.projred.version}:dev") { exclude module: 'CoFHCore' } - // provided "coloredlightscore:ColoredLightsCore:${config.coloredlights.version}:api" + // compileOnly "coloredlightscore:ColoredLightsCore:${config.coloredlights.version}:api" - provided name: 'buildcraft', version: config.bc.version, classifier: "dev", ext: 'jar' - provided name: 'GalacticraftCoreAll', version: config.gc.version, ext: 'jar' - provided name: 'MekanismAll', version: config.mekanism.version, ext: 'jar' - provided name: 'redlogic', version: config.redlogic.version, ext: 'jar' + compileOnly name: 'buildcraft', version: config.bc.version, classifier: "dev", ext: 'jar' + compileOnly name: 'GalacticraftCoreAll', version: config.gc.version, ext: 'jar' + compileOnly name: 'MekanismAll', version: config.mekanism.version, ext: 'jar' + compileOnly name: 'redlogic', version: config.redlogic.version, ext: 'jar' - provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' - provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' - provided name: 'MineFactoryReloaded', version: config.mfr.version, ext: 'jar' - provided name: 'ComputerCraft', version: config.cc.version, ext: 'jar' - provided name: 'EnderIO', version: config.eio.version, ext: 'jar' - provided name: 'Railcraft', version: config.rc.version, ext: 'jar' - provided name: 'BloodMagic', version: config.bloodmagic.version, ext: 'jar' - provided name: 'ExtraCells', version: config.ec.version, ext: 'jar' - provided name: 'ThaumicEnergistics', version: config.thaumicenergistics.version, ext: 'jar' + compileOnly name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' + compileOnly name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' + compileOnly name: 'MineFactoryReloaded', version: config.mfr.version, ext: 'jar' + compileOnly name: 'ComputerCraft', version: config.cc.version, ext: 'jar' + compileOnly name: 'EnderIO', version: config.eio.version, ext: 'jar' + compileOnly name: 'Railcraft', version: config.rc.version, ext: 'jar' + compileOnly name: 'BloodMagic', version: config.bloodmagic.version, ext: 'jar' + compileOnly name: 'ExtraCells', version: config.ec.version, ext: 'jar' + compileOnly name: 'ThaumicEnergistics', version: config.thaumicenergistics.version, ext: 'jar' compile 'com.google.code.findbugs:jsr305:1.3.9' // Annotations used by google libs. @@ -134,13 +143,6 @@ dependencies { testCompile "org.scalatest:scalatest_2.11:2.2.6" } -// Add the "provided" dependencies to the compile (but NOT runtime) classpath. -sourceSets.main.compileClasspath += [configurations.provided] - -idea.module.scopes.PROVIDED.plus += [configurations.provided] -// TODO Causes errors on Gradle 2 for me (No such property: allDependencies for class: java.io.File). -//eclipse.classpath.plusConfigurations += [configurations.provided] - minecraft { version = "${config.minecraft.version}-${config.forge.version}" @@ -255,6 +257,7 @@ curseforge { changelog = file("changelog.md") addGameVersion config.minecraft.version addGameVersion "Java 8" + mainArtifact jar } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cca3312b7..6afbcbb43 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip From 6e242128ee93b0ae268d5452cc9e3cd77ff6eea6 Mon Sep 17 00:00:00 2001 From: Cruor Date: Thu, 26 Dec 2019 02:51:38 +0100 Subject: [PATCH 5/8] Added binary support to 'text.internal.reader' --- .../assets/opencomputers/loot/openos/lib/core/full_text.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua index 2f9c33e64..2be24ec11 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua @@ -181,7 +181,7 @@ function text.internal.reader(txt, mode) }, {__index=text.internal.stream_base((mode or ""):match("b"))}) process.closeOnExit(reader) - return require("buffer").new("r", reader) + return require("buffer").new(more or "r", reader) end function text.internal.writer(ostream, mode, append_txt) From 004ada9ae8bd6db3edd5c40b0444e289caba5fdf Mon Sep 17 00:00:00 2001 From: Cruor Date: Thu, 26 Dec 2019 03:10:18 +0100 Subject: [PATCH 6/8] Fixed typo --- .../assets/opencomputers/loot/openos/lib/core/full_text.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua index 2be24ec11..42e860da0 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua @@ -181,7 +181,7 @@ function text.internal.reader(txt, mode) }, {__index=text.internal.stream_base((mode or ""):match("b"))}) process.closeOnExit(reader) - return require("buffer").new(more or "r", reader) + return require("buffer").new(mode or "r", reader) end function text.internal.writer(ostream, mode, append_txt) From 8fe92ee1916fac881b9da68c589eb9fdf6b4070f Mon Sep 17 00:00:00 2001 From: payonel Date: Sat, 25 Jan 2020 15:28:54 -0800 Subject: [PATCH 7/8] fix text stream writer and clean up reader code along with this --- .../assets/opencomputers/loot/openos/lib/core/full_text.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua index 42e860da0..0f982fa1c 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua @@ -181,7 +181,7 @@ function text.internal.reader(txt, mode) }, {__index=text.internal.stream_base((mode or ""):match("b"))}) process.closeOnExit(reader) - return require("buffer").new(mode or "r", reader) + return require("buffer").new((mode:match("[rb]+") or "r"), reader) end function text.internal.writer(ostream, mode, append_txt) @@ -223,7 +223,7 @@ function text.internal.writer(ostream, mode, append_txt) }, {__index=text.internal.stream_base((mode or ""):match("b"))}) process.closeOnExit(writer) - return require("buffer").new("w", writer) + return require("buffer").new((mode:match("[awb]+") or "w"), writer) end function text.detab(value, tabWidth) From 5b1c60f5ed144883550431503081f18f6948cae7 Mon Sep 17 00:00:00 2001 From: payonel Date: Sat, 25 Jan 2020 16:12:00 -0800 Subject: [PATCH 8/8] simplify io stream argument options also, fix mistake in text streams closes: #3201 --- .../opencomputers/loot/openos/lib/core/full_text.lua | 4 ++-- .../assets/opencomputers/loot/openos/lib/io.lua | 9 ++------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua index 0f982fa1c..72e55683b 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua @@ -181,7 +181,7 @@ function text.internal.reader(txt, mode) }, {__index=text.internal.stream_base((mode or ""):match("b"))}) process.closeOnExit(reader) - return require("buffer").new((mode:match("[rb]+") or "r"), reader) + return require("buffer").new((mode or "r"):match("[rb]+"), reader) end function text.internal.writer(ostream, mode, append_txt) @@ -223,7 +223,7 @@ function text.internal.writer(ostream, mode, append_txt) }, {__index=text.internal.stream_base((mode or ""):match("b"))}) process.closeOnExit(writer) - return require("buffer").new((mode:match("[awb]+") or "w"), writer) + return require("buffer").new((mode or "w"):match("[awb]+"), writer) end function text.detab(value, tabWidth) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/io.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/io.lua index 1a6f25ce7..b6ff97116 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/io.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/io.lua @@ -47,17 +47,12 @@ end function io.stream(fd,file,mode) checkArg(1,fd,'number') + checkArg(2, file, "table", "string", "nil") assert(fd>=0,'fd must be >= 0. 0 is input, 1 is stdout, 2 is stderr') local dio = require("process").info().data.io if file then if type(file) == "string" then - local result, reason = io.open(file, mode) - if not result then - error(reason, 2) - end - file = result - elseif not io.type(file) then - error("bad argument #1 (string or file expected, got " .. type(file) .. ")", 2) + file = assert(io.open(file, mode)) end dio[fd] = file end