Skip to content

Minecraft 1.12.2용 OC XNet Driver 모드

OpenComputers가 XNet 네트워크를 활용하여 연결된 블록으로 아이템, 유체 및 에너지를 전송할 수 있게 해줍니다.

조회수
18 조회수
업데이트됨
업데이트됨 18.10.2026
  • 1.12 — 1.12.2

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

  1. Install Millida Launcher

    The launcher is free: download it at millida.net/launcher and sign in with any nickname.

  2. Click “Install” on this page

    The launcher opens and installs the mod for Minecraft 1.12–1.12.2 automatically.

  3. Launch the game

    A profile with it appears in the launcher: click “Play”.

Manually

  1. 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.

  2. Put it in the mods folder

    The folder is inside .minecraft (Windows: %appdata%\.minecraft\mods). If it does not exist, create it.

  3. 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의 첫 평가를 남겨 보세요

댓글 0

댓글을 작성하려면 로그인하세요로그인

비슷한 모드

모든 모드

이 항목 더 보기