Housekeeping

This commit is contained in:
KeepBotting
2019-03-26 14:05:40 -04:00
parent a0c78ced90
commit 739c331860
135 changed files with 4 additions and 4 deletions
@@ -0,0 +1,20 @@
require 'java'
java_import 'org.apollo.game.model.entity.Mob'
module MobExtension
MOB_EXTENSIONS = []
def self.register(extension)
fail 'Provided extension object is not a module' unless extension.is_a?(Module)
new_mixins = extension.public_instance_methods
current_mixins = MOB_EXTENSIONS.map { |e| {e.to_s => e.public_instance_methods} }
current_mixins.each do |ext, methods|
methods.each {|m| fail "Extension #{ext} already provides method #{m}" if new_mixins.include?(m) }
end
Mob.include(extension)
end
end
@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<plugin>
<id>mob-extension</id>
<version>0.1</version>
<name>Mob Extensions</name>
<description>Adds support for extending Mobs with new functionality</description>
<authors>
<author>Gary Tierney</author>
</authors>
<scripts>
<script>extension.rb</script>
</scripts>
<dependencies>
</dependencies>
</plugin>