MCPcopy Index your code
hub / github.com/ao-libre/finisterra

github.com/ao-libre/finisterra @v0.1.14

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.14 ↗ · + Follow
3,482 symbols 9,462 edges 478 files 102 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Finisterra CI Build Status GitHub release (latest by date including pre-releases) Language

MMORPG de código abierto basado en Argentum Online. Escrito en Java usando Artemis, Kryonet y libGDX.

Open Source MMORPG based on Argentum Online. Written in Java, using Artemis, Kryonet and libGDX.

Redes Website Discord

Colaboradores

game preview image

Fugaz Get Started

basado en OpenJDK versión 14:

git clone https://github.com/ao-libre/finisterra.git
cd finisterra
./gradlew desktop:run -x :shared:fluid  

Java

Compatible con Eclipse, Netbeans y IntelliJ

ECS (entity-component-system)

To understand ECS, I recommend to read this. Using artemis framework has been really useful to start rewriting this game.

Kryonet

Avoid creating huge game protocol since we can use Requests and Responses, which can be processed easily with 'visitor' design pattern. Read more here

LibGDX

It allows us to create application game logic, create screens and render all that we need using OpenGL.

Networks

Web - Discord

Extension points exported contracts — how you extend this code

IntPositionConsumer (Interface)
(no doc) [27 implementers]
client/src/game/utils/IntPositionConsumer.java
Index (Interface)
(no doc) [17 implementers]
components/src/component/entity/Index.java
IDesigner (Interface)
(no doc) [7 implementers]
design/src/design/designers/IDesigner.java
IFillObject (Interface)
(no doc) [20 implementers]
shared/src/shared/objects/types/IFillObject.java
CombatSystem (Interface)
(no doc) [2 implementers]
server/src/server/systems/combat/CombatSystem.java
BatchTask (Interface)
(no doc) [14 implementers]
client/src/game/systems/render/BatchTask.java
FieldListener (Interface)
(no doc) [3 implementers]
design/src/design/editors/fields/FieldEditor.java
IResponse (Interface)
(no doc) [33 implementers]
shared/src/shared/network/interfaces/IResponse.java

Core symbols most depended-on inside this repo

add
called by 601
design/src/design/designers/IDesigner.java
get
called by 338
design/src/design/designers/IDesigner.java
info
called by 88
components/src/component/console/ConsoleMessage.java
getId
called by 71
client/src/model/ID.java
getSkin
called by 60
client/src/game/handlers/AOAssetManager.java
create
called by 60
design/src/design/editors/fields/IntegerEditor.java
withComponents
called by 54
shared/src/shared/util/EntityUpdateBuilder.java
equals
called by 50
design/src/design/screens/map/MapEditor.java

Shape

Method 2,904
Class 512
Enum 37
Interface 27
Function 2

Languages

Java100%
Kotlin1%

Modules by API surface

shared/src/shared/model/Spell.java126 symbols
shared/src/shared/model/npcs/NPC.java89 symbols
design/src/design/screens/views/View.java52 symbols
client/src/game/ClientConfiguration.java47 symbols
client/src/game/handlers/DefaultAOAssetManager.java36 symbols
client/src/com/badlogic/gdx/graphics/g2d/TextureArraySpriteBatch.java35 symbols
design/src/design/menu/MenuButton.java32 symbols
server/src/server/systems/EntityFactorySystem.java30 symbols
server/src/server/configs/ServerConfiguration.java29 symbols
server/src/server/systems/combat/PhysicalCombatSystem.java28 symbols
design/src/design/screens/map/MapEditor.java27 symbols
server/src/server/systems/combat/RangedCombatSystem.java26 symbols

For agents

$ claude mcp add finisterra \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact