network streaming upgrade
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
e0b22d2949
commit
349986788b
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
import java.util.LinkedList;
|
||||
@ -127,7 +129,6 @@ public class AuthMessage extends NetworkMessage {
|
||||
*/
|
||||
public static AuthMessage constructAuthRequestMessage(){
|
||||
AuthMessage rVal = new AuthMessage(AuthMessageType.AUTHREQUEST);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -185,7 +186,6 @@ public class AuthMessage extends NetworkMessage {
|
||||
AuthMessage rVal = new AuthMessage(AuthMessageType.AUTHDETAILS);
|
||||
rVal.setuser(user);
|
||||
rVal.setpass(pass);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -204,7 +204,6 @@ public class AuthMessage extends NetworkMessage {
|
||||
*/
|
||||
public static AuthMessage constructAuthSuccessMessage(){
|
||||
AuthMessage rVal = new AuthMessage(AuthMessageType.AUTHSUCCESS);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -223,10 +222,10 @@ public class AuthMessage extends NetworkMessage {
|
||||
*/
|
||||
public static AuthMessage constructAuthFailureMessage(){
|
||||
AuthMessage rVal = new AuthMessage(AuthMessageType.AUTHFAILURE);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -280,4 +279,32 @@ public class AuthMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case AUTHREQUEST:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_AUTH);
|
||||
stream.write(TypeBytes.AUTH_MESSAGE_TYPE_AUTHREQUEST);
|
||||
break;
|
||||
case AUTHDETAILS:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_AUTH);
|
||||
stream.write(TypeBytes.AUTH_MESSAGE_TYPE_AUTHDETAILS);
|
||||
ByteStreamUtils.writeString(stream, user);
|
||||
ByteStreamUtils.writeString(stream, pass);
|
||||
break;
|
||||
case AUTHSUCCESS:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_AUTH);
|
||||
stream.write(TypeBytes.AUTH_MESSAGE_TYPE_AUTHSUCCESS);
|
||||
break;
|
||||
case AUTHFAILURE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_AUTH);
|
||||
stream.write(TypeBytes.AUTH_MESSAGE_TYPE_AUTHFAILURE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
import java.util.LinkedList;
|
||||
@ -128,7 +130,6 @@ public class CharacterMessage extends NetworkMessage {
|
||||
*/
|
||||
public static CharacterMessage constructRequestCharacterListMessage(){
|
||||
CharacterMessage rVal = new CharacterMessage(CharacterMessageType.REQUESTCHARACTERLIST);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -171,7 +172,6 @@ public class CharacterMessage extends NetworkMessage {
|
||||
public static CharacterMessage constructResponseCharacterListMessage(String data){
|
||||
CharacterMessage rVal = new CharacterMessage(CharacterMessageType.RESPONSECHARACTERLIST);
|
||||
rVal.setdata(data);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -214,7 +214,6 @@ public class CharacterMessage extends NetworkMessage {
|
||||
public static CharacterMessage constructRequestCreateCharacterMessage(String data){
|
||||
CharacterMessage rVal = new CharacterMessage(CharacterMessageType.REQUESTCREATECHARACTER);
|
||||
rVal.setdata(data);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -233,7 +232,6 @@ public class CharacterMessage extends NetworkMessage {
|
||||
*/
|
||||
public static CharacterMessage constructResponseCreateCharacterSuccessMessage(){
|
||||
CharacterMessage rVal = new CharacterMessage(CharacterMessageType.RESPONSECREATECHARACTERSUCCESS);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -252,7 +250,6 @@ public class CharacterMessage extends NetworkMessage {
|
||||
*/
|
||||
public static CharacterMessage constructResponseCreateCharacterFailureMessage(){
|
||||
CharacterMessage rVal = new CharacterMessage(CharacterMessageType.RESPONSECREATECHARACTERFAILURE);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -295,7 +292,6 @@ public class CharacterMessage extends NetworkMessage {
|
||||
public static CharacterMessage constructRequestSpawnCharacterMessage(String data){
|
||||
CharacterMessage rVal = new CharacterMessage(CharacterMessageType.REQUESTSPAWNCHARACTER);
|
||||
rVal.setdata(data);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -338,7 +334,6 @@ public class CharacterMessage extends NetworkMessage {
|
||||
public static CharacterMessage constructResponseSpawnCharacterMessage(String data){
|
||||
CharacterMessage rVal = new CharacterMessage(CharacterMessageType.RESPONSESPAWNCHARACTER);
|
||||
rVal.setdata(data);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -357,10 +352,10 @@ public class CharacterMessage extends NetworkMessage {
|
||||
*/
|
||||
public static CharacterMessage constructEditorSwapMessage(){
|
||||
CharacterMessage rVal = new CharacterMessage(CharacterMessageType.EDITORSWAP);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -458,4 +453,54 @@ public class CharacterMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case REQUESTCHARACTERLIST:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_CHARACTER);
|
||||
stream.write(TypeBytes.CHARACTER_MESSAGE_TYPE_REQUESTCHARACTERLIST);
|
||||
break;
|
||||
case RESPONSECHARACTERLIST:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_CHARACTER);
|
||||
stream.write(TypeBytes.CHARACTER_MESSAGE_TYPE_RESPONSECHARACTERLIST);
|
||||
ByteStreamUtils.writeString(stream, data);
|
||||
break;
|
||||
case REQUESTCREATECHARACTER:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_CHARACTER);
|
||||
stream.write(TypeBytes.CHARACTER_MESSAGE_TYPE_REQUESTCREATECHARACTER);
|
||||
ByteStreamUtils.writeString(stream, data);
|
||||
break;
|
||||
case RESPONSECREATECHARACTERSUCCESS:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_CHARACTER);
|
||||
stream.write(TypeBytes.CHARACTER_MESSAGE_TYPE_RESPONSECREATECHARACTERSUCCESS);
|
||||
break;
|
||||
case RESPONSECREATECHARACTERFAILURE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_CHARACTER);
|
||||
stream.write(TypeBytes.CHARACTER_MESSAGE_TYPE_RESPONSECREATECHARACTERFAILURE);
|
||||
break;
|
||||
case REQUESTSPAWNCHARACTER:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_CHARACTER);
|
||||
stream.write(TypeBytes.CHARACTER_MESSAGE_TYPE_REQUESTSPAWNCHARACTER);
|
||||
ByteStreamUtils.writeString(stream, data);
|
||||
break;
|
||||
case RESPONSESPAWNCHARACTER:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_CHARACTER);
|
||||
stream.write(TypeBytes.CHARACTER_MESSAGE_TYPE_RESPONSESPAWNCHARACTER);
|
||||
ByteStreamUtils.writeString(stream, data);
|
||||
break;
|
||||
case EDITORSWAP:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_CHARACTER);
|
||||
stream.write(TypeBytes.CHARACTER_MESSAGE_TYPE_EDITORSWAP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
import java.util.LinkedList;
|
||||
@ -325,10 +327,10 @@ public class CombatMessage extends NetworkMessage {
|
||||
rVal.setpositionX(positionX);
|
||||
rVal.setpositionY(positionY);
|
||||
rVal.setpositionZ(positionZ);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -385,4 +387,23 @@ public class CombatMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case SERVERREPORTHITBOXCOLLISION:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_COMBAT);
|
||||
stream.write(TypeBytes.COMBAT_MESSAGE_TYPE_SERVERREPORTHITBOXCOLLISION);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeInt(stream, receiverEntityID);
|
||||
ByteStreamUtils.writeLong(stream, time);
|
||||
ByteStreamUtils.writeString(stream, hitboxType);
|
||||
ByteStreamUtils.writeString(stream, hurtboxType);
|
||||
ByteStreamUtils.writeDouble(stream, positionX);
|
||||
ByteStreamUtils.writeDouble(stream, positionY);
|
||||
ByteStreamUtils.writeDouble(stream, positionZ);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
import java.util.LinkedList;
|
||||
@ -747,7 +749,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
rVal.setrotationY(rotationY);
|
||||
rVal.setrotationZ(rotationZ);
|
||||
rVal.setrotationW(rotationW);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -790,7 +791,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
rVal.setvelocity(velocity);
|
||||
rVal.setpropertyValueInt(propertyValueInt);
|
||||
rVal.settreeState(treeState);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -829,7 +829,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
rVal.setrotationZ(rotationZ);
|
||||
rVal.setvelocity(velocity);
|
||||
rVal.settreeState(treeState);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -848,7 +847,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
*/
|
||||
public static EntityMessage constructstartAttackMessage(){
|
||||
EntityMessage rVal = new EntityMessage(EntityMessageType.STARTATTACK);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -871,7 +869,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
EntityMessage rVal = new EntityMessage(EntityMessageType.KILL);
|
||||
rVal.settime(time);
|
||||
rVal.setentityID(entityID);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -892,7 +889,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
public static EntityMessage constructDestroyMessage(int entityID){
|
||||
EntityMessage rVal = new EntityMessage(EntityMessageType.DESTROY);
|
||||
rVal.setentityID(entityID);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -919,7 +915,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
rVal.settime(time);
|
||||
rVal.setpropertyType(propertyType);
|
||||
rVal.setpropertyValue(propertyValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -972,7 +967,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
rVal.setentityID(entityID);
|
||||
rVal.setbone(bone);
|
||||
rVal.settargetID(targetID);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1001,7 +995,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
rVal.setpropertyType(propertyType);
|
||||
rVal.setyaw(yaw);
|
||||
rVal.setpitch(pitch);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1062,7 +1055,6 @@ public class EntityMessage extends NetworkMessage {
|
||||
rVal.setangForceX(angForceX);
|
||||
rVal.setangForceY(angForceY);
|
||||
rVal.setangForceZ(angForceZ);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1110,10 +1102,10 @@ public class EntityMessage extends NetworkMessage {
|
||||
EntityMessage rVal = new EntityMessage(EntityMessageType.INTERACT);
|
||||
rVal.setentityID(entityID);
|
||||
rVal.setinteractionSignal(interactionSignal);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -1500,4 +1492,136 @@ public class EntityMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case CREATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_CREATE);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeInt(stream, entityCategory);
|
||||
ByteStreamUtils.writeString(stream, entitySubtype);
|
||||
ByteStreamUtils.writeString(stream, creatureTemplate);
|
||||
ByteStreamUtils.writeDouble(stream, positionX);
|
||||
ByteStreamUtils.writeDouble(stream, positionY);
|
||||
ByteStreamUtils.writeDouble(stream, positionZ);
|
||||
ByteStreamUtils.writeDouble(stream, rotationX);
|
||||
ByteStreamUtils.writeDouble(stream, rotationY);
|
||||
ByteStreamUtils.writeDouble(stream, rotationZ);
|
||||
ByteStreamUtils.writeDouble(stream, rotationW);
|
||||
break;
|
||||
case MOVEUPDATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_MOVEUPDATE);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeLong(stream, time);
|
||||
ByteStreamUtils.writeDouble(stream, positionX);
|
||||
ByteStreamUtils.writeDouble(stream, positionY);
|
||||
ByteStreamUtils.writeDouble(stream, positionZ);
|
||||
ByteStreamUtils.writeDouble(stream, rotationX);
|
||||
ByteStreamUtils.writeDouble(stream, rotationY);
|
||||
ByteStreamUtils.writeDouble(stream, rotationZ);
|
||||
ByteStreamUtils.writeDouble(stream, rotationW);
|
||||
ByteStreamUtils.writeDouble(stream, velocity);
|
||||
ByteStreamUtils.writeInt(stream, propertyValueInt);
|
||||
ByteStreamUtils.writeInt(stream, treeState);
|
||||
break;
|
||||
case ATTACKUPDATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_ATTACKUPDATE);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeLong(stream, time);
|
||||
ByteStreamUtils.writeDouble(stream, positionX);
|
||||
ByteStreamUtils.writeDouble(stream, positionY);
|
||||
ByteStreamUtils.writeDouble(stream, positionZ);
|
||||
ByteStreamUtils.writeDouble(stream, rotationX);
|
||||
ByteStreamUtils.writeDouble(stream, rotationY);
|
||||
ByteStreamUtils.writeDouble(stream, rotationZ);
|
||||
ByteStreamUtils.writeDouble(stream, velocity);
|
||||
ByteStreamUtils.writeInt(stream, treeState);
|
||||
break;
|
||||
case STARTATTACK:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_STARTATTACK);
|
||||
break;
|
||||
case KILL:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_KILL);
|
||||
ByteStreamUtils.writeLong(stream, time);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
break;
|
||||
case DESTROY:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_DESTROY);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
break;
|
||||
case SETPROPERTY:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_SETPROPERTY);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeLong(stream, time);
|
||||
ByteStreamUtils.writeInt(stream, propertyType);
|
||||
ByteStreamUtils.writeInt(stream, propertyValue);
|
||||
break;
|
||||
case ATTACHENTITYTOENTITY:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_ATTACHENTITYTOENTITY);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeString(stream, bone);
|
||||
ByteStreamUtils.writeInt(stream, targetID);
|
||||
break;
|
||||
case UPDATEENTITYVIEWDIR:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_UPDATEENTITYVIEWDIR);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeLong(stream, time);
|
||||
ByteStreamUtils.writeInt(stream, propertyType);
|
||||
ByteStreamUtils.writeDouble(stream, yaw);
|
||||
ByteStreamUtils.writeDouble(stream, pitch);
|
||||
break;
|
||||
case SYNCPHYSICS:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_SYNCPHYSICS);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeLong(stream, time);
|
||||
ByteStreamUtils.writeDouble(stream, positionX);
|
||||
ByteStreamUtils.writeDouble(stream, positionY);
|
||||
ByteStreamUtils.writeDouble(stream, positionZ);
|
||||
ByteStreamUtils.writeDouble(stream, rotationX);
|
||||
ByteStreamUtils.writeDouble(stream, rotationY);
|
||||
ByteStreamUtils.writeDouble(stream, rotationZ);
|
||||
ByteStreamUtils.writeDouble(stream, rotationW);
|
||||
ByteStreamUtils.writeDouble(stream, linVelX);
|
||||
ByteStreamUtils.writeDouble(stream, linVelY);
|
||||
ByteStreamUtils.writeDouble(stream, linVelZ);
|
||||
ByteStreamUtils.writeDouble(stream, angVelX);
|
||||
ByteStreamUtils.writeDouble(stream, angVelY);
|
||||
ByteStreamUtils.writeDouble(stream, angVelZ);
|
||||
ByteStreamUtils.writeDouble(stream, linForceX);
|
||||
ByteStreamUtils.writeDouble(stream, linForceY);
|
||||
ByteStreamUtils.writeDouble(stream, linForceZ);
|
||||
ByteStreamUtils.writeDouble(stream, angForceX);
|
||||
ByteStreamUtils.writeDouble(stream, angForceY);
|
||||
ByteStreamUtils.writeDouble(stream, angForceZ);
|
||||
break;
|
||||
case INTERACT:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_ENTITY);
|
||||
stream.write(TypeBytes.ENTITY_MESSAGE_TYPE_INTERACT);
|
||||
ByteStreamUtils.writeInt(stream, entityID);
|
||||
ByteStreamUtils.writeString(stream, interactionSignal);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
import java.util.LinkedList;
|
||||
@ -430,7 +432,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
rVal.settargetEntId(targetEntId);
|
||||
rVal.setitemEntId(itemEntId);
|
||||
rVal.setitemTemplate(itemTemplate);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -451,7 +452,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
public static InventoryMessage constructremoveItemFromInventoryMessage(int entityId){
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.REMOVEITEMFROMINVENTORY);
|
||||
rVal.setentityId(entityId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -499,7 +499,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.CLIENTREQUESTEQUIPITEM);
|
||||
rVal.setequipPointId(equipPointId);
|
||||
rVal.setentityId(entityId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -552,7 +551,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
rVal.setentityId(entityId);
|
||||
rVal.setcontainerType(containerType);
|
||||
rVal.setequipPointId(equipPointId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -625,7 +623,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
rVal.setequipPointId(equipPointId);
|
||||
rVal.setentityId(entityId);
|
||||
rVal.setitemTemplate(itemTemplate);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -678,7 +675,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
rVal.setequipperId(equipperId);
|
||||
rVal.setcontainerType(containerType);
|
||||
rVal.setequipPointId(equipPointId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -721,7 +717,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
public static InventoryMessage constructclientRequestUnequipItemMessage(String equipPointId){
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.CLIENTREQUESTUNEQUIPITEM);
|
||||
rVal.setequipPointId(equipPointId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -779,7 +774,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
rVal.setcontainerType(containerType);
|
||||
rVal.setequipPointId(equipPointId);
|
||||
rVal.setitemEntId(itemEntId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -852,7 +846,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
rVal.setitemTemplate(itemTemplate);
|
||||
rVal.setcontainerType(containerType);
|
||||
rVal.setequipPointId(equipPointId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -873,7 +866,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
public static InventoryMessage constructclientRequestWatchInventoryMessage(int targetEntId){
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.CLIENTREQUESTWATCHINVENTORY);
|
||||
rVal.settargetEntId(targetEntId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -894,7 +886,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
public static InventoryMessage constructclientRequestUnwatchInventoryMessage(int targetEntId){
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.CLIENTREQUESTUNWATCHINVENTORY);
|
||||
rVal.settargetEntId(targetEntId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -917,7 +908,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.CLIENTREQUESTADDTOOLBAR);
|
||||
rVal.setentityId(entityId);
|
||||
rVal.settoolbarId(toolbarId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -938,7 +928,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
public static InventoryMessage constructclientRequestAddNaturalMessage(int entityId){
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.CLIENTREQUESTADDNATURAL);
|
||||
rVal.setentityId(entityId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -959,7 +948,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
public static InventoryMessage constructclientUpdateToolbarMessage(int toolbarId){
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.CLIENTUPDATETOOLBAR);
|
||||
rVal.settoolbarId(toolbarId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1027,7 +1015,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
rVal.setviewTargetX(viewTargetX);
|
||||
rVal.setviewTargetY(viewTargetY);
|
||||
rVal.setviewTargetZ(viewTargetZ);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1052,7 +1039,6 @@ public class InventoryMessage extends NetworkMessage {
|
||||
rVal.setentityId(entityId);
|
||||
rVal.setstationId(stationId);
|
||||
rVal.setrecipeId(recipeId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1075,10 +1061,10 @@ public class InventoryMessage extends NetworkMessage {
|
||||
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.SERVERUPDATEITEMCHARGES);
|
||||
rVal.setentityId(entityId);
|
||||
rVal.setcharges(charges);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -1427,4 +1413,139 @@ public class InventoryMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case ADDITEMTOINVENTORY:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_ADDITEMTOINVENTORY);
|
||||
ByteStreamUtils.writeInt(stream, targetEntId);
|
||||
ByteStreamUtils.writeInt(stream, itemEntId);
|
||||
ByteStreamUtils.writeString(stream, itemTemplate);
|
||||
break;
|
||||
case REMOVEITEMFROMINVENTORY:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_REMOVEITEMFROMINVENTORY);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
break;
|
||||
case CLIENTREQUESTEQUIPITEM:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTEQUIPITEM);
|
||||
ByteStreamUtils.writeString(stream, equipPointId);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
break;
|
||||
case SERVERCOMMANDMOVEITEMCONTAINER:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_SERVERCOMMANDMOVEITEMCONTAINER);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, containerType);
|
||||
ByteStreamUtils.writeString(stream, equipPointId);
|
||||
break;
|
||||
case SERVERCOMMANDEQUIPITEM:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_SERVERCOMMANDEQUIPITEM);
|
||||
ByteStreamUtils.writeInt(stream, equipperId);
|
||||
ByteStreamUtils.writeInt(stream, containerType);
|
||||
ByteStreamUtils.writeString(stream, equipPointId);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeString(stream, itemTemplate);
|
||||
break;
|
||||
case SERVERCOMMANDUNEQUIPITEM:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_SERVERCOMMANDUNEQUIPITEM);
|
||||
ByteStreamUtils.writeInt(stream, equipperId);
|
||||
ByteStreamUtils.writeInt(stream, containerType);
|
||||
ByteStreamUtils.writeString(stream, equipPointId);
|
||||
break;
|
||||
case CLIENTREQUESTUNEQUIPITEM:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTUNEQUIPITEM);
|
||||
ByteStreamUtils.writeString(stream, equipPointId);
|
||||
break;
|
||||
case CLIENTREQUESTSTOREITEM:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTSTOREITEM);
|
||||
ByteStreamUtils.writeInt(stream, targetEntId);
|
||||
ByteStreamUtils.writeInt(stream, containerType);
|
||||
ByteStreamUtils.writeString(stream, equipPointId);
|
||||
ByteStreamUtils.writeInt(stream, itemEntId);
|
||||
break;
|
||||
case SERVERCOMMANDSTOREITEM:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_SERVERCOMMANDSTOREITEM);
|
||||
ByteStreamUtils.writeInt(stream, targetEntId);
|
||||
ByteStreamUtils.writeInt(stream, itemEntId);
|
||||
ByteStreamUtils.writeString(stream, itemTemplate);
|
||||
ByteStreamUtils.writeInt(stream, containerType);
|
||||
ByteStreamUtils.writeString(stream, equipPointId);
|
||||
break;
|
||||
case CLIENTREQUESTWATCHINVENTORY:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY);
|
||||
ByteStreamUtils.writeInt(stream, targetEntId);
|
||||
break;
|
||||
case CLIENTREQUESTUNWATCHINVENTORY:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTUNWATCHINVENTORY);
|
||||
ByteStreamUtils.writeInt(stream, targetEntId);
|
||||
break;
|
||||
case CLIENTREQUESTADDTOOLBAR:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTADDTOOLBAR);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, toolbarId);
|
||||
break;
|
||||
case CLIENTREQUESTADDNATURAL:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTADDNATURAL);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
break;
|
||||
case CLIENTUPDATETOOLBAR:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTUPDATETOOLBAR);
|
||||
ByteStreamUtils.writeInt(stream, toolbarId);
|
||||
break;
|
||||
case CLIENTREQUESTPERFORMITEMACTION:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTPERFORMITEMACTION);
|
||||
ByteStreamUtils.writeString(stream, equipPointId);
|
||||
ByteStreamUtils.writeInt(stream, itemActionCode);
|
||||
ByteStreamUtils.writeInt(stream, itemActionCodeState);
|
||||
ByteStreamUtils.writeDouble(stream, viewTargetX);
|
||||
ByteStreamUtils.writeDouble(stream, viewTargetY);
|
||||
ByteStreamUtils.writeDouble(stream, viewTargetZ);
|
||||
break;
|
||||
case CLIENTREQUESTCRAFT:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTCRAFT);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, stationId);
|
||||
ByteStreamUtils.writeInt(stream, recipeId);
|
||||
break;
|
||||
case SERVERUPDATEITEMCHARGES:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_INVENTORY);
|
||||
stream.write(TypeBytes.INVENTORY_MESSAGE_TYPE_SERVERUPDATEITEMCHARGES);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, charges);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
import java.util.LinkedList;
|
||||
@ -98,7 +100,6 @@ public class LoreMessage extends NetworkMessage {
|
||||
*/
|
||||
public static LoreMessage constructRequestRacesMessage(){
|
||||
LoreMessage rVal = new LoreMessage(LoreMessageType.REQUESTRACES);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -141,10 +142,10 @@ public class LoreMessage extends NetworkMessage {
|
||||
public static LoreMessage constructResponseRacesMessage(String data){
|
||||
LoreMessage rVal = new LoreMessage(LoreMessageType.RESPONSERACES);
|
||||
rVal.setdata(data);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -176,4 +177,21 @@ public class LoreMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case REQUESTRACES:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_LORE);
|
||||
stream.write(TypeBytes.LORE_MESSAGE_TYPE_REQUESTRACES);
|
||||
break;
|
||||
case RESPONSERACES:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_LORE);
|
||||
stream.write(TypeBytes.LORE_MESSAGE_TYPE_RESPONSERACES);
|
||||
ByteStreamUtils.writeString(stream, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,6 +2,9 @@ package electrosphere.net.parser.net.message;
|
||||
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
/**
|
||||
* A network message
|
||||
*/
|
||||
@ -511,6 +514,12 @@ public abstract class NetworkMessage {
|
||||
}
|
||||
return rVal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes this message to the output stream
|
||||
* @param stream The stream
|
||||
*/
|
||||
public abstract void write(OutputStream stream) throws IOException;
|
||||
|
||||
/**
|
||||
* Checks if this message is serialized or not
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
public class PlayerMessage extends NetworkMessage {
|
||||
@ -146,7 +148,6 @@ public class PlayerMessage extends NetworkMessage {
|
||||
public static PlayerMessage constructSet_IDMessage(int playerID){
|
||||
PlayerMessage rVal = new PlayerMessage(PlayerMessageType.SET_ID);
|
||||
rVal.setplayerID(playerID);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -171,10 +172,10 @@ public class PlayerMessage extends NetworkMessage {
|
||||
rVal.setinitialDiscretePositionX(initialDiscretePositionX);
|
||||
rVal.setinitialDiscretePositionY(initialDiscretePositionY);
|
||||
rVal.setinitialDiscretePositionZ(initialDiscretePositionZ);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -213,4 +214,24 @@ public class PlayerMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case SET_ID:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_PLAYER);
|
||||
stream.write(TypeBytes.PLAYER_MESSAGE_TYPE_SET_ID);
|
||||
ByteStreamUtils.writeInt(stream, playerID);
|
||||
break;
|
||||
case SETINITIALDISCRETEPOSITION:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_PLAYER);
|
||||
stream.write(TypeBytes.PLAYER_MESSAGE_TYPE_SETINITIALDISCRETEPOSITION);
|
||||
ByteStreamUtils.writeInt(stream, initialDiscretePositionX);
|
||||
ByteStreamUtils.writeInt(stream, initialDiscretePositionY);
|
||||
ByteStreamUtils.writeInt(stream, initialDiscretePositionZ);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
public class ServerMessage extends NetworkMessage {
|
||||
|
||||
@ -90,7 +92,6 @@ public class ServerMessage extends NetworkMessage {
|
||||
*/
|
||||
public static ServerMessage constructPingMessage(){
|
||||
ServerMessage rVal = new ServerMessage(ServerMessageType.PING);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -109,7 +110,6 @@ public class ServerMessage extends NetworkMessage {
|
||||
*/
|
||||
public static ServerMessage constructPongMessage(){
|
||||
ServerMessage rVal = new ServerMessage(ServerMessageType.PONG);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -128,10 +128,10 @@ public class ServerMessage extends NetworkMessage {
|
||||
*/
|
||||
public static ServerMessage constructDisconnectMessage(){
|
||||
ServerMessage rVal = new ServerMessage(ServerMessageType.DISCONNECT);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
switch(this.messageType){
|
||||
@ -160,4 +160,25 @@ public class ServerMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case PING:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SERVER);
|
||||
stream.write(TypeBytes.SERVER_MESSAGE_TYPE_PING);
|
||||
break;
|
||||
case PONG:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SERVER);
|
||||
stream.write(TypeBytes.SERVER_MESSAGE_TYPE_PONG);
|
||||
break;
|
||||
case DISCONNECT:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SERVER);
|
||||
stream.write(TypeBytes.SERVER_MESSAGE_TYPE_DISCONNECT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
import java.util.LinkedList;
|
||||
@ -285,7 +287,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.setfieldId(fieldId);
|
||||
rVal.setbTreeValue(bTreeValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -343,7 +344,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.setfieldId(fieldId);
|
||||
rVal.setstringValue(stringValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -370,7 +370,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.setfieldId(fieldId);
|
||||
rVal.setintValue(intValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -397,7 +396,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.setfieldId(fieldId);
|
||||
rVal.setlongValue(longValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -424,7 +422,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.setfieldId(fieldId);
|
||||
rVal.setfloatValue(floatValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -451,7 +448,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.setfieldId(fieldId);
|
||||
rVal.setdoubleValue(doubleValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -476,7 +472,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
rVal.setentityId(entityId);
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.setbTreeValue(bTreeValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -503,7 +498,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.setfieldId(fieldId);
|
||||
rVal.setbTreeValue(bTreeValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -526,7 +520,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
SynchronizationMessage rVal = new SynchronizationMessage(SynchronizationMessageType.ATTACHTREE);
|
||||
rVal.setentityId(entityId);
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -549,7 +542,6 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
SynchronizationMessage rVal = new SynchronizationMessage(SynchronizationMessageType.DETATCHTREE);
|
||||
rVal.setentityId(entityId);
|
||||
rVal.setbTreeId(bTreeId);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -592,10 +584,10 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
public static SynchronizationMessage constructLoadSceneMessage(String stringValue){
|
||||
SynchronizationMessage rVal = new SynchronizationMessage(SynchronizationMessageType.LOADSCENE);
|
||||
rVal.setstringValue(stringValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -833,4 +825,101 @@ public class SynchronizationMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case UPDATECLIENTSTATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_UPDATECLIENTSTATE);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
ByteStreamUtils.writeInt(stream, fieldId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeValue);
|
||||
break;
|
||||
case UPDATECLIENTSTRINGSTATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_UPDATECLIENTSTRINGSTATE);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
ByteStreamUtils.writeInt(stream, fieldId);
|
||||
ByteStreamUtils.writeString(stream, stringValue);
|
||||
break;
|
||||
case UPDATECLIENTINTSTATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_UPDATECLIENTINTSTATE);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
ByteStreamUtils.writeInt(stream, fieldId);
|
||||
ByteStreamUtils.writeInt(stream, intValue);
|
||||
break;
|
||||
case UPDATECLIENTLONGSTATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_UPDATECLIENTLONGSTATE);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
ByteStreamUtils.writeInt(stream, fieldId);
|
||||
ByteStreamUtils.writeLong(stream, longValue);
|
||||
break;
|
||||
case UPDATECLIENTFLOATSTATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_UPDATECLIENTFLOATSTATE);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
ByteStreamUtils.writeInt(stream, fieldId);
|
||||
ByteStreamUtils.writeFloat(stream, floatValue);
|
||||
break;
|
||||
case UPDATECLIENTDOUBLESTATE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_UPDATECLIENTDOUBLESTATE);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
ByteStreamUtils.writeInt(stream, fieldId);
|
||||
ByteStreamUtils.writeDouble(stream, doubleValue);
|
||||
break;
|
||||
case CLIENTREQUESTBTREEACTION:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_CLIENTREQUESTBTREEACTION);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeValue);
|
||||
break;
|
||||
case SERVERNOTIFYBTREETRANSITION:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_SERVERNOTIFYBTREETRANSITION);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
ByteStreamUtils.writeInt(stream, fieldId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeValue);
|
||||
break;
|
||||
case ATTACHTREE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_ATTACHTREE);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
break;
|
||||
case DETATCHTREE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_DETATCHTREE);
|
||||
ByteStreamUtils.writeInt(stream, entityId);
|
||||
ByteStreamUtils.writeInt(stream, bTreeId);
|
||||
break;
|
||||
case LOADSCENE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_SYNCHRONIZATION);
|
||||
stream.write(TypeBytes.SYNCHRONIZATION_MESSAGE_TYPE_LOADSCENE);
|
||||
ByteStreamUtils.writeString(stream, stringValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package electrosphere.net.parser.net.message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
import electrosphere.net.parser.util.ByteStreamUtils;
|
||||
import java.util.LinkedList;
|
||||
@ -617,7 +619,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
*/
|
||||
public static TerrainMessage constructRequestMetadataMessage(){
|
||||
TerrainMessage rVal = new TerrainMessage(TerrainMessageType.REQUESTMETADATA);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -650,7 +651,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setworldMaxX(worldMaxX);
|
||||
rVal.setworldMaxY(worldMaxY);
|
||||
rVal.setworldMaxZ(worldMaxZ);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -685,7 +685,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setvoxelZ(voxelZ);
|
||||
rVal.setterrainWeight(terrainWeight);
|
||||
rVal.setterrainValue(terrainValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -720,7 +719,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setvoxelZ(voxelZ);
|
||||
rVal.setterrainWeight(terrainWeight);
|
||||
rVal.setterrainValue(terrainValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -751,7 +749,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setvalue(value);
|
||||
rVal.setterrainWeight(terrainWeight);
|
||||
rVal.setterrainValue(terrainValue);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -780,7 +777,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setrealLocationZ(realLocationZ);
|
||||
rVal.setvalue(value);
|
||||
rVal.setterrainWeight(terrainWeight);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -805,7 +801,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setrealLocationX(realLocationX);
|
||||
rVal.setrealLocationY(realLocationY);
|
||||
rVal.setrealLocationZ(realLocationZ);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -830,7 +825,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setworldX(worldX);
|
||||
rVal.setworldY(worldY);
|
||||
rVal.setworldZ(worldZ);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -888,7 +882,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setworldY(worldY);
|
||||
rVal.setworldZ(worldZ);
|
||||
rVal.setchunkData(chunkData);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -915,7 +908,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setworldY(worldY);
|
||||
rVal.setworldZ(worldZ);
|
||||
rVal.setchunkResolution(chunkResolution);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -983,7 +975,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setchunkResolution(chunkResolution);
|
||||
rVal.sethomogenousValue(homogenousValue);
|
||||
rVal.setchunkData(chunkData);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1010,7 +1001,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setworldY(worldY);
|
||||
rVal.setworldZ(worldZ);
|
||||
rVal.setchunkResolution(chunkResolution);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1078,7 +1068,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setchunkResolution(chunkResolution);
|
||||
rVal.sethomogenousValue(homogenousValue);
|
||||
rVal.setchunkData(chunkData);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1113,7 +1102,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setvoxelZ(voxelZ);
|
||||
rVal.setblockType(blockType);
|
||||
rVal.setblockMetadata(blockMetadata);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1138,7 +1126,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setworldX(worldX);
|
||||
rVal.setworldY(worldY);
|
||||
rVal.setworldZ(worldZ);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1196,7 +1183,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setworldY(worldY);
|
||||
rVal.setworldZ(worldZ);
|
||||
rVal.setchunkData(chunkData);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1254,7 +1240,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setworldY(worldY);
|
||||
rVal.setworldZ(worldZ);
|
||||
rVal.setchunkData(chunkData);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1291,7 +1276,6 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setblockType(blockType);
|
||||
rVal.setblockMetadata(blockMetadata);
|
||||
rVal.setblockEditSize(blockEditSize);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@ -1369,10 +1353,10 @@ public class TerrainMessage extends NetworkMessage {
|
||||
rVal.setvoxelZ(voxelZ);
|
||||
rVal.setblockRotation(blockRotation);
|
||||
rVal.setfabPath(fabPath);
|
||||
rVal.serialize();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
void serialize(){
|
||||
byte[] intValues = new byte[8];
|
||||
@ -1928,4 +1912,210 @@ public class TerrainMessage extends NetworkMessage {
|
||||
serialized = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(OutputStream stream) throws IOException {
|
||||
switch(this.messageType){
|
||||
case REQUESTMETADATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTMETADATA);
|
||||
break;
|
||||
case RESPONSEMETADATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_RESPONSEMETADATA);
|
||||
ByteStreamUtils.writeInt(stream, worldSizeDiscrete);
|
||||
ByteStreamUtils.writeInt(stream, worldMinX);
|
||||
ByteStreamUtils.writeInt(stream, worldMinY);
|
||||
ByteStreamUtils.writeInt(stream, worldMinZ);
|
||||
ByteStreamUtils.writeInt(stream, worldMaxX);
|
||||
ByteStreamUtils.writeInt(stream, worldMaxY);
|
||||
ByteStreamUtils.writeInt(stream, worldMaxZ);
|
||||
break;
|
||||
case REQUESTEDITVOXEL:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTEDITVOXEL);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, voxelX);
|
||||
ByteStreamUtils.writeInt(stream, voxelY);
|
||||
ByteStreamUtils.writeInt(stream, voxelZ);
|
||||
ByteStreamUtils.writeFloat(stream, terrainWeight);
|
||||
ByteStreamUtils.writeInt(stream, terrainValue);
|
||||
break;
|
||||
case UPDATEVOXEL:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_UPDATEVOXEL);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, voxelX);
|
||||
ByteStreamUtils.writeInt(stream, voxelY);
|
||||
ByteStreamUtils.writeInt(stream, voxelZ);
|
||||
ByteStreamUtils.writeFloat(stream, terrainWeight);
|
||||
ByteStreamUtils.writeInt(stream, terrainValue);
|
||||
break;
|
||||
case REQUESTUSETERRAINPALETTE:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTUSETERRAINPALETTE);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationX);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationY);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationZ);
|
||||
ByteStreamUtils.writeFloat(stream, value);
|
||||
ByteStreamUtils.writeFloat(stream, terrainWeight);
|
||||
ByteStreamUtils.writeInt(stream, terrainValue);
|
||||
break;
|
||||
case REQUESTDESTROYTERRAIN:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTDESTROYTERRAIN);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationX);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationY);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationZ);
|
||||
ByteStreamUtils.writeFloat(stream, value);
|
||||
ByteStreamUtils.writeFloat(stream, terrainWeight);
|
||||
break;
|
||||
case SPAWNPOSITION:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_SPAWNPOSITION);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationX);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationY);
|
||||
ByteStreamUtils.writeDouble(stream, realLocationZ);
|
||||
break;
|
||||
case REQUESTCHUNKDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTCHUNKDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
break;
|
||||
case SENDCHUNKDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_SENDCHUNKDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, chunkData.length);
|
||||
stream.write(chunkData);
|
||||
break;
|
||||
case REQUESTREDUCEDCHUNKDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTREDUCEDCHUNKDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, chunkResolution);
|
||||
break;
|
||||
case SENDREDUCEDCHUNKDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_SENDREDUCEDCHUNKDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, chunkResolution);
|
||||
ByteStreamUtils.writeInt(stream, homogenousValue);
|
||||
ByteStreamUtils.writeInt(stream, chunkData.length);
|
||||
stream.write(chunkData);
|
||||
break;
|
||||
case REQUESTREDUCEDBLOCKDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTREDUCEDBLOCKDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, chunkResolution);
|
||||
break;
|
||||
case SENDREDUCEDBLOCKDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_SENDREDUCEDBLOCKDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, chunkResolution);
|
||||
ByteStreamUtils.writeInt(stream, homogenousValue);
|
||||
ByteStreamUtils.writeInt(stream, chunkData.length);
|
||||
stream.write(chunkData);
|
||||
break;
|
||||
case UPDATEBLOCK:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_UPDATEBLOCK);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, voxelX);
|
||||
ByteStreamUtils.writeInt(stream, voxelY);
|
||||
ByteStreamUtils.writeInt(stream, voxelZ);
|
||||
ByteStreamUtils.writeInt(stream, blockType);
|
||||
ByteStreamUtils.writeInt(stream, blockMetadata);
|
||||
break;
|
||||
case REQUESTFLUIDDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTFLUIDDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
break;
|
||||
case SENDFLUIDDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_SENDFLUIDDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, chunkData.length);
|
||||
stream.write(chunkData);
|
||||
break;
|
||||
case UPDATEFLUIDDATA:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_UPDATEFLUIDDATA);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, chunkData.length);
|
||||
stream.write(chunkData);
|
||||
break;
|
||||
case REQUESTEDITBLOCK:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTEDITBLOCK);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, voxelX);
|
||||
ByteStreamUtils.writeInt(stream, voxelY);
|
||||
ByteStreamUtils.writeInt(stream, voxelZ);
|
||||
ByteStreamUtils.writeInt(stream, blockType);
|
||||
ByteStreamUtils.writeInt(stream, blockMetadata);
|
||||
ByteStreamUtils.writeInt(stream, blockEditSize);
|
||||
break;
|
||||
case REQUESTPLACEFAB:
|
||||
//message header
|
||||
stream.write(TypeBytes.MESSAGE_TYPE_TERRAIN);
|
||||
stream.write(TypeBytes.TERRAIN_MESSAGE_TYPE_REQUESTPLACEFAB);
|
||||
ByteStreamUtils.writeInt(stream, worldX);
|
||||
ByteStreamUtils.writeInt(stream, worldY);
|
||||
ByteStreamUtils.writeInt(stream, worldZ);
|
||||
ByteStreamUtils.writeInt(stream, voxelX);
|
||||
ByteStreamUtils.writeInt(stream, voxelY);
|
||||
ByteStreamUtils.writeInt(stream, voxelZ);
|
||||
ByteStreamUtils.writeInt(stream, blockRotation);
|
||||
ByteStreamUtils.writeString(stream, fabPath);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -115,7 +115,7 @@ public class NetworkParser {
|
||||
public void pushMessagesOut() throws IOException {
|
||||
for(NetworkMessage message : outgoingMessageQueue){
|
||||
outgoingMessageQueue.remove(message);
|
||||
outgoingStream.write(message.getRawBytes());
|
||||
message.write(outgoingStream);
|
||||
if(this.releaseOnSend){
|
||||
this.pool.release(message);
|
||||
}
|
||||
|
||||
@ -2,6 +2,8 @@ package electrosphere.net.parser.util;
|
||||
|
||||
import io.github.studiorailgun.CircularByteBuffer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Semaphore;
|
||||
@ -290,5 +292,80 @@ public class ByteStreamUtils {
|
||||
bufferLock.release();
|
||||
return rVal;
|
||||
}
|
||||
|
||||
public static void writeInt(OutputStream stream, int i) throws IOException {
|
||||
bufferLock.acquireUninterruptibly();
|
||||
integerCompactor.clear();
|
||||
integerCompactor.position(0);
|
||||
integerCompactor.limit(4);
|
||||
integerCompactor.putInt(i);
|
||||
integerCompactor.position(0);
|
||||
integerCompactor.limit(4);
|
||||
stream.write(integerCompactor.get(0));
|
||||
stream.write(integerCompactor.get(1));
|
||||
stream.write(integerCompactor.get(2));
|
||||
stream.write(integerCompactor.get(3));
|
||||
bufferLock.release();
|
||||
}
|
||||
|
||||
public static void writeFloat(OutputStream stream, float i) throws IOException {
|
||||
bufferLock.acquireUninterruptibly();
|
||||
integerCompactor.clear();
|
||||
integerCompactor.position(0);
|
||||
integerCompactor.limit(4);
|
||||
integerCompactor.putFloat(i);
|
||||
integerCompactor.position(0);
|
||||
integerCompactor.limit(4);
|
||||
stream.write(integerCompactor.get(0));
|
||||
stream.write(integerCompactor.get(1));
|
||||
stream.write(integerCompactor.get(2));
|
||||
stream.write(integerCompactor.get(3));
|
||||
bufferLock.release();
|
||||
}
|
||||
|
||||
public static void writeLong(OutputStream stream, long i) throws IOException {
|
||||
bufferLock.acquireUninterruptibly();
|
||||
integerCompactor.clear();
|
||||
integerCompactor.position(0);
|
||||
integerCompactor.limit(8);
|
||||
integerCompactor.putLong(i);
|
||||
integerCompactor.position(0);
|
||||
integerCompactor.limit(8);
|
||||
stream.write(integerCompactor.get(0));
|
||||
stream.write(integerCompactor.get(1));
|
||||
stream.write(integerCompactor.get(2));
|
||||
stream.write(integerCompactor.get(3));
|
||||
stream.write(integerCompactor.get(4));
|
||||
stream.write(integerCompactor.get(5));
|
||||
stream.write(integerCompactor.get(6));
|
||||
stream.write(integerCompactor.get(7));
|
||||
bufferLock.release();
|
||||
}
|
||||
|
||||
public static void writeString(OutputStream stream, String s) throws IOException {
|
||||
int length = s.length();
|
||||
writeInt(stream, length);
|
||||
byte[] stringBytes = s.getBytes();
|
||||
stream.write(stringBytes);
|
||||
}
|
||||
|
||||
public static void writeDouble(OutputStream stream, double i) throws IOException {
|
||||
bufferLock.acquireUninterruptibly();
|
||||
integerCompactor.clear();
|
||||
integerCompactor.position(0);
|
||||
integerCompactor.limit(8);
|
||||
integerCompactor.putDouble(i);
|
||||
integerCompactor.position(0);
|
||||
integerCompactor.limit(8);
|
||||
stream.write(integerCompactor.get(0));
|
||||
stream.write(integerCompactor.get(1));
|
||||
stream.write(integerCompactor.get(2));
|
||||
stream.write(integerCompactor.get(3));
|
||||
stream.write(integerCompactor.get(4));
|
||||
stream.write(integerCompactor.get(5));
|
||||
stream.write(integerCompactor.get(6));
|
||||
stream.write(integerCompactor.get(7));
|
||||
bufferLock.release();
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user