綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[其他] 紅石黑屏

 關閉 [複製連結] 查看: 1072|回覆: 6|好評: 0
跳轉到指定樓層
樓主
nelson45693 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2014-2-19 21:37
由 手機網頁 發佈

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
我打了紅石的插件但為什麽用黏性活塞就黑屏了,是我接錯嗎
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
a7833141 | 收聽TA | 只看該作者
發表於 2014-2-20 04:32
由 手機網頁 發佈
nelson45693 發表於 2014-2-19 21:37我打了紅石的插件但為什麽用黏性活塞就黑屏了,是我接錯嗎

不是黑屏八應該是當機
用文本開啟你的紅石mod
第26行最後的"253"改成"2"就好了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| nelson45693 | 收聽TA | 只看該作者
發表於 2014-2-20 20:56
由 手機網頁 發佈
我打的是js代碼能給載點嗎
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
a7833141 | 收聽TA | 只看該作者
發表於 2014-2-21 12:22
由 手機網頁 發佈
nelson45693 發表於 2014-2-20 20:56我打的是js代碼能給載點嗎

你按下去會有選項
從那邊改
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| nelson45693 | 收聽TA | 只看該作者
發表於 2014-2-21 17:30
我打了可是沒用你的紅石js代碼能給我ㄇ
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
a7833141 | 收聽TA | 只看該作者
發表於 2014-2-21 23:55
由 手機網頁 發佈
nelson45693 發表於 2014-2-21 17:30我打了可是沒用你的紅石js代碼能給我ㄇ

你上網隨便找一個紅石mod
用文本開啟  刪掉全文
把下面的東西複製貼進裡面
var powerLen = 14;
var powerTime = 50;
var redstoneTick = 20;

var buttonId = 255;
var leverId = 50; // torch, torch, torch. Is there any better solution?
var repeatorId = 249;
var wireId = 248;
var pWireId = 246;

var aButtonId = 16;
var aLeverId = 56;
var aRepeatorId = 41;
var aWireId = 103;

var pistonId = 128;
var sPistonId = 156;
var pistonExtendId = 0;

var pressurePlateId = 44;

/* CODE */

var power = false;
var powerTimeout = 2;
var rsTick = 20;
var powerBlockX, powerBlockY, powerBlockZ;
var pistonBlockX, pistonBlockY, pistonBlockZ;


function clearCTable(x,y,z){
  setTile(x-3, y+1, z-2, 0);
  setTile(x-2, y+1, z-2, 0);
  setTile(x-1, y+1, z-2, 0);
  
  setTile(x-3, y+1, z-1, 0);
  setTile(x-2, y+1, z-1, 0);
  setTile(x-1, y+1, z-1, 0);
      
  setTile(x-3, y+1, z, 0);
  setTile(x-2, y+1, z, 0);
  setTile(x-1, y+1, z, 0);
}

function useItem(x,y,z,itemId,blockId,side)
{
  if(blockId == aButtonId || blockId == aLeverId || itemId == aWireId){
    // Use alternative scheme. Okay.
    buttonId = aButtonId;
    leverId = aLeverId;
    repeatorId = aRepeatorId;
    wireId = aWireId;
  }
  
  if(blockId == 58 && itemId == wireId){
    if(getTile(x, y, z-1) == 48 &&
      
       getTile(x-1, y, z) == 48 &&
       getTile(x-2, y, z) == 48 &&
       getTile(x-3, y, z) == 48 &&
      
       getTile(x-1, y, z-1) == 48 &&
       getTile(x-2, y, z-1) == 48 &&
       getTile(x-3, y, z-1) == 48 &&
      
            
       getTile(x-1, y, z-2) == 48 &&
       getTile(x-2, y, z-2) == 48 &&
       getTile(x-3, y, z-2) == 48){
      
      // craft!
      
      var c1x1 = getTile(x-3, y+1, z-2);
      var c2x1 = getTile(x-2, y+1, z-2);
      var c3x1 = getTile(x-1, y+1, z-2);
      
      var c1x2 = getTile(x-3, y+1, z-1);
      var c2x2 = getTile(x-2, y+1, z-1);
      var c3x2 = getTile(x-1, y+1, z-1);
      
      var c1x3 = getTile(x-3, y+1, z);
      var c2x3 = getTile(x-2, y+1, z);
      var c3x3 = getTile(x-1, y+1, z);
      
      // Craft button:
      // free - free - free
      // free - stone - free
      // free - free - free
      
      if(c1x1 == 0 && c2x1 == 0 && c3x1 == 0 &&
         c1x2 == 0 && c2x2 == 1 && c3x2 == 0 &&
         c1x3 == 0 && c2x3 == 0 && c3x3 == 0){
        clearCTable(x,y,z);
        setTile(x, y+1, z-1, buttonId);
      }
      
      // Craft lever:
      // free - free - free
      // free - plank - free
      // free - stone - free
      
      if(c1x1 == 0 && c2x1 == 0 && c3x1 == 0 &&
         c1x2 == 0 && c2x2 == 5 && c3x2 == 0 &&
         c1x3 == 0 && c2x3 == 1 && c3x3 == 0){
        clearCTable(x,y,z);
        setTile(x, y+1, z-1, leverId);
      }
      
      // Craft repeator:
      // free - free - free
      // lever - wire - lever
      // stone - stone - stone
      
      if(c1x1 == 0 && c2x1 == 0 && c3x1 == 0 &&
         c1x2 == leverId && c2x2 == wireId && c3x2 == leverId &&
         c1x3 == 1 && c2x3 == 1 && c3x3 == 1){
        clearCTable(x,y,z);
        setTile(x, y+1, z-1, repeatorId);
      }
      
      // Craft piston:
      // plank - plank - plank
      // cobble - iron - cobble
      // cobble - wire - cobble
      
      
      if(c1x1 == 5 && c2x1 == 5 && c3x1 == 5 &&
         c1x2 == 4 && c2x2 == 42 && c3x2 == 4 &&
         c1x3 == 4 && c2x3 == wireId && c3x3 == 4){
        clearCTable(x,y,z);
        setTile(x, y+1, z-1, pistonId);
      }
      
      // Craft sticky piston:
      // free - free   - free
      // free - leaves - free
      // free - piston - free
      
      
      if(c1x1 == 0 && c2x1 == 0        && c3x1 == 0 &&
         c1x2 == 0 && c2x2 == 18       && c3x2 == 0 &&
         c1x3 == 0 && c2x3 == pistonId && c3x3 == 0){
        clearCTable(x,y,z);
        setTile(x, y+1, z-1, pistonId);
      }
      
      preventDefault();
    }else{
      // make a 3x3 square for redstone crafting
      // and yes, it doesn"t support other items crafting, sorry
      // and yes, I"m going to create a mod for it
      setTile(x, y-1, z, 48);
      setTile(x-1, y-1, z, 48);
      setTile(x+1, y-1, z, 48);
      
      setTile(x, y-1, z-1, 48);
      setTile(x-1, y-1, z-1, 48);
      setTile(x+1, y-1, z-1, 48);
      
      setTile(x, y-1, z+1, 48);
      setTile(x-1, y-1, z+1, 48);
      setTile(x+1, y-1, z+1, 48);
      
      
      setTile(x+2, y-1, z, 48);
      setTile(x+2, y-1, z+1, 58);
      
      setTile(x, y, z, 0);
      
      preventDefault();
    }
  }else if(blockId == buttonId){
    if(buttonId==255?(getTile(x,y-1,z)!=48):true){
      powerBlockX = x;
      powerBlockY = y;
      powerBlockZ = z
      ewtX = new Array();
      ewtY = new Array();
      ewtZ = new Array();
      
      powerTimeout = powerTime;
      rsTick = 1;
      power = true;
      preventDefault();
    }
  }else if(blockId == leverId){
   powerBlockX = x;
    powerBlockY = y;
    powerBlockZ = z
    ewtX = new Array();
    ewtY = new Array();
    ewtZ = new Array();
   
    powerTimeout = powerTimeout==-11?0:-11;
    rsTick = 1;
    power = true;
    preventDefault();
  }else if((blockId == 73 || blockId == 74) && (itemId == 257 || itemId == 285 || itemId == 278)){
    // if it is redstone ore
    // drop 4-5 redstone
    var howMuch = 4+parseInt(Math.random());
    addItemInventory(wireId, howMuch);
    setTile(x,y,z,0);
    preventDefault();
  }
}
function attackHook(attacker, victim)
{
//Your Code Here
}

var wereThereX, wereThereY, wereThereZ;
var ewtX, ewtY, ewtZ; // earlier turn were there
var nextTurn = false;
var nextEnable = false;
var nextTurnX, nextTurnY, nextTurnZ, nextTurnLen;

function prepare(){
wereThereX = new Array();
wereThereY = new Array();
wereThereZ = new Array();
nextTurnX = new Array();
nextTurnY = new Array();
nextTurnZ = new Array();
nextTurnLen = new Array();
}
function canGo(x,y,z,mode){
  // MODE 0 - Redstone
  // MODE 1 - Repeator
  // MODE 2 - TNT
  // MODE 3 - Piston
  // MODE 4 - Door
  if(mode==0?(getTile(x,y,z) == wireId || getTile(x,y,z) == pWireId):
    (mode==1?(getTile(x,y,z) == repeatorId):
    (mode==2?(getTile(x,y,z) == 46):
    (mode==3?(getTile(x,y,z) == pistonId || getTile(x,y,z) == sPistonId):
    (mode==4?(getTile(x,y,z) == 64):false))))){
    for(var i=0;i<wereThereX.length;i++){
      if(wereThereX == x && wereThereY == y && wereThereZ == z){
        // We were there
        return false;
      }
    }
   
    for(var i=0;i<ewtX.length;i++){
      if(ewtX == x && ewtY == y && ewtZ == z){
        ewtX.splice(i,1);
        ewtY.splice(i,1);
        ewtZ.splice(i,1);
      }
    }
    return true;
  }else{
    return false;
  }
}

function goPowerA(enable,x,y,z,len,dir){
  if(canGo(x,y,z,0)){
    // Redstone
    if(enable?(getTile(x,y,z)!=pWireId):(getTile(x,y,z)!=wireId)) setTile(x,y,z,enable?pWireId:wireId);
    wereThereX.push(x);
    wereThereY.push(y);
    wereThereZ.push(z);
   
    nextTurn = true;
    nextEnable = enable;
    nextTurnX.push(x);
    nextTurnY.push(y);
    nextTurnZ.push(z);
    nextTurnLen.push(len+1);
    //goPower(enable,x,y,z,len+1);
  }else if(canGo(x,y,z,1)){
    // Repeator
    wereThereX.push(x);
    wereThereY.push(y);
    wereThereZ.push(z);
   
    nextTurn = true;
    nextEnable = enable;
    nextTurnX.push(x);
    nextTurnY.push(y);
    nextTurnZ.push(z);
    nextTurnLen.push(0);
    //goPower(enable,x,y,z,0);
  }else if(canGo(x,y,z,2)){
    // TNT
    explode(x,y,z,1);
  }else if(canGo(x,y,z,3)){
    // YAY! Piston!
    if(enable){
      if(dir == 0){
        pistonB(x,y,z,-1,0,0);
      }else if(dir == 1){
        pistonA(x,y,z,1,0,0,255);
      }else if(dir == 2){
        pistonB(x,y,z,0,0,-1);
      }else if(dir == 3){
        pistonA(x,y,z,0,0,1,255);
      }else if(dir == 4){
        pistonB(x,y,z,0,-1,0,255);
      }else if(dir == 5){
        pistonA(x,y,z,0,1,0,128);
      }/*else if(dir == 4){
pistonDown(x,y,z);
}*/
    }else{
      var sticky = (getTile(x,y,z) == sPistonId);
      
      if(dir == 0){
        setTile(x-1,y,z,sticky?getTile(x-2,y,z):0);
        if(sticky)setTile(x-2,y,z,0);
      }else if(dir == 1){
        setTile(x+1,y,z,sticky?getTile(x-2,y,z):0);
        if(sticky)setTile(x+2,y,z,0);
      }else if(dir == 2){
        setTile(x,y,z-1,sticky?getTile(x,y,z-2):0);
        if(sticky)setTile(x,y,z-2,0);
      }else if(dir == 3){
        setTile(x,y,z+1,sticky?getTile(x,y,z+2):0);
        if(sticky)setTile(x,y,z+2,0);
      }else if(dir == 4){
        setTile(x,y-1,z,sticky?getTile(x,y-2,z):0);
        if(sticky)setTile(x,y-2,z,0);
      }else if(dir == 5){
        setTile(x,y+1,z,sticky?getTile(x,y+2,z):0);
        if(sticky)setTile(x,y+2,z,0);
      }
    }
  }else if(canGo(x,y,z,4)){
    // Door!
    if(getTile(x-1,y,z) == 0) { door(x-1,y,z); }
    else if(getTile(x+1,y,z) == 0) { door(x+1,y,z); }
    else if(getTile(x,y,z-1) == 0) { door(x,y,z-1); }
    else if(getTile(x,y,z+1) == 0) { door(x,y,z+1); }
  }
}

function pistonA(x, y, z, dirX, dirY, dirZ, hm){
  //clientMessage(x+" "+y+" "+z+" "+dirX+" "+dirY+" "+dirZ+" "+hm);
  if(getTile(x+dirX,y+dirY,z+dirZ) != pistonExtendId){
    if(getTile(x+dirX,y+dirY,z+dirZ) != 0){
      var oY = dirX==1?x:(dirY==1?y:z); // begin point
      var gtY = oY; // go-to-point
      for(var i=oY;i<hm;i++){
        if(getTile((dirX==1?i:x),(dirY==1?i:y),(dirZ==1?i:z)) == 0) {
          gtY = i;
          break;
       }
      }
      
      for(var i=gtY-1;i>oY;i--)
      {
        setTile((dirX==1?i+1:x),(dirY==1?i+1:y),(dirZ==1?i+1:z), getTile((dirX==1?i:x),(dirY==1?i:y),(dirZ==1?i:z)));
      }
    }
    setTile(x+dirX,y+dirY,z+dirZ,pistonExtendId);
  }
}

function pistonB(x, y, z, dirX, dirY, dirZ){
  
  if(getTile(x+dirX,y+dirY,z+dirZ) != pistonExtendId){
    if(getTile(x+dirX,y+dirY,z+dirZ) != 0){
      var oY = dirX==-1?x:(dirY==-1?y:z); // begin point
      var gtY = oY; // go-to-point
      for(var i=oY;i>0;i--){
        if(getTile((dirX==-1?i:x),(dirY==-1?i:y),(dirZ==-1?i:z)) == 0) {
          gtY = i;
          break;
       }
      }
      
      for(var i=gtY+1;i<oY;i++)
      {
        setTile((dirX==-1?i-1:x),(dirY==-1?i-1:y),(dirZ==-1?i-1:z), getTile((dirX==-1?i:x),(dirY==-1?i:y),(dirZ==-1?i:z)));
      }
    }
    setTile(x+dirX,y+dirY,z+dirZ,pistonExtendId);
  }
}

function door(x, y, z){
setTile(x,y,z,0);
setTile(x,y,z,1);
setTile(x,y,z,0);
}
function goPower(enable,x,y,z,len){
  if(len>powerLen) return;
  goPowerA(enable, x-1, y, z, len, 0);
  goPowerA(enable, x+1, y, z, len, 1);
  goPowerA(enable, x, y, z-1, len, 2);
  goPowerA(enable, x, y, z+1, len, 3);
  goPowerA(enable, x, y-1, z, len, 4);
  goPowerA(enable, x, y+1, z, len, 5);
}

var wereOnPressurePlate = false;
function modTick()
{
  if(nextTurn){
    nextTurn = false;

    var tntX = nextTurnX; // tnt - tmpNextTurn
    var tntY = nextTurnY;
    var tntZ = nextTurnZ;
    var tntLen = nextTurnLen;
    nextTurnX = new Array();
    nextTurnY = new Array();
    nextTurnZ = new Array();
    nextTurnLen = new Array();
   
    for(var i=0;i<tntX.length;i++){
      goPower(nextEnable, tntX, tntY, tntZ, tntLen);
    }
   
    if(nextTurn == false){
      for(var i=0;i<ewtX.length;i++){
        if(getTile(ewtX, ewtY, ewtZ) == pWireId)
           setTile(ewtX, ewtY, ewtZ, wireId);
      }
      
      ewtX = wereThereX;
      ewtY = wereThereY;
      ewtZ = wereThereZ;
    }
  }else{
    if(wereOnPressurePlate){
      if(getTile(getPlayerX(), getPlayerY()-1.6, getPlayerZ()) == pressurePlateId){
        rsTick--;
        if(rsTick <= 0){
          prepare();
          goPower(true, powerBlockX, powerBlockY, powerBlockZ, 0);
          rsTick = redstoneTick;
        }
      }else{
        prepare();
        goPower(false, powerBlockX, powerBlockY, powerBlockZ, 0);
        wereOnPressurePlate = false;
      }
    }else if(power){
      if(powerTimeout != -11) powerTimeout--;
      if(powerTimeout > 0 || powerTimeout == -11){
        if(getTile(powerBlockX, powerBlockY, powerBlockZ) != buttonId &&
           getTile(powerBlockX, powerBlockY, powerBlockZ) != leverId){
          prepare();
          goPower(false, powerBlockX, powerBlockY, powerBlockZ, 0);
          power = false;
        }else{
          rsTick--;
          if(rsTick <= 0){
            prepare();
            goPower(true, powerBlockX, powerBlockY, powerBlockZ, 0);
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 0 反對 1

使用道具 舉報

7
 樓主| nelson45693 | 收聽TA | 只看該作者
發表於 2014-2-25 20:18
由 手機網頁 發佈
謝謝  你的幫忙可以了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則