Gods
The plugin for adding Gods to the world of minecraft.
A God is an entity that exist because a player has chosen to believe in it.
A player shows his faith in a god by building an altar for his god and using the altar to pray.
In this way, many gods may exist at a time, all with names created by the players.
The main purpose for believing in these Gods is to gain from the help the Gods provide (see below) and to provide some basic faction play based on ideology and culture (I.e. "My god is better than yours because apples are holy!").
Note that this does NOT mean that Gods are "free item dispensers": Gods will only bless players with items when they are pleased with the effort of their believers.
Gods will even punish a player for ignoring their divine wishes.
With Holy Lands, players can easily protect their lands from grief by simply building alters.
Another purpose is simply to get people inspired to build awesome churches for their Gods.
Check out what others have build for their God here
Altars
Building an altar is simple:
- Place a normal or redstone torch on a smooth brick block
- Place a sign on the side of the block with ONLY the name of your God written on any line
- Players can now pray to this God by right-clicking on the altar sign
If you place a normal torch, you specify a male God.
If you place a redstone torch, you specify a female God (Goddess).
Note that when building the first altar for a God, the altars position will be set as the "religion home" and believers can reach it with the /gods home command.
Rules
- Gods exist as long as players believe in them
- Gods comes into existence when players build altars to them
- Gods grow stronger from the number of believers they have
- Gods grow stronger from the number of prayers at their alters
- Gods appoints a single believer to be his priest
- Gods will bless their believers with (only) items they need
- Gods will bless their believers with health if they need it
- Priest can pray for Blessing and Cursing specific players
- Gods send their believers on quests
- Gods protect their lands around their altars.
Pleasing the Gods
As we all know, Gods are very moody entities:
- Whenever you do something which the God approve of, his mood will increase.
- Whenever you do something which the God disapprove of, his mood will decrease.
- Even when doing nothing, the Gods mood will slightly decrease. (Gods do not like being ignored)
The mood of a God has certain effects:
- Exalted Gods will give needed items, food and actively bless their believer with buffs.
- Pleased Gods will give needed items and food.
- Neutral Gods will encourage more prayers.
- Displeased Gods will complain about lack of attention.
- Angry Gods will punish their believers for lack of attention.
Any believer can check the mood of their God with the /g info command.
Item Blessings
Periodically, the God will check for his believers needs:
- When a believer has no pickaxe, the God will bless his believer with a pickaxe
- When a believer has no sword, the God will bless his believer with a sword
- When a believer is low on health, the God will bless his with health
- When a believer has no food, the God will bless his believer with food
The more powerful the God is, the more frequent the God will attend to his believers. The exact quality of the item (wood, stone, diamond) also depends on the power of the God.
Blessing Altars
A Priest can ask his God to specifically bless any player by using an altar:
- Build an altar as described above
- On the sign, write "Blessings" on line 1
- On the sign, write "on" (or anything) on line 2
- On the sign, write the name of the player on line 3
Now the priest can right-click the sign, praying to his God to bless that player!
Cursing Altars
A Priest can ask his God to specifically curse any player by using an altar:
- Build an altar as described above
- On the sign, write "Curses" on line 1
- On the sign, write "on" (or anything) on line 2
- On the sign, write the name of the player on line 3
Now the priest can right-click the sign, praying to his God to curse that player!
Commandments
Any God with respect for himself have strong opinions about what is right and wrong.
A God will periodically tell his priest about what food and creature types are considered holy and unholy.
Because the God will react swiftly with blessings and curses on his believers accordingly to these commandments,
it is the priests responsibility to communicate (preach) this information to the believers in general.
Quests
Gods will periodically issue quests for their believers, for them to show their faith in him.
This may include quest for slaying mobs, sacrificing certain items etc.
If completed, all the believers will be rewarded by the God and the quest completion will act as a mass-prayer, effectivly adding significantly more belief to the God.
Sacrifices
Believers can sacrifice items to their God by burning any item of their choice.
The God will have a certain need for certain item types and it is up to the believer to find out the needs of their God at any given time.
Sacrificing items that the God needs will result in a blessing and added belief in the God, which in turn adds more power to the God.
Be warned that sacrificing items to a God which has no interest in the item or "spam-sacrificing" a God can have deadly consequences...
Gods will also issue sacrifice quests from time to time.
The Holy Book
All Gods have their "Bible" or "Holy Book", which is maintained by the priest.
At any time, the priest can produce a copy of the current edition of the Holy Book with /gods bible.
The priest can edit a copy of the current edition of the Holy Book with /gods editbible.
He can also choose to set the currently held book to be the official Holy Book for his religion with /gods setbible.
Marriage
Players can marry another believer within their own religion.
After completing the simple wedding ceremony, the couple can "love" each other with the /g love command.
Married couples will add further to the happiness of their God, especially if their God is a God of love.
Holy Lands
The land around an altar is considered holy to that particular God.
Only believers of the God has access and can destroy within their Holy Land. This acts as a simple anti grief control purely based on building altars.
Conquering Holy Lands
- When using Holy Lands, a priest can call an attack on an enemy God's Holy Land by using the /g attack command.
- During the attack, the Holy Land is considered "contested" and no-none can build within the land.
- The contested state will last for 1 day or until either side of the attack has killed enough believers to resolve the conflict.
The God Names
By default, any player is free to believe in any obscure God name that he wishes. (Just like in real life...). To gain more control over the God names, there are 2 options:
- Use a whitelist containing the God names of the allowed Gods on the server. ONLY these Gods will be permitted on the server.
- Use a blacklist containing the God names that are disallowed on the server. Any other God name than these will be permitted on the server.
Check out the whitelist & blacklist page for the details on how to setup these lists.
See config settings below for how to enable the blacklist and whitelist.
Languages & Custom God speak
All the text for the Gods speech can be changed and customized to your needs.
You might want do adjust the tone of what a God say, expand what a God can say or even want a God to speak in another language!
All the God speech text files are found in /lang folder within the plugins folder and are by default automatically downloaded from my own server at http://www.doggycraft.dk.
(Note: To disable the download of language files, set the DownloadLanguageFile option to false in your config.yml.)
Simply use these file as templates for other languages or for adjusting the tone of voice for each God type.
Chat Formatting
Want to a players God as part of their chatname?
See here how to setup God names in the chat
Installation
Put the Gods.jar file in your /plugins folder and you are ready to go!
Commands
Command | Description |
---|---|
gods | Show the basic info |
gods help | Shows the command list |
gods list | Show the top 10 list of gods |
gods info | Show the detailed info for your God |
gods info <godname> | Show the detailed info for a specific God |
gods check <playername> | Show what God another player believes in |
gods desc <description> | Lets a priest set description for their religion |
gods marry <playername> | Propose marrige to another believer |
gods divorce | Divorce your partner |
gods love | Love your marrige partner |
gods followers | Shows a list of beliveres for your God |
gods followers <godname> | Shows a list of beliveres for a specific God |
gods open | Lets a priest set their religion as public |
gods closed | Lets a priest set their religion as private |
gods war | Lets a priest declare war against another religion |
gods ally | Lets a priest declare alliance with another religion |
gods invite <playername> | Lets a priest invite a player to his religion |
gods kick <playername> | Lets a priest kick a player from his religion |
gods pvp | Lets a priest set PvP within their religion |
gods bible | Lets a priest produce a copy of their Holy Book |
gods editbible | Lets a priest edit the current Holy Book |
gods setbible | Lets a priest set the currently held book as the Holy Book |
gods chat | Toggle chat within player's own religion |
gods leave | Leave your religion |
gods setpriest <godname> <playername> | Set <playername> as priest for the god <godname> |
gods reload | Reloads the config settings from disk |
gods yes | Accept a proposal from a God |
gods no | Reject a proposal from a God |
Permission Nodes
Note that Gods currently supports PermissionsBukkit, PermissionsEX, bPermissions and GroupManager.
Just PM me with requests for supporting other managers.
- gods.* - Player can do everything below
- gods.pray- Player can pray directly to their Gods using /g prayfor command
- gods.listen - Player can hear Gods speaking
- gods.marry- Allows the Player to marry
- gods.quest.slay - Player can participate in slaying quests
- gods.altar.build - Player can build an altar
- gods.altar.pray - Player can pray using an altar
- gods.altar.sacrifice - Player can sacrifice items using fire
- gods.god.create - Player can create (believe) in a new God
- gods.itemblessings - Player can receive item blessings from a God
- gods.blessings - Player can be blessed by a God
- gods.commandments - Player is affected by commandments of a God
- gods.curses - Player can be cursed by a God
- gods.marry - Player can marry other players
- gods.love - Player can love their partner
- gods.divorce - Player can divorce their marrige partner
- gods.accept - Player can accept proposal from a God
- gods.reject - Player can reject proposal from a God
- gods.help - Player can check the help information
- gods.info - Player can check info for each God
- gods.listen - Player can hear the words of a God
- gods.chat - Player can toggle chatting within their own religion
- gods.sethome - Player can set their religion home
- gods.home - Player teleport to their religion home
- gods.check - Player can check which God another player believes in
- gods.setpriest - Player can set the priest of a God
- gods.priest - Player can become priest of a Gods
- gods.priest.invite - Priest can invite player to his religion
- gods.priest.kick - Priest can kick player from his religion
- gods.priest.description - Priest can set description for his religion
- gods.priest.pvp - Priest can toggle pvp within his religions Holy Land
- gods.priest.alliance - Priest can declare alliance with another religion
- gods.priest.war - Priest can declare war towards another religion
- gods.priest.peace - Priest can declare peace towards another religion
- gods.priest.description - Priest can change the description of his religion
- gods.priest.bible - Priest can produce a copy of their Bible
- gods.priest.editbible - Priest can edit their Bible
- gods.priest.setbible - Priest can set a book as their Bible
- gods.holyland - Player is affected by holylands (I.e: Unable to build in holyland of another God)
- gods.list - Player can check the list of Gods
- gods.reload - Player can reload the Gods configuration file
- gods.updates - Player will see notifications about new updates to the Gods plugin
Configuration
Setting | Description | Default Value |
---|---|---|
Settings.ServerName | Default name for the server. Used for god talking, the 10 list etc. | 'Your Server' |
Settings.Worlds | List of worldnames in which Gods are enabled | <list> |
Settings.MoodFalloff | Mood falloff multiplier for all Gods | 0.030 |
Settings.MinItemBlessingTime | Minimum time in minutes between a God can bless a believer with items | 10 |
Settings.DownloadLanguageFile | Wheter language files should be downloaded from Doggy | true |
Settings.OnlyPriestCanSetHome | Whether only priests can set the religion home | false |
Settings.MaxPriestsPrGod | Maximum priests in a religion. | 1 |
Settings.NumberOfBelieversPrPriest | Number of believers needed between seeking next priest | 3 |
Settings.MaxBelieverPrayerTime | Maximum allowed number of hours since last prayer for a believer. If exceeded, the God will lose him as a believer. | 72 |
Settings.MaxPriestPrayerTime | Maximum allowed number of hours since last prayer for a priest. If exceeded, the God will drop him as priest and start looking for a new one. | 154 |
Settings.MinBelieverPrayerTime | Minimum number of minutes allowed between prayer for a believer. | 30 |
Settings.DisplayUpdateNotifications | Display notifications about new updates for this plugin | true |
Blessings.Enabled | Whether the blessing features are enabled | true |
Commandments.Enabled | Whether the commandments features are enabled | false |
Commandments.BroadcastMobSlain | Broadcast slain mobs to all believers | true |
Commandments.BroadcastFoodEaten | Broadcast food eaten to all believers | true |
Quests.Enabled | Whether the quest features are enabled | false |
Quests.MinMinutesBetweenQuests | Minimum minutes allowed for a God giving out quests | 180 |
Quests.RewardValues | The godpower value of items which can be rewarded for completing quests | <list> |
Blessing.Enabled | Enable blessings on players controlled by priests | true |
Blessing.MaxBlessingTime | Number of minutes a player can be blessed by a priest at a time | 10 |
Blessing.MinBlessingTime | Number of seconds between a player can be blessed | 60 |
Blessing.FastDigging | Enable fast digging blessings | true |
Blessing.Regeneration | Enable regeneration blessings | true |
Cursing.Enabled | Enable curses on players controlled by priests | true |
Cursing.MaxCursingTime | Number of minutes a player can be cursed by a priest at a time | 10 |
Cursing.MinCursingTime | Number of seconds between a player can be cursed | 5 |
Cursing.Lightning | Enable lightning curses | true |
Cursing.Mobs | Enable hostile mobs curses | true |
MinBelieversForPriest | Minimum believers required for a God before the God appoints his priest. | 3 |
LeaveReligionOnDeath | Whether a believer will auto-leave his religion when killed. | false |
ItemBlessings.GodPowerForLevel1Items | The power needed for handing out level 1 items (stone) | 10 |
ItemBlessings.GodPowerForLevel2Items | The power needed for handing out level 1 items (iron) | 50 |
ItemBlessings.GodPowerForLevel3Items | The power needed for handing out level 1 items (diamond) | 100 |
ItemBlessings.MinItemBlessingTime | Minimum time in minutes between a God can bless a believer with items | 10 |
ItemBlessings.MinGodPowerForItemBlessings | Minimum God power for a God before a God can bless a believer with items | 3 |
Holyland.Enabled | Whether the holy land features are enabled | false |
Holyland.BreakableblockTypes | List of block types which can always be destroyed within Holy Lands | SMOOTH_BRICK |
Holyland.DefaultPvP | Whether believers can PvP eachother wihin their Holy Land by default | false |
Holyland.DefaultMobDamage | Whether believers can take damage from mobs within their Holy Land by default | false |
Holyland.Lightning | Players will be pnunished by lightning if attempting PvP within another religions Holy Land | false |
GodVerbosity | How talkative are the Gods? (value from 0 to infinity) | 1 |
PriestAssignCommand | Command to be executed when removing a player as priest. This is useful for adding players into a "priest" rank. Example for PermissionsBukket: 'perm player setgroup $0 $1' | "" |
PriestRemoveCommand | Command to be executed when removing a player as priest. This is useful for removing players from a "priest" rank. Example for PermissionsBukket: 'perm player setgroup $0 $1' | "" |
UseWhitelist | Use whitelist to only allow the God names on it | false |
UseBlacklist | Use blacklist to disallow specific God names | false |
LanguageFile | Use this file for God language text | english.yml |
Bibles.Enabled | Whether the Bible features are enabled | false |
Altars.BlockTypes | The altar blocktype for each God type (divine force) | <list> |
Marrige.Enabled | Whether marrige is enabled | true |
HolyArtifacts.Enabled | Whether Holy artifacts are enabled | false |
Debug | Enable debugging information | false |
Upcoming features
- Admin commands for setting power, type, names for Gods
- Holy Artifacts
- Titans
- God "drama": Jealousy, weddings, love, hate, war and family relations between Gods.
- Prophecies
- Holy Battles
- Pilgrimages
- Crusades
- Prayers
- Miracles
- More effects/feedback when destroying altars
- Specific permissions for each God using the whitelist
- Specific language files for each God using the whitelist
- Gods periodically manifests themselves self in the world in form of a mob
- Server history as seen from each religion noted in their Holy Book
- God personalities
- Direct PvP/Battlefield action by Gods
- More commandments
- Weather altars
- Altars deteriorate the surrounding blocks if their God dies out
Do you want to support this plugin?
Disclaimers
This plugin contacts curse.com and checks for newer versions by using the Curse ServerMOD API.
Opting out of this service can be done by editing config.yml and changing DisplayUpdateNotifications to false.
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
A unique identifier
The server's version of Java
Whether the server is in offline or online mode
The plugin's version
The server's version
The OS version/name and architecture
The core count for the CPU
The number of players online
The Metrics version
Opting out of this service can be done by editing config.yml and changing MetricsOptOut to true.
Want to contribute? Gods is open source!
Check out the official repository on github
@DoggyOnFireto clarrify, it does not do this on every block obviously, it only does it on stonebrick. Hence my comment about wanted to change this to Gold Blocks. StoneBrick is the most popular material and nicest looking in the default texture pack. You should consider having the sign only work if you type out "Altar Of Name". Simply because it really does limit your ability to use smoothstone at all with signs.
@Monstropolis
That is actually a really good point! At least the God should not pester people with request when the Gods knows the believer can do what he asks....
I am noting this down on the TODO real quick. :)
Thanks for the feedback, i am glad you like it!
@whistlelblower
This should have been fixed since 0.1.3.
I just re-tested this in 0.1.5 and i can not replicate this cookie duping exploit.
Exploit in 0.1.0 - 0.1.5 :
You spam right click on one alter, then go to another one of a different god nearby, and repeat.
Dupes cookies.
I like how this idea sounds but can you make Gods of War or Gods of Harvest kind of thing. Not really sure how that would work though considering the god only exists once you create them but then you could add /grant [potionability] [player] then the god you worship will possibly grant you your ability as long as it falls under their type plus your level.
I just ran this mod for a bit, and I really like the idea behind this but I found two things that seem to be missing from this. Before I jump into this, I would like to say that I have no idea what kind of undertaking my suggestions would be. If what I suggest is too much, or not what you had envisioned then I fully understand and will not be offended.
Their is one thing that annoys me about your mod, and that is with the default settings my god kept pestering me to pray when I could not pray. This is a little irksome especially when I don't know when I can pray again. I could set and keep track of when I can, but I was wondering if you could bind that particular chat to when we are able to pray again? Or maybe include a count down in the message that pops up when you try and pray? If not, that's okay, I'll just fiddle with the GodVerbosity till I find a suitable setting.
Another thing is that I find this is more suited for larger servers, which I believe is awesome and all, but if you were to add say NPC villager's as people that could pray to gods that would be pretty cool. Thus incentivizing smaller servers to have NPC villages to fuel their gods power.
Thanks for the awesome mod!
@xeNiumw0w
Ok, i will make one :)
You must not edit the gods.yml at all. Simply create gods by placing altars in the game.
@dropposite
It really should be impossible to make "Altar Of Pumpkins" or "Altar of Locked Doors" as you describe.
The plugin does not blindly take any sign to be a altar sign: It checks if its attached to a altar-type block (default smooth stone) with a torch on top.
Only if these conditions are fulfilled will it treat the sign as an altar sign.
Do you have any other sign or block altering plugins running?
@Rsredmage
1) This is very odd, i am unable to replicate that error. Are you using only showcase or also some kind of chest locking plugin?
2) Ok i can see that. I'll fix that in the next version :-)
3) Do you mean that when using showcase, you can NOT pray to a God? What exactly do you see when you right click an altar sign?
I'll post again since I'm guessing you didn't see it
Ok so having quite a few issues
1) If I remove a God sign and then go to replace it, the sign just jumps off and will NOT stay unless I remove the God
2) I gave all players all permissions EXCEPT gods.god.create but no one can see any commands when doing /gods except /gods (actually typing in /gods list works, but they don't see it), only our town mayors can create
3) Is there ANYWAY to override sign protection plugins for this plugin? We use shop signs and we don't have this issue, but no one can click/pray at altars because the signs are protected. (again we use showcase standalone and no issues with sign usage)
*Update*
Now when we turn off all protection, other players click on the sign, but nothing happens unless they are OP'd or it's their own sign
this plugin is a perfect example of how u can use simple code and alot of imagination to bring this to life. In a nutshell, this plugin basically lets u create a sign, click it, and receive items..... But with the imagination being used, its now creating real 'gods' in the game and the social aspect becomes the driving force.
I tested this out last night, and was confused that there as no config files being generated. I had to first create a sign/god for the Gods folder to appear, but it only craeted the files to store the prayers and the gods....still no config file.
The main problem with this plugin right now, is that ANYTHING you write on the sign is turned into a god. This also keeps us from using Lockette, Chestshop etc. When I marked my Pumpkins with a sign, now thers an Altar Of Pumpkins. My room now has a sign that says Altar of KeepOut Altar of FreeWheat. Altar of HerobrineWasHere. See what im getting at? The solution that I see is to change the blocktype from Stonebrick to a Gold Block. Gold makes a little more sense when it comes to worshiping a false god.....and I cant think of any example of when someone would put a sign on a gold block in the first place.;... But without that config file and changing the block type, this plugin just breaks the other signs.... I look forward to this update.
Also, when the player is chosen as a Priest, it talks about moving them into a group. Does this mean that I have to have a permissions group called Priest setup? If so, what permissions or other do I need to assign to this group?
(btw, my first comment about using 'simple code', Im not implying that this plugin was easy to write or that its actually simple...... I was referring to the fact that it isnt really creating gods, it requires ur imagination to bring it to life, which is what MC is all about!!!)
A tutorial please? I confused to use and edit the gods.yml files (PriestAssignCommand and PriestRemoveCommand)
Nice! I'll likely tie this in with the mmsupernaturals plugin so that Priests get some more benefits.
Hey there DoggyOnFire,
I can't wait to test your plugin on my Server, it seems to be quite fun! I have some Ideas, you might want to take a look at for your Plugin: Gods may cast random positive Effects on on prayers, which pray often. Gods may cast random negative Effects on on prayers, which pray less often. Gods may heal damaged prayers, if the God is strong enough. Also it would be cool to be ablto to customize the Godly speech, for translation purpose...
As I said - this plugin looks great and I think it is a great Idea!
@Irrsinnigkeit
You do not need to edit the gods.yml file to add a God.
Simply create an alter in the game to any God and that God will start to exist.
@thejedibob
@whistlelblower
This should be fixed in version 0.1.5.
Getting lots of spamming error messages. Using 1.4:
Could not pass EntityDeathEvent to Gods
java.lang.NullPointerExcepter......
Plugin works amazingly.
Perhaps a few little additions though?
Keep up the good work!
@Irrsinnigkeit
To Make follow my steps :
1)Place brick block 2)Put The Sign with : Altar Of God 3) place the torch , And Its Ready :D
sry bad english :P
Using 0.1.4, latest CB, a dev build.