본문 바로가기
Game/Minecraft

멀티플레이어에뛰운내서버의수정을 막자

by ryush00 2013. 4. 1.

안녕하세요. 말똥이입니다.

이번 포스팅은 거의 메모라 보시면 됩니다.


저번 포스팅에서 0번에다가(첫번째에다가) 자신의 서버를 뛰었는데

그거 수정 막기입니다.



해야될거

Shift를 이용한 0번 위치이동 막기

0번은 수정불가






Shift를 이용한 0번 위치이동 막기

GuiSlotServer.java

            if (par2 && var5)

            {

                GuiMultiplayer.func_74008_b(this.parentGui, par1);

            }

아래에 else if 문에

var3 != 0 && GuiMultiplayer.getSelectedServer(this.parentGui) != 0

를 추가


GuiMultiplayer.java


           if (isShiftKeyDown() && par2 == 200)

           {

               if (var3 > 0 && var3 < this.internetServerList.countServers())

               {

                   this.internetServerList.swapServers(var3, var3 - 1);

                   --this.selectedServer;

                   if (var3 < this.internetServerList.countServers() - 1)

                   {

                       this.serverSlotContainer.func_77208_b(-this.serverSlotContainer.slotHeight);

                   }

               }

           }

           else if (isShiftKeyDown() && par2 == 208)

           {

               if (var3 < this.internetServerList.countServers() - 1)

               {

                   this.internetServerList.swapServers(var3, var3 + 1);

                   ++this.selectedServer;

                   if (var3 > 0)

                   {

                       this.serverSlotContainer.func_77208_b(this.serverSlotContainer.slotHeight);

                   }

               }

           }

           else if (par1 == 13)

           {

               this.actionPerformed((GuiButton)this.buttonList.get(2));

           }

           else

           {

               super.keyTyped(par1, par2);

           }


이걸 var3 != 0를 체크하는 if문으로 감싸기


0번 수정불가하게 만들기

GuiSlotServer.java



            GuiMultiplayer.getButtonEdit(this.parentGui).enabled = var6;

            GuiMultiplayer.getButtonDelete(this.parentGui).enabled = var6;

이걸


            if (GuiMultiplayer.getSelectedServer(this.parentGui) != 0) {

            GuiMultiplayer.getButtonEdit(this.parentGui).enabled = var6;

            GuiMultiplayer.getButtonDelete(this.parentGui).enabled = var6;

            }

            else

            {

                GuiMultiplayer.getButtonEdit(this.parentGui).enabled = false;

                GuiMultiplayer.getButtonDelete(this.parentGui).enabled = false;            

            }


이렇게 if문으로 감싼다.

위에 var3으로 해도 된다고 생각하면 오산.

var3은 수정되기전에 정보라 var3 넣으면 다음클릭때 enabled가 false로 바뀌는 일이 일어난다.



그러면 수정불가하게 된다.



댓글