Git Product home page Git Product logo

raspberryjuice's Introduction

RaspberryJuice

A Bukkit plugin which implements the Minecraft Pi Socket API.

Commands

Commands supported

  • world.get/setBlock
  • world.getBlockWithData
  • world.setBlocks
  • world.getPlayerIds
  • world.getBlocks
  • chat.post
  • events.clear
  • events.block.hits
  • player.getTile
  • player.setTile
  • player.getPos
  • player.setPos
  • world.getHeight
  • entity.getTile
  • entity.setTile
  • entity.getPos
  • entity.setPos

Commands that can't be supported

  • Camera angles

Extra commands

  • getBlocks(x1,y1,z1,x2,y2,z2) has been implemented
  • getDirection, getRotation, getPitch functions - get the 'direction' players and entities are facing
  • setDirection, setRotation, setPitch functions - set the 'direction' players and entities are facing
  • getPlayerId(playerName) - get the entity of a player by name
  • pollChatPosts() - get events back for posts to the chat
  • setSign(x,y,z,block type id,data,line1,line2,line3,line4)
    • Wall signs (id=68 or block.SIGN_WALL.id) require data for facing direction 2=north, 3=south, 4=west, 5=east
    • Standing signs (id=63 or block.SIGN_STANDING.id) require data for facing rotation (0-15) 0=south, 4=west, 8=north, 12=east
  • spawnEntity(x,y,z,entity) - creates an entity and returns its entity id. see entity.py for list.
  • getEntityTypes - returns all the entities supported by the server.
  • entity.getName(id) - get a player name for entity id. Reverse of getPlayerId(playerName)
  • getEntities - get all currently loaded entities list by optional entity type id
  • removeEntity - removes entity with specified id
  • removeEntities - removes all currently loaded entities by optional entity type id
  • entity.getEntities - get currently loaded entities list near specified entity by optional entity type id
  • entity.removeEntities - removes currently loaded entities near specified entity, by optional entity type id
  • player.getEntities - get currently loaded entities list near specified player entity id by optional entity type id
  • player.removeEntities - removes currently loaded entities near specified player entity id, by optional entity type id
  • events.pollProjectileHits - get events back of arrow hit
  • player.pollProjectileHits - get events back of arrow hit for the player
  • player.pollBlockHits - get block hits for the player
  • player.pollChatPosts - get events back for posts to the chat for the player
  • player.clearEvents - clear events for the player
  • entity.pollProjectileHits - get events back of arrow hit for an entity
  • entity.pollBlockHits - get block hits for an entity
  • entity.pollChatPosts - get events back for posts to the chat for an entity
  • entity.clearEvents - clear events for this entity

Note - extra features are NOT guaranteed to be maintained in future releases, particularly if updates are made to the original Pi API which replace the functionality

Config

Modify config.yml:

  • hostname: - ip address or hostname to allow connections from, default is "0.0.0.0" (any). "localhost" would prevent remote clients from connecting.
  • port: 4711 - the default tcp port can be changed in config.yml
  • location: RELATIVE - determine whether locations are RELATIVE to the spawn point (default like pi) or ABSOLUTE
  • hitclick: RIGHT - determine whether hit events are triggered by LEFT clicks, RIGHT clicks or BOTH

Libraries

To use the extra features an modded version of the java and python libraries that were originally supplied by Mojang with the Pi is required, github.com/zhuowei/RaspberryJuice/tree/master/src/main/resources/mcpi.

You only need the modded libraries to use the extra features, the original libraries supplied with Minecraft Pi edition still work, you just wont be able to use the extra features

Build

To build RaspberryJuice, download and install Maven, clone the repository, run `mvn package':

git clone https://github.com/zhuowei/RaspberryJuice
cd RaspberryJuice
mvn package

Version history

  • 1.12.1 - hostname specified in config.yml
  • 1.12 - getEntities, removeEntities, pollProjectileHits, events calls by player and entity
  • 1.11 - spawnEntity, setDirection, setRotation, setPitch
  • 1.10.1 - bug fixes
  • 1.10 - left, right, both hit clicks added to config.yml & fixed minor hit events bug
  • 1.9.1 - minor change to improve connection reset
  • 1.9 - relative and absolute positions added to config.yml
  • 1.8 - minecraft version 1.9.2 compatibility
  • 1.7 - added pollChatPosts() & block update performance improvements
  • 1.6 - added getPlayerId(playerName), getDirection, getRotation, getPitch
  • 1.5 - entity functions
  • 1.4.2 - bug fixes
  • 1.4 - bug fixes, port specified in config.yml
  • 1.3 - getHeight, multiplayer, getBlocks
  • 1.2 - added world.getBlockWithData
  • 1.1.1 - block hit events
  • 1.1 - Initial release

Contributors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.