Minecraft 1.12.2용 OC XNet Driver 모드
OpenComputers가 XNet 네트워크를 활용하여 연결된 블록으로 아이템, 유체 및 에너지를 전송할 수 있게 해줍니다.
ocxnetdriver
OpenComputers + XNet = :heart:
OpenComputers가 XNet 네트워크를 활용하여 연결된 블록으로 아이템, 유체, 에너지를 전송할 수 있게 해줍니다.
알려진 문제
- 현재 제한이 없습니다. 즉, 엄청난 양을 순식간에 전송할 수 있습니다.
사용 가능한 메서드
메서드 설명
getConnectedBlocks() XNet 네트워크에 연결된 모든 블록이 담긴 테이블을 반환합니다
getSupportedCapabilities(pos[, side]) 주어진 블록이 지원하는 모든 기능을 나열합니다
getItems(pos[, side]) 주어진 인벤토리에 있는 모든 아이템이 담긴 테이블을 반환합니다
getFluids(pos[, side]) 주어진 탱크에 있는 모든 유체를 나열합니다
getEnergy(pos[, side]) 주어진 에너지 핸들러의 용량과 저장된 에너지를 가져옵니다
transferItem(sourcePos, sourceSlot, amount, targetPos[, sourceSide[, targetSide]]) 두 인벤토리 간에 아이템을 전송합니다
transferFluid(sourcePos, amount, targetPos, fluidName]) 두 탱크 간에 유체를 전송합니다
transferEnergy(sourcePos, amount, targetPos[, sourceSide[, targetSide]]) 두 에너지 핸들러 간에 에너지를 전송합니다
store(sourcePos, sourceSlot, database, entry[, sourceSide]) XNet 네트워크 어딘가에 있는 아이템스택을 데이터베이스 업그레이드에 저장합니다
개요
local component = require('component') local sides = require('sides') local serialization = require('serialization'); local xnet = component.xnet -- 발견된 모든 블록을 덤프하고 모든 바닐라 유형을 테이블에 추적 local chests = {} local tanks = {} local cells = {} for i,block in ipairs(xnet.getConnectedBlocks()) do print(serialization.serialize(block)) if(block.name == "minecraft:chest") then chests[chests+1] = block elseif(block.name == "thermalexpansion:tank") then tanks[tanks+1] = block elseif(block.name == "thermalexpansion:cell") then cells[cells+1] = block end end -- {name="thermalexpansion:cell",pos={z=0,y=-1,x=0},side="west",meta=0} -- {name="opencomputers:case3",pos={z=0,y=-1,x=1},side="north",meta=1} -- {name="thermalexpansion:tank",pos={z=0,y=0,x=-2},side="down",meta=0,connector="Dynamo"} -- {name="minecraft:chest",pos={z=1,y=-1,x=-2},side="north",meta=3,connector="Dynamo"} -- {name="thermalexpansion:dynamo",pos={z=0,y=-1,x=-3},side="east",meta=2,connector="Dynamo"} -- {name="thermalexpansion:tank",pos={z=0,y=1,x=-1},side="down",meta=0} -- {name="thermalexpansion:tank",pos={z=0,y=0,x=-2},side="east",meta=0} -- {name="xnet:controller",pos={z=0,y=0,x=0},side="west",meta=3} -- 첫 번째 상자의 내용물을 덤프: print(serialization.serialize(xnet.getItems(chests[1].pos))) -- { -- {maxSize=64,size=64,hasTag=false,maxDamage=0,damage=0,name="minecraft:stone",label="Stone"}, -- {maxSize=64,size=64,hasTag=false,maxDamage=0,damage=0,name="minecraft:hayblock",label="Hay Bale"}, -- [27]={maxSize=64,size=1,hasTag=false,maxDamage=0,damage=0,name="xnet:controller",label="Controller"}, -- n=27 -- } -- 첫 번째 탱크의 내용물을 덤프 print(serialization.serialize(xnet.getFluids(tanks[1].pos))) -- { -- {content={label="Essence of Knowledge",amount=4000,hasTag=false,name="experience"},capacity=20000}, -- n=1 -- } -- 첫 번째 셀의 내용물을 덤프 print(serialization.serialize(xnet.getEnergy(cells[1].pos))) -- {canExtract=true,stored=4000,capacity=2000000,canReceive=true} -- 상자 1의 슬롯 1에 있는 것 중 5개를 상자 2로 전송 print("Transferred: " .. tostring(xnet.transferItem(chests[1].pos, 1, 5, chests[2].pos)))
간단한 에너지 전송 예제
local component = require('component') local sides = require('sides') local serialization = require('serialization') local xnet = component.xnet print(serialization.serialize(xnet.getConnectedBlocks())) -- { -- {pos={y=-1,x=0,z=0},name="thermalexpansion:cell",side="west",meta=0}, -- {pos={y=-1,x=1,z=0},name="opencomputers:case3",side="north",meta=1}, -- {pos={y=-1,x=-3,z=0},name="thermalexpansion:dynamo",side="east",meta=2,connector="Dynamo"}, -- {pos={y=0,x=0,z=0},name="xnet:controller",side="west",meta=3}, -- n=4 -- } -- 다이나모와 셀을 찾아 위치 등을 저장 local energySource = nil local energyTarget = nil for i,block in ipairs(xnet.getConnectedBlocks()) do if(block.name == "thermalexpansion:dynamo") then energySource = block elseif(block.name == "thermalexpansion:cell") then energyTarget = block end end -- 소스를 찾을 수 없으면 중단 if(energySource == nil) then print("No dynamo found. Aborting!") os.exit(1) end -- 타겟을 찾을 수 없으면 중단 if(energyTarget == nil) then print("No cell found. Aborting!") os.exit(2) end -- XNet Connector 옆면을 사용하여 소스에서 타겟으로 1000RF 전송 local transferred, error = xnet.transferEnergy(energySource.pos, 1000, energyTarget.pos, sides[energySource.side], sides[energyTarget.side]) if(transferred ~= nil) then print(" - Transferred " .. transferred .. "RF to " .. serialization.serialize(energyTarget.pos)) -- - Transferred 1000RF to {y=-1,x=0,z=0} else print("Error: " .. error) end
OC XNet Driver 설치 방법
With Millida Launcher
Install Millida Launcher
The launcher is free: download it at millida.net/launcher and sign in with any nickname.
Click “Install” on this page
The launcher opens and installs the mod for Minecraft 1.12–1.12.2 automatically.
Launch the game
A profile with it appears in the launcher: click “Play”.
Manually
Download the file for your version
In the version list above, pick the file ocxnetdriver-1.0.3-b17.jar (22 KB) for your game version.
Put it in the mods folder
The folder is inside .minecraft (Windows: %appdata%\.minecraft\mods). If it does not exist, create it.
Launch the loader profile
Open “Mods” in the main menu: OC XNet Driver should be in the list.
Minecraft 1.12.2 runs on Java 8: with a different Java version the game may close right after launch.
버전
의존성 포함
| Minecraft | 로더 | 파일 | 날짜 | 작업 |
|---|---|---|---|---|
| 1.12.1 | — | ocxnetdriver-1.0.3-b17.jar21.7 KB | ||
| 1.12.1 | — | ocxnetdriver-1.0.2-b11.jar21.4 KB |
FAQ
Which Minecraft versions does OC XNet Driver work on?
There are files for 1.12.2, 1.12.1, 1.12. The newest is 1.12.2.
Which Java does OC XNet Driver need?
Minecraft 1.12.2 runs on Java 8. If the game closes right after launch, the usual cause is the wrong Java version in the profile settings.
Where can I download OC XNet Driver safely?
On this page: the file ocxnetdriver-1.0.3-b17.jar (22 KB) is stored on Millida’s server, with no link shorteners. SHA-1 checksum: c0168aa96831aa717f6c9339c991cba17ece7373.
리뷰
OC XNet Driver의 첫 평가를 남겨 보세요

