onaplerpg / brawlator Goto Github PK
View Code? Open in Web Editor NEWSponge Minecraft plugin to generate custom spawners
License: Apache License 2.0
Sponge Minecraft plugin to generate custom spawners
License: Apache License 2.0
Add the ability to define equipment within the mob config.
Example
{
damage=1.0
hp=5.0
knockbackResistance=1
name="Humanity leftover"
speed=1.0
type=zombie
equipment={
head: {ref : "ItemizerHelm"}
mainhand: {pool_ref : 1}
legs: {name: "minecraft:leather_leggings"}
}
}
implement a scripting system similar to CustomNPCs.
Purpose:
Brawlator is the first custom mobs plugin for sponge that i am aware of; adding CustomNPC-like features could possible draw many folks over to the Sponge community helping to draw new devs to further improve Sponge.
Example of CustomNPC scripting API
http://www.kodevelopment.nl/minecraft/customnpcs/scripting
Key events:
the first events the team should focus on implementing are:
damaged()
died()
attack()
tick()
timer()
this should provide most of the functionality i think most people desire in a mob scripting system.
Eventually we should find a way to implement ranged attacks and melee attacks on the same mob; then split attack()
into meleeAttack()
and rangedAttack()
Two other very useful features would be:
target()
targetLost()
This would help in the creation of Finite State Machines and the first step into custom AI for Brawlator.
Additional notes:
CustomNPCs has a Javascript engine spawned for each NPC. this allows you to use the same code without interfering with any global effects; I think Brawlator should follow suit for the same reason.
As such if we needed to pass events between scripting engines; two functions would be needed setTempData()
and getTempData()
When enabled default (and modded) mob spawns will be replaced with Brawlator mobs identified by the Brawlator name variable from monsters.conf
mobOverride=[
minecraft:creeper="Megaboomer"
minecraft:skeleton="Tank Archer"
minecraft:zombie="Humanity Leftover"
minecraft:pig="Mister Pig"
mocreatures:rabbit="Holy Grail"
]
I will be first to admit i have never written a line of Java in my life!
But i believe this captures the idea of what i mean, and how it works.
// sponge things
import "org.spongepowered.api.Sponge";
import "org.spongepowered.api.service.economy.EconomyService";
// java things
import "java.util.UUID";
import "java.math.BigDecimal";
var uuid = //whatever the uuid of player whoever killed it
var value = //value pulled from monsters.conf
public class spongeEconomyDeposit(uuid,value){
var account = org.spongepowered.api.service.economy.EconomyService.getOrCreateAccount(UUID.fromString(uuid)) //gets Economy Account for the Player.
var value = java.util.UUID(value) //value in () is value to be deposited.
var currency = org.spongepowered.api.service.economy.EconomyService.getDefaultCurrency() //gets DefaultCurrency of the Economy Plugin
var cause = org.spongepowered.api.Sponge.getCauseStackManager().getCurrentCause() //gets the Cause Manager from Sponge
account.get().deposit(currency,value,cause) //deposit amount of value into players account.
}
https://docs.spongepowered.org/stable/en/plugin/economy/index.html
Current State:
When world spawning is disabled in server.properties file in the minecraft main directory Brawlator spawners attempt to spawn mobs and they immediately disappear.
Future State:
With Natural Spawning disabled and Minecraft spawning disabled Brawlator spawners will still spawn mobs.
Natural spawn override should work when no biome is specified. It would then override the spawn for all biomes, but biome specific overrides would keep priorities over it.
config-wise, we could simply act that no biome = all biome
(related to #7)
Plugin Version: 1.2
Sponge Version: Vanilla 7.2.3 (stable)
Forge Version (as applicable): N/A
Last known working version: 0.2 (previous release)
Problem Description:
Natural Spawn setting no longer functions
Steps to Recreate:
Enable natural spawn set the time to night and wait for mobs to spawn, only vanilla mobs will spawn; not Brawlator ones
Currently in Brawlator there is a constant stream of very useful information when developing; however it floods the logs and makes troubleshooting other plugins more difficult.
Can an option be added that enables/disables this logging into the global config?
This would allow for Mobs to spawn with effects on them, the ability to inflict effects on attack (with configurable percentage), and apply an effect to the player within a certain radius.
This would be similar to how Diablo/Binding of Isaak functions with their "Champions" Also how the mod "Infernal Mobs" functions.
Add itemizer item and pool support.
the example config below will always drop the item "Bronze Dagger" and the minecraft item "bone" as well as roll both item pools and drop both items (if any) that are returned.
monsters=[
{
damage=1.0
hp=50.0
knockbackResistance=1
name="Tank archer"
speed=1.0
type=skeleton
drops: [
item: {name: "minecraft:bone"},
item: {ref: "Bronze Dagger"}, //will always drop itemizer item "Bronze Dagger"
pool: {ref: 1}, //will always look into Itemizer Pool and return value
pool: {ref: 21} //will always look into Itemizer Pool and return value
]
}
]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.