Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static int getOrCreateRuntimeId(int protocol, int id, int meta) {
- int legacyId = (protocol >= 388) ? ((id << 6) | meta) : ((id << 4) | meta);
- switch (protocol) {
- // Versions before this doesn't use runtime IDs
- case 223:
- case 224:
- return legacyToRuntimeId223.get(legacyId);
- case 261:
- return legacyToRuntimeId261.get(legacyId);
- case 274:
- return legacyToRuntimeId274.get(legacyId);
- case 281:
- case 282:
- return legacyToRuntimeId282.get(legacyId);
- case 291:
- return legacyToRuntimeId291.get(legacyId);
- case 313:
- return legacyToRuntimeId313.get(legacyId);
- case 332:
- return legacyToRuntimeId332.get(legacyId);
- case 340:
- return legacyToRuntimeId340.get(legacyId);
- case 354:
- return legacyToRuntimeId354.get(legacyId);
- case 361:
- return legacyToRuntimeId361.get(legacyId);
- case 388:
- return legacyToRuntimeId388.get(legacyId);
- case 389:
- case 390:
- int id389 = legacyToRuntimeId389.get(legacyId);
- if (id389 == -1) {
- id389 = legacyToRuntimeId389.get(id << 6);
- if (id389 == -1) {
- log.info("(389) Creating new runtime ID for unknown block {}", id);
- id389 = runtimeIdAllocator389.getAndIncrement();
- legacyToRuntimeId389.put(id << 6, id389);
- }
- }
- return id389;
- case 407:
- int id407 = legacyToRuntimeId407.get(legacyId);
- if (id407 == -1) {
- id407 = legacyToRuntimeId407.get(id << 6);
- if (id407 == -1) {
- log.info("(407) Creating new runtime ID for unknown block {}", id);
- id407 = runtimeIdAllocator407.getAndIncrement();
- legacyToRuntimeId407.put(id << 6, id407);
- }
- }
- return id407;
- case 408:
- case 409:
- case 410:
- case 411:
- int id408 = legacyToRuntimeId408.get(legacyId);
- if (id408 == -1) {
- id408 = legacyToRuntimeId408.get(id << 6);
- if (id408 == -1) {
- log.info("(408) Creating new runtime ID for unknown block {}", id);
- id408 = runtimeIdAllocator408.getAndIncrement();
- legacyToRuntimeId408.put(id << 6, id408);
- }
- }
- return id408;
- case 419:
- case 420:
- case 422:
- case ProtocolInfo.v1_16_210_50:
- case ProtocolInfo.v1_16_210_53:
- int id419 = legacyToRuntimeId419.get(legacyId);
- if (id419 == -1) {
- id419 = legacyToRuntimeId419.get(id << 6);
- if (id419 == -1) {
- log.info("(419) Creating new runtime ID for unknown block {}", id);
- id419 = runtimeIdAllocator419.getAndIncrement();
- legacyToRuntimeId419.put(id << 6, id419);
- }
- }
- return id419;
- default:
- throw new IllegalArgumentException("Tried to get block runtime id for unsupported protocol version: " + protocol);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement