Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

[Π£Ρ€ΠΎΠΊ][Π“Π»Π°Π²Π° 1] Учимся ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ для сСрвСра

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π£Ρ€ΠΎΠΊ ΠΏΠΎ написанию ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²

ЗдравствуйтС, Π² этой новости, я расскаТу Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ с нуля. НачнСм ΠΌΡ‹ с Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для Π΅Π³ΠΎ создания, ΠΈ напишСм ΠΌΠ°Π»Π΅Π½ΡŒΠΊΡƒΡŽ систСму. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для создания ΠΏΠ»Π°Π³ΠΈΠ½Π°

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Eclipse

ΠœΡ‹ скачали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ядро, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Java Project

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Next

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π—Π΄Π΅ΡΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Add External Jars ΠΈ ΠΈΡ‰Π΅ΠΌ свой JAR ядро (Π² ΠΌΠΎΠ΅ΠΌ случаС bukkit 1.8), ΠΈ отправляСм сюда

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π”Π°Π»Π΅Π΅, ΠΌΡ‹ создаСм Ρ„Π°ΠΉΠ» ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ создаСм Package Π² Ρ„Π°ΠΉΠ»Π΅ scr ΠΈ Π² Package создаСм Class. ВсС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π°.

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Когда Π²Ρ‹ создадитС Ρ„Π°ΠΉΠ», Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ 2 строкС extends JavaPlugin, Π·Π°Ρ‚Π΅ΠΌ, навСсти Π½Π° Π½Π΅Π³ΠΎ курсор ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚. ПослС Ρ‡Π΅Π³ΠΎ, Ρƒ вас появится строка с ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ»Π°Π³ΠΈΠ½Π°

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

И Ρ‚Π°ΠΊ. Π”Π°Π±Ρ‹ Π½Π΅ Ρ‚ΠΎΠΌΠΈΡ‚ΡŒ вас Π½ΡƒΠ΄Π½Ρ‹ΠΌΠΈ скринами, составил Π²Π°ΠΌ сразу Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Π΄Π°Ρ‡ΠΈ Π»ΠΎΠ³Π° Π² консоль. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΆΠ΅ разбСрСмся, Π° Π½Π΅ Ρ‚ΡƒΠΏΠΎ спишСм.

Π’Ρ‹ Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ спроситС, Π·Π°Ρ‡Π΅ΠΌ ΠΌΡ‹ пишСм < ΠΈ >> НСсколько Ρ€Π°Π·?
Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ эти скобочки, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ взаимодСйствиС с ΠΏΠ°Π±Π»ΠΈΠΊΠΎΠΌ. Если послС Π²Π²ΠΎΠ΄Π° public void onEnable() ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ <, Ρ‚ΠΎ всС Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°Π±Π»ΠΈΠΊ Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ.
Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°Π±Π»ΠΈΠΊ, Π½ΡƒΠΆΠ½ΠΎ ввСсти >. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Π½ΡƒΠΆΠ½ΠΎ Π² самом ΠΊΠΎΠ½Ρ†Π΅ ΠΈ Π² самом Π½Π°Ρ‡Π°Π»Π΅ строкС, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Ρ‰Π΅ Ρ€Π°Π· >. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ°Π±Π»ΠΈΠΊ ΠΈ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹

Π’ сСгодняшнСм ΡƒΡ€ΠΎΠΊΠ΅, ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сообщСниС Π² консоль ΠΎ запускС/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ консоли.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠœΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

ЗдравствуйтС посмотрСл Ρ‚Π΅ΠΌΡ‹ Π½Π° ΠΏΠΈΠΊΠ°Π±Ρƒ станСт ясно Ρ‡Ρ‚ΠΎ ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΏΠΎ написанию ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΡƒΠ²Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ. Π—Π°Ρ‚ΠΎ запросов Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² довольно ΠΌΠ½ΠΎΠ³ΠΎ.

Π Π°Π±ΠΎΡ‚Π° с plugin.yml

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ для Bukkit Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ слоТно.ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ эвСнты (события) ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π°Π½ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ эвСнты Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° с сСрвСра ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² выглядят Ρ‚Π°ΠΊ:

public void onJoin(PlayerJoinEvent event) <

event.setJoinMessage(event.getPlayer().getName() + » вошСл Π½Π° сСрвСр»);

public void onQuit(PlayerQuitEvent event) <

event.setQuitMessage(event.getPlayer().getName() + » ΠΏΠΎΠΊΠΈΠ½ΡƒΠ» сСрвСр»);

Рассмотрим ΠΈΡ… ΠΏΠΎΠ²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅. «@EventHandler» ΠΏΠ΅Ρ€Π΅Π΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ дальшС ΠΈΠ΄Ρ‘Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ эвСнта, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ с сСрвСра Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π° ΠΈΠ»ΠΈ иная функция ΠΏΡ€ΠΈ этом Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ «event» Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ значСния.

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ° Π½Π΅ получится Π·Π°Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сообщСниС:

event.setJoinMessage(event.getPlayer().getName() + » вошСл Π½Π° сСрвСр»);

Рассмотрим этот ΠΊΠΎΠ΄:

String playername = event.getPlayer().getName();

Π’Π°ΠΊ инициализируСтся пСрСмСнная playername содСрТащая Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ,

Π² ΠΊΠΎΠ½Ρ†Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚ΠΎΡΡ‚ΡŒ Π·Π½Π°ΠΊ «;» ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ строки ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΈ компиляции Π±ΡƒΠ΄Π΅Ρ‚ ошибка.

Π½Π° экран Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ «Hello World!»

Π·Π°ΠΌΠ΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ Π·Π½Π°ΠΊ + Π½Π΅ замСняСтся Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π» Π° просто ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ приступим ΠΊ написанию самого ΠΏΠ»Π°Π³ΠΈΠ½Π°.

Π’ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… понадобится ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для компиляции ΠΊΠΎΠ΄Π°, я ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ для Java EE. ПослС установки Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ craftbukkit.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² NetBeans ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚» (свСтло коричнСвая ΠΏΠ°ΠΏΠΊΠ° с плюсиком Π² ΠΏΠ°Π½Π΅Π»Π΅ инструмСнтов)

НаТмитС Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΈ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ класс Main

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ создаём ΠΏΠ°ΠΏΠΊΡƒ lib Π² Π½Π΅Ρ‘ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ скачанный craftbukkit послС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ сново Π² NetBeans ΠΆΠΌΡ‘ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ (слСва) Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² свойства, Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ «Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ» ΠΈ ΠΆΠΌΡ‘ΠΌ «Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ ΠΈΠ»ΠΈ jar» ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ craftbukkit.jar, ΠΆΠΌΡ‘ΠΌ ΠΎΠΊ ΠΈ Π΅Ρ‰Ρ‘ Ρ€Π°Π· ΠΎΠΊ.

ВозвращаСмся ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ классу

public class Main extends JavaPlugin implements Listener < <

JavaPlugin ΠΈ Listener Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹ красным Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Π½ΠΈΡ… ΠΈ Π·Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Alt+Enter появСтся подсказка ΠΆΠΌΡ‘ΠΌ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° org.bukkit.event.Listener»

ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ слову Ρ‚ΠΎΠΆΠ΅ самоС ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° org.bukkit.plugin.java.JavaPlugin»

public static void main(String[] args) <

// TODO code application logic here

public void onEnable() <

getServer().broadcastMessage(«ΠœΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½»);

public void onDisable() <

getServer().broadcastMessage(«ΠœΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½»);

public void onJoin(PlayerJoinEvent event) <

event.setJoinMessage(event.getPlayer().getName() + » зашСл Π½Π° сСрвСр»);

public void onQuit(PlayerQuitEvent event) <

event.setQuitMessage(event.getPlayer().getName() + » ΠΏΠΎΠΊΠΈΠ½ΡƒΠ» сСрвСр»);

с PlayerJoinEvent ΠΈ PlayerQuitEvent ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ самоС(ΠΈΠΌΠΎΡ€Ρ‚)

Π“ΠΎΡ‚ΠΎΠ²ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Π³ΠΎΡ‚ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΏΠΎ созданию ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² mineraft

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, созданныС для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ядро Spigot.

Π‘ΠΎΡ„Ρ‚ для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ :
Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ :
1) IntelliJ IDEA [+]
2) Eclipse [+]
3) NetBeans [+]
Для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ запуска этих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρƒ Вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн JDK (Java Development Kit) ΠΈ JRE (Java Runtime Environment)!

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚, созданный для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°, Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² Π‘Π  Eclipse.

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

3) Π’ появившСмся ΠΎΠΊΠ½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π² этом случаС » RuBukkitGuide «) ΠΈ ставим Ρ‚Π°ΠΊΠΈΠ΅ настройки:

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

3) Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ сами ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

2) Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Finish.

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

НачинаСм ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ!
Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΌΠΈ класс Main ΠΏΠΎΠΊΠ°-Ρ‡Ρ‚ΠΎ выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ доступ ΠΊ protected ΠΈ public полям ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ Java Π·Π½Π°Π»Π° навСрняка, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса (JavaPlugin), ΠΌΡ‹ скаТСм это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @Override. Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΡ‹ возьмСм ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса? onEnable(), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ запускаСт вСсь наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π‘Π°ΠΌΠΎ ядро Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ΠΏΠ»Π°Π³ΠΈΠ½, ΠΈ Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ всю Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Если ΠΌΡ‹ ΡƒΠ±Π΅Ρ€Π΅ΠΌ extends JavaPlugin ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ onEnable(), Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ Π² ΠΏΠ°ΠΏΠΊΡƒ plugins, ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ загрузится, ΠΈ Π΅Π³ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π² спискС ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ².

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ void? Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ onEnable() Π½ΠΈ Ρ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· return, Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± этом систСмС. (Π’ΠΈΠΏ доступа ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ: int, boolean ΠΈ Π΄Π°ΠΆΠ΅ String).

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ доступ? ПишСм this ΠΈ ставим Ρ‚ΠΎΡ‡ΠΊΡƒ. Нам ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²Π΅Π»Π° всС доступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ поля ΠΈΠ· класса JavaPlugin.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ? Ну Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈ запускС ΠΏΠ»Π°Π³ΠΈΠ½Π°, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ.
Для этого Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ onEnable() < >ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ < ΠΈ >пишСм Π½Π°ΡˆΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Она выглядит Ρ‚Π°ΠΊ: this.getLogger().info(«ΠŸΠ›Π£Π“Π˜Π Π ΠΠ‘ΠžΠ’ΠΠ˜Π’!»);
Π§Ρ‚ΠΎ ΠΌΡ‹ сдСлали, ввСдя эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ? ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ класс Logger, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ info(. ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ запустили.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

На Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π’ΡƒΡ‚ Ρ‚Ρ‹ моТСшь ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ написанию собствСнных ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для сСрвСра.

БРАЗУ ΠžΠ’ΠœΠ•Π§Π£:-УРОКИ ΠŸΠ˜Π‘ΠΠ› НЕ Π―.

Β°Ρ‚Π΅ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ постоянно ΠΏΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ.

НиТС ΡƒΡ€ΠΎΠΊΠΈ для MCPE

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚Π£Ρ€ΠΎΠΊ_1

Ну Ρ‡Ρ‚ΠΎ-ΠΆ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ приступим!

НСкоторыС ΡƒΠΆΠ΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ PocketMine (ΠΈΠ»ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π±ΡƒΠ΄Ρƒ Π·Π²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ PM!) обновился Π΄ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ API!

ΠžΠ»Π΄ΠΎΠ²Ρ‹Π΅ люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½ 0.8.1 Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΠ»ΠΈ свою ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρƒ, Π½ΠΎ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΡƒΡΠΏΠΎΠΊΠΎΠΈΠ»ΠΈΡΡŒ.

Новый API ΠΊΠ°ΠΊ Ρ€Π°Π· Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ.

Π’ΠΎΡ‚ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π² Ρ‡Π°Ρ‚ всСм ΠΈΠ³Ρ€ΠΎΠΊΠ°ΠΌ (ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ broadcast) Π² старом API Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ:

А вСдь Π² Π½ΠΎΠ²ΠΎΠΌ, ΠΊΡƒΠ΄Π° ΠΏΡ€ΠΎΡ‰Π΅!

ЧувствуСтС Ρ€Π°Π·Π½ΠΈΡ†Ρƒ? πŸ˜€

Π”Π°Π²Π°ΠΉΡ‚Π΅ для Π½Π°Ρ‡Π°Π»Π° создадим ΠΏΠ°ΠΏΠΊΡƒ нашСго ΠΏΠ»Π°Π³ΠΈΠ½Π°. (НапримСр: ExamplePlugin)

name: ExamplePlugin #Π’ΡƒΡ‚ вписываСм Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π°

main: ExamplePlugin\ExamplePlugin #А Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ вписываСм ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ нашСго класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ

version: 1.0 #Ну, Ρ‚ΡƒΡ‚ вСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π°

author: xpyctum #Автор ΠΏΠ»Π°Π³ΠΈΠ½Π°

api: [1.12.0] #ВСрсия API которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

load: POSTWORLD # (STARTUP / POSTWORLD). Когда ΠΏΠ»Π°Π³ΠΈΠ½Ρƒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ, Π½Π° самом стартС сСрвСра ΠΈΠ»ΠΈ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΈΡ€Π°.

default: true #Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ Π΅Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всСм. (42)

ΠœΡ‹ создали ΠΊΠΎΠ½Ρ„ΠΈΠ³ Ρ„Π°ΠΉΠ» ΠΏΠ»Π°Π³ΠΈΠ½Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠ»Π°Π³ΠΈΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ (Π² нашСм случаС /helloworld).

namespace ExamplePlugin; //Наш плагин

use pocketmine\plugin\PluginBase; //ДобавляСм ΠΊ ΠΏΠ»Π°Π³ΠΈΠ½Ρƒ элСмСнт PluginBase

class ExamplePlugin /* Π­Ρ‚ΠΎΡ‚ класс Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ plugin.yml */ extends PluginBase<

public function onEnable()<> //Ѐункция Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°

public function onDisable()<> //Ѐункция Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°

public function onLoad()<> //Ѐункция Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π°. (НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ)

//Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ onLoad ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π°Π²Ρ‚ΠΎΡ€Π° ΠΏΠ»Π°Π³ΠΈΠ½Π°.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² onEnable:

public function onEnable()<

$this->getLogger()->info(«ExamplePlugin Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½»); //Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ Π² консоль Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½. Π’ΠΈΠΏ сообщСния: info

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

На Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚

Π˜Ρ‚Π°ΠΊ, ΠΌΠ°Π»ΡŒΡ‡ΠΈΠΊΠΈ ΠΈ Π΄Π΅Π²ΠΎΡ‡ΠΊΠΈ. МногиС ΠΈΠ· нас ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π² эту Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ пСсочницу. И Ρ‡ΡƒΡ‚ΡŒ мСньшС людСй ΠΆΠ΅Π»Π°ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ свой сСрвСр со своими ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π°ΠΌΠΈ ΠΈ ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΊΠ°ΠΌΠΈ, со своим Π½Π°Π±ΠΎΡ€ΠΎΠΌ плагинов… Но случаСтся ΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΏΠΎΡ€ΠΎΠΉ Π½Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ½Π° какая-Ρ‚ΠΎ ΠΌΠ΅Π»ΠΎΡ‡ΠΎΠ²ΠΊΠ°, которая Π²ΡˆΠΈΡ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² монструозныС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹.
БСгодня я вас Π½Π°ΡƒΡ‡Ρƒ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для сСрвСра ΠΌΠ°ΠΉΠ½ΠΊΡ€Π°Ρ„Ρ‚Π°.

УстанавливаСм ΠΈ запускаСм Эклипс. Π—Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ вас с Π΅Π³ΠΎ интСрфСйсом Π½Π΅ стану. Π’ Π“ΡƒΠ³Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ статСй Π½Π° эту Ρ‚Π΅ΠΌΡƒ Π½Π°ΠΉΡ‚ΠΈ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, создаСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (Java Project).

Π’ появившСмся ΠΎΠΊΠ½Π΅, Π² ΠΏΠΎΠ»Π΅ Project name, пишСм любоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ JREΠΌΠΎΠΆΠ½ΠΎ
Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Π₯отя я Π½Π΅ знаю Π½Π° сколько это сильно влияСт Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½ΠΎ всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² настройках ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π·Π°Π½Π°Π²ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½.
.

Π‘Π»Π΅Π²Π°, Π² Package Explorer, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ нашС Π΄Ρ€Π΅Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π°ΠΌ ΠΏΠΎΠΊΠ° Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΡƒΡ‚Π½ΠΎΠ³ΠΎ Π½Π΅Ρ‚Ρƒ. Π”Π°ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Ρ‡Π΅Π³ΠΎ. Π˜ΡΠΏΡ€Π°Π²ΠΈΠΌ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. Π”ΠΎΠ±Π°Π²ΠΈΠΌ сначало ΠŸΠ°ΠΊΠ΅Ρ‚(package). Π“Ρ€ΡƒΠ±ΠΎ говоря,
ΠŸΠ°ΠΊΠ΅Ρ‚ – это пространство ΠΈΠΌΠ΅Π½(namespace) ΠΈ слуТит для ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
Π’ ΠΏΠΎΠ»Ρƒ Name Π²Π²ΠΎΠ΄ΠΈΠΌ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ: me.dmitriymx.firstplg.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Class Π² ΠΏΠ°ΠΊΠ΅Ρ‚.
Π’ ΠΏΠΎΠ»Π΅ Name Π²Π²ΠΎΠ΄ΠΈΠΌ имя Π½ΠΎΠ²ΠΎΠ³ΠΎ класса (Ρƒ мСня это DmxFirstPlugin).
ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ оставляСм ΠΊΠ°ΠΊ Π΅Ρ‚ΡΡŒ ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ созданиС.
Π’ΠΎΡ‚ Π²Ρ€ΠΎΠ΄Π΅ ΠΈ всё с подготовкой… Π₯отя Π½Π΅Ρ‚. Π—Π°Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎ Bukkit API. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π² Π»ΡŽΠ±ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ(Π»ΡƒΡ‡ΡˆΠ΅ Π² Ρ‚Ρƒ ΠΆΠ΅, Π³Π΄Π΅ ΠΈ workspace, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ) ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Для этого ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΏΠΊΠΌ(ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ) Π½Π° ΠΏΠ°ΠΏΠΊΠ΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Package Explorer ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Properties. Π’ появившСмся ΠΎΠΊΠ½Π΅, слСва, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Java Build Path. Π‘ΠΏΡ€Π°Π²Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Libraries. Π”Π°Π»Π΅Π΅ ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Add External JARs ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ скачСнный Bukkit API.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ каркаса для ΠΏΠ»Π°Π³ΠΈΠ½Π°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ приступим нСпосрСдствСнно ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

ИзмСним это
public class DmxFirstPlugin<
Π½Π° это
public class DmxFirstPlugin extends JavaPlugin<
Эклипс ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½Π΅Ρ‚ Π½Π°ΠΌ JavaPlugin, указывая Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΊΠΎΠ΄Π΅. Если подвСсти ΠΌΡ‹ΡˆΡŒ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, Ρ‚ΠΎ откроСтся окошко с описаниСм ошибки ΠΈ способы Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ класс ΠΈΠ· Bukkit API, для Ρ‡Π΅Π³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Import β€˜JavaPlugin’(org.bukkit.plugin.java). И сразу ΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅ΠΌ. ΠΊΠ°ΠΊ Π½Π°Π΄ всСм нашим ΠΊΠΎΠ΄ΠΎΠΌ вписалась строчка
import org.bukkit.plugin.java.JavaPlugin;
Но Π²ΠΎΡ‚ ΠΎΠΏΡΡ‚ΡŒ Эклипсу Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ нравится ΠΈ ΠΎΠ½ Π½Π°ΠΌ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ класс DmxFirstPlugin. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ Ρ‚Ρ€ΡŽΠΊ с подсказкой ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΌΡ‹: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅Π΄ΠΎΡΡ‚ΠΎΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ нашСго класса. ПослС этого, Π½Π°ΠΌ Π΄ΠΎΠΏΠΈΡˆΡƒΡ‚ 2 ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: onEnabled ΠΈ onDisabled.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ onEnabled происходит, ΠΊΠΎΠ³Π΄Π° сСрвСр ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ наш ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡ€ΠΈ стартС. Π’.Π΅. ΠΊΠΎΠ΄ располоТСнный Π² этом ΠΌΠ΅Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ самым ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. ИмСнно ΠΏΠΎ этому, onEnabled() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π°, прописывая Ρ‚Π°ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ onDisabled, соотвСтствСнно. происходит ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π²ΠΎ врСмя Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сСрвСра. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ дСструктор, Π³Π΄Π΅ освобоТдаСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΡ‚ ΡƒΠΆΠ΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° соСдинСния(Ссли, Π½Π°ΠΏΠΈΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ ΠΊ Π±Π΄)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Β«Π·Π°ΠΊΡ€Π΅ΠΏΠΈΠΌΒ» Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ консоли сСрвСра. для этого, ΠΏΠ΅Ρ€Π΅Π΄ всСми ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ напишСм:
private static final Logger mclog = Logger.getLogger(«minecraft»);
А Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… onEnabled ΠΈ onDisabled:
public void onEnable() <
mclog.info(«[DmxFirstPlugin] Start»);
>

public void onDisable() <
mclog.info(«[DmxFirstPlugin] Stop»);
>
Π’ ΠΈΡ‚ΠΎΠ³Π΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ получится Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΎΡ‚ ΠΊΠΎΠ΄:
package me.dmitriymx.firstplg;

public class DmxFirstPlugin extends JavaPlugin<
private static final Logger mclog = Logger.getLogger(«minecraft»);

@Override
public void onDisable() <
mclog.info(«[DmxFirstPlugin] Stop»);
>

@Override
public void onEnable() <
mclog.info(«[DmxFirstPlugin] Start»);
ПослСдний ΡˆΡ‚Ρ€ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй. Надо Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» описания для нашСго ΠΏΠ»Π°Π³ΠΈΠ½Π°.
Клик ΠΏΠΊΠΌ ΠΏΠΎ src, New->File. Π’ File name пишСм plugin.yml. Π’ Π½Π΅Π³ΠΎ пишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:
name: FirstSamplePlugin
main: me.dmitriymx.firstplg.DmxFirstPlugin
version: 1.0
А Π²ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ компилация.

для сохранСния ΠΊΠΎΠ΄Π°. Клик ΠΏΠΊΠΌ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ΅ src ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Export. Π’ ΠΎΠΊΠ½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ Java ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ‚Π°ΠΌ JAR file. ПослС наТатия Π½Π° Next, ΠΆΠΌΠ΅ΠΌ Π½Π° Browse ΠΈ сохраняСм Ρ„Π°ΠΉΠ» сразу Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² сСрвСра(plugins). Finish.

ЗапускаСм сСрвСр ΠΈ убСТдаСмся, Ρ‡Ρ‚ΠΎ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ:

На сСгодня всё. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ каркас для Π±ΡƒΠ΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *