Magic

Magic

190k Downloads

Just some questions

Indianajaune opened this issue ยท 7 comments

commented

Hello,

I am opening this issue because i am a little lost.
I would like to design a Magic inspired plugin to implement a few spells to my server, (for Citizens NPCs as well as players and even some mobs) and while i find that Magic has a really good core for doing what i want to do, there are way too many spells and a lot of them are beyond the scope of classical spells (the more functional ones like command or wolfhouse spells come to my mind) so i would like to disable all buil in spells, classes, effects lists, automate and all other structures so i can add only the ones that would design to be used.

I am confused with the method i should use in order to achieve this :

  • Should i just manually disable all those things in the config files (which will take a lot of time just for the 500+ spells)
  • The solution i'm currently trying to achieve is to make a plugin for Magic built against Magic API that would override all built in features but the thing is that i don't know how to read docs like the Doxygen used for MagicAPI so i am totally lost with how i should use it to do what i want.
  • I have also considered making an independant plug in using EffectLib and/or MagicLib but those 2 things seem to be dead.

These questions can also be taken as a suggestion for Magic to be more modular (having 0 built in features but load them like a resource pack when dropping them in a special folder instead)

Thank you for taking the time of helping me out.

commented

You can disable loading the default spells, paths, etc. by setting load_default_configs to false in the configuration. This will still load the default materials and messages, as magic needs those to exist to function, but you can easily override them if you need to.

commented

Just tested load_default_configs being false and it's still loading spells and everything but progression_pathes

image

commented

Do you have any other load_default_* values set in your configuration?

commented
#
# Modify this file to change the overall behavior of the Magic plugin.
# only include the options you want to modify.
#
# You can also add individual files to the config/ folder
#
# To see all available options, look in this folder:
# https://github.com/elBukkit/MagicPlugin/tree/master/Magic/src/main/resources/defaults/config
#
# Options for sub-components (spells, wand templates, chest populator, etc) are 
# found in separate files.
#
# For customization help see: 
# https://github.com/elBukkit/MagicPlugin/wiki/Customization
#

#
# Examples:
# Note that a "#" character means the line is commented out and has no effect.
# Make sure to not comment out the lines you add, there should not be a space in front of the name, indentation is important.
# Use http://www.yamllint.com if you have issues with your config, make sure not to use tabs!
# 

# Load one of the included example configurations instead of the defaults.
# Current options: potter, safe, survival
# Any customizations will still be loaded on top of the example configs.


# Add one or more of the included example configurations on top of the defaults.
# The config.yml potion is not loaded, for sanity's sake.
# add_examples:
#   - potter
#   - survival

# Some common fields that you might like to override:

# Give new players a wand when they first join
# welcome_wand: beginner

# Whether or not to show any messages (in chat) 
show_messages: false

# Whether or not to show messages on every spell cast (in chat)
show_cast_messages: false

load_default_configs: false

# Enable/Disable Sound Effects
# sounds: true

# Prevent rapid sending of chat messages from the plugin (in milliseconds)
# message_throttle: 3000

# Set this to 1 to just turn costs off, or you can use it to scale costs down.
# cost_reduction: 0.0

# How much to reduce costs and cooldowns when using /cast (versus a wand)
cast_command_cost_reduction: 0.0
cast_command_cooldown_reduction: 0.0

# Whether wands can be crafted on a crafting table
# enable_crafting: true

# Whether wands can be combined on an anvil
# enable_combining: true

# Whether wands can be upgraded on an enchanting table
# enable_enchanting: true

# Whether or not using a wand on an anvil will organize its inventory
# enable_organizing: true

# Enable/Disable automatic spell upgrades
# enable_spell_upgrades: true

# This can be used to scale spell and wand prices up and down without
# Having to invidivudally configure "worth" for each spell.
#
# If you have a default Gringott's install, you may want to change this to "0.01" to make the emeralds
# match up.
# worth_base: 1

# Disable the resource pack
# default_resource_pack: ""

# Turn on skull-based spell icons (may be needed if you're not using the RP)
# url_icons_enabled: true

This is my curent config.yml , do i need to check each module config file individually?

commented

Instead of load_default_configs I suggest you turn off the survival example completely. This can be done via

example: ""

in config.yml

If you still have any spells or wands loading after that then something else weird is going on.

commented

It's also worth mentioning that the spells you're complaining about aren't even available to players.

Have you tried playing through the progression as a normal player? Are there any spells in the normal survival progression that don't feel natural to you? It might be more feasible to disable the ones you don't want if you narrow your view to what is actually available to players first.

commented

Thanks for the advice it is working. (i just had to disable each module individually)

show_messages: false

show_cast_messages: false

load_default_configs: false

load_default_classes: false

load_default_attributes: false

load_default_automata: false

load_default_effects: false

load_default_wands: false

load_default_paths: false

cast_command_cost_reduction: 0.0
cast_command_cooldown_reduction: 0.0

For the spell availability i tested as a non op player and it was working correctly.
Also i was not complaining, i just prefer to load only what i need, i find it cleaner. As to why i want to disable all is because i want to make a 100% custom experience.

My original idea was to use EffectLib to make my own custom plugin to cast spells, i want to be able to cast spells like an Evoker or an illusioner, without wands and using controls. (For example pressing C would cast the spell currently selectioned, pressing M would open a GUI to select a spell you know)
Spells would be learnt with books.
I am open to any advices.