mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-02 00:30:07 +01:00
Release of 1.1.06
This commit is contained in:
parent
6f6d065820
commit
78f79213cd
@ -1,25 +1,18 @@
|
||||
Changelog:
|
||||
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code
|
||||
Version 1.1.06
|
||||
mcMMO menu implemented! Default is 'M', change this in config
|
||||
Retro HUD implemented!
|
||||
Retro XP fill color is completely customizable on a per skill basis
|
||||
New levelup sound thanks to @Rustydaggers !
|
||||
With the help of Randomage the XP Formulas have been vastly changed for flexibility
|
||||
Global modifiers and skill modifiers now support decimals
|
||||
Global formula modifier dropped from config
|
||||
GigaDrillBreaker/Berserk doesn't drop clay blocks anymore
|
||||
Fixed bug where Herbalism didn't heal more for bread/stew when right clicking a block
|
||||
Fixed bug where Wheat did not use the values form the config file
|
||||
|
||||
TODO:
|
||||
Add full customization of the colors
|
||||
Fix Archery exploit
|
||||
Fix the NPE with theType
|
||||
Permission nodes for Spout elements
|
||||
Small HUD style
|
||||
HUD persistence
|
||||
Maybe incorporate mmoParty
|
||||
|
||||
In order to streamline the configuration of how XP/Levels are gained, we rewrote the formulas, it is paramount to understand that from a game perspective that does NOT change how fast you level up, it just changes how easy it is to configure the system, current configuration files will be automatically updated maintaining your selected leveling speed
|
||||
|
||||
Fixed bug where Archery gave xp for inflicting self injury
|
||||
Watch added to clay loot tables and maps remove from clay loot tables
|
||||
|
||||
Version 1.1.05
|
||||
Maps dropped from excavation are created correctly, and represent the area they are found in
|
||||
|
@ -372,7 +372,7 @@ public class Combat
|
||||
* PVP XP
|
||||
*/
|
||||
if(LoadProperties.pvpxp && !Party.getInstance().inSameParty(attacker, defender)
|
||||
&& ((PPd.getLastLogin()+5)*1000) < System.currentTimeMillis())
|
||||
&& ((PPd.getLastLogin()+5)*1000) < System.currentTimeMillis() && !attacker.getName().equals(defender.getName()))
|
||||
{
|
||||
int xp = (int) ((event.getDamage() * 2) * 10);
|
||||
PPa.addXP(SkillType.ARCHERY, xp);
|
||||
|
@ -42,6 +42,9 @@ public class Database {
|
||||
}
|
||||
//Create the DB structure
|
||||
public void createStructure(){
|
||||
Write("CREATE TABLE IF NOT EXISTS `"+LoadProperties.MySQLtablePrefix+"huds` (`user_id` int(10) unsigned NOT NULL," +
|
||||
"`hudtype` varchar(50) NOT NULL DEFAULT 'STANDARD'," +
|
||||
"PRIMARY KEY (`user_id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
|
||||
Write("CREATE TABLE IF NOT EXISTS `"+LoadProperties.MySQLtablePrefix+"users` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT," +
|
||||
"`user` varchar(40) NOT NULL," +
|
||||
"`lastlogin` int(32) unsigned NOT NULL," +
|
||||
|
@ -2,10 +2,11 @@ package com.gmail.nossr50.config;
|
||||
|
||||
import java.io.File;
|
||||
import org.bukkit.util.config.Configuration;
|
||||
import org.getspout.spoutapi.keyboard.Keyboard;
|
||||
|
||||
public class LoadProperties
|
||||
{
|
||||
public static Boolean xplockEnable, xpbar, xpicon, partybar, map, string, bucket, web, xprateEnable, slimeballs, spoutEnabled,
|
||||
public static Boolean watch, xplockEnable, xpbar, xpicon, partybar, string, bucket, web, xprateEnable, slimeballs, spoutEnabled,
|
||||
donateMessage, chimaeraWingEnable, xpGainsMobSpawners, myspawnEnable, mccEnable, mcmmoEnable, partyEnable, inviteEnable, acceptEnable,
|
||||
whoisEnable, statsEnable, addxpEnable, ptpEnable, mmoeditEnable, clearmyspawnEnable, mcgodEnable, mcabilityEnable, mctopEnable,
|
||||
mcrefreshEnable, enableMotd, enableMySpawn, enableRegen, enableCobbleToMossy, useMySQL, cocoabeans, archeryFireRateLimit, mushrooms,
|
||||
@ -16,7 +17,7 @@ public class LoadProperties
|
||||
xprate, mcability, mcmmo, mcc, mcrefresh, mcgod, stats, mmoedit, ptp, party, myspawn, whois, invite, accept, clearmyspawn, nWood,
|
||||
nStone, nIron, nGold, nDiamond, locale;
|
||||
|
||||
public static int xpbar_x, xpbar_y, xpicon_x, xpicon_y, partybar_x, partybar_y, partybar_spacing, mmap, mstring, mbucket, mweb,
|
||||
public static int mwatch, xpbar_x, xpbar_y, xpicon_x, xpicon_y, partybar_x, partybar_y, partybar_spacing, mstring, mbucket, mweb,
|
||||
archeryLimit, chimaeraId, msandstone, mcocoa, water_thunder, cure_self, cure_other, mslimeballs, mbones, msulphur, mslowsand,
|
||||
mmushroom2, mglowstone2, mmusic, mdiamond2, mbase, mapple, meggs, mcake, mpine, mbirch, mspruce, mcactus, mmushroom, mflower,
|
||||
msugar, mpumpkin, mwheat, mgold, mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack, mglowstone, mcoal, mstone, MySQLport,
|
||||
@ -24,11 +25,17 @@ public class LoadProperties
|
||||
berserkCooldown, serratedStrikeCooldown, skullSplitterCooldown, abilityDurabilityLoss,
|
||||
feathersConsumedByChimaeraWing, repairdiamondlevel, rWood, rStone, rIron, rGold, rDiamond;
|
||||
|
||||
public static double pvpxprewardmodifier, tamingxpmodifier, miningxpmodifier,
|
||||
public static double xpbackground_r, xpbackground_g, xpbackground_b, xpborder_r, xpborder_g, xpborder_b, acrobatics_r, acrobatics_g, acrobatics_b, archery_r, archery_g, archery_b, axes_r, axes_g, axes_b,
|
||||
excavation_r, excavation_g, excavation_b, herbalism_r, herbalism_g, herbalism_b, mining_r, mining_g, mining_b,
|
||||
repair_r, repair_g, repair_b, swords_r, swords_g, swords_b, taming_r, taming_g, taming_b, unarmed_r, unarmed_g, unarmed_b,
|
||||
woodcutting_r, woodcutting_g, woodcutting_b, pvpxprewardmodifier, tamingxpmodifier, miningxpmodifier,
|
||||
repairxpmodifier, woodcuttingxpmodifier, sorceryxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier,
|
||||
archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier;
|
||||
|
||||
public String directory = "plugins/mcMMO/";
|
||||
|
||||
public static Keyboard keypress;
|
||||
|
||||
File file = new File(directory + File.separator + "config.yml");
|
||||
Configuration config = null;
|
||||
|
||||
@ -115,6 +122,46 @@ public class LoadProperties
|
||||
write("Spout.Party.HP.X_POS", -11);
|
||||
write("Spout.Party.HP.Y_POS", 0);
|
||||
write("Spout.Party.HP.SPACING", 16);
|
||||
write("Spout.Menu.Key", "KEY_M");
|
||||
write("Spout.HUD.Retro.Colors.Acrobatics.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Acrobatics.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Acrobatics.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Archery.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Archery.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Archery.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Axes.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Axes.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Axes.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Excavation.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Excavation.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Excavation.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Herbalism.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Herbalism.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Herbalism.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Mining.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Mining.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Mining.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Repair.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Repair.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Repair.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Swords.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Swords.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Swords.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Taming.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Taming.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Taming.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Unarmed.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Unarmed.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Unarmed.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Woodcutting.RED", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Woodcutting.GREEN", 0.3);
|
||||
write("Spout.HUD.Retro.Colors.Woodcutting.BLUE", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Border.RED", 0.0);
|
||||
write("Spout.HUD.Retro.Colors.Border.GREEN", 0.0);
|
||||
write("Spout.HUD.Retro.Colors.Border.BLUE", 0.0);
|
||||
write("Spout.HUD.Retro.Colors.Background.RED", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Background.GREEN", 0.75);
|
||||
write("Spout.HUD.Retro.Colors.Background.BLUE", 0.75);
|
||||
|
||||
write("MySQL.Enabled", false);
|
||||
write("MySQL.Server.Address", "localhost");
|
||||
@ -282,6 +329,21 @@ public class LoadProperties
|
||||
{
|
||||
System.out.println("Loading Config File...");
|
||||
|
||||
String temp = readString("Spout.Menu.Key", "KEY_M");
|
||||
|
||||
for(Keyboard x : Keyboard.values())
|
||||
{
|
||||
if(x.toString().equalsIgnoreCase(temp))
|
||||
{
|
||||
keypress = x;
|
||||
}
|
||||
}
|
||||
|
||||
if(keypress == null)
|
||||
{
|
||||
System.out.println("Invalid KEY for Spout.Menu.Key, using KEY_M");
|
||||
keypress = Keyboard.KEY_M;
|
||||
}
|
||||
donateMessage = readBoolean("Commands.mcmmo.Donate_Message", true);
|
||||
xpGainsMobSpawners = readBoolean("XP.Gains.Mobspawners.Enabled", false);
|
||||
|
||||
@ -297,6 +359,47 @@ public class LoadProperties
|
||||
partybar_y = readInteger("Spout.Party.HP.Y_POS", 0);
|
||||
partybar_spacing = readInteger("Spout.Party.HP.SPACING", 16);
|
||||
|
||||
acrobatics_r = readDouble("Spout.HUD.Retro.Colors.Acrobatics.RED", 0.3);
|
||||
acrobatics_g = readDouble("Spout.HUD.Retro.Colors.Acrobatics.GREEN", 0.3);
|
||||
acrobatics_b = readDouble("Spout.HUD.Retro.Colors.Acrobatics.BLUE", 0.75);
|
||||
archery_r = readDouble("Spout.HUD.Retro.Colors.Archery.RED", 0.3);
|
||||
archery_g = readDouble("Spout.HUD.Retro.Colors.Archery.GREEN", 0.3);
|
||||
archery_b = readDouble("Spout.HUD.Retro.Colors.Archery.BLUE", 0.75);
|
||||
axes_r = readDouble("Spout.HUD.Retro.Colors.Axes.RED", 0.3);
|
||||
axes_g = readDouble("Spout.HUD.Retro.Colors.Axes.GREEN", 0.3);
|
||||
axes_b = readDouble("Spout.HUD.Retro.Colors.Axes.BLUE", 0.75);
|
||||
excavation_r = readDouble("Spout.HUD.Retro.Colors.Excavation.RED", 0.3);
|
||||
excavation_g = readDouble("Spout.HUD.Retro.Colors.Excavation.GREEN", 0.3);
|
||||
excavation_b = readDouble("Spout.HUD.Retro.Colors.Excavation.BLUE", 0.75);
|
||||
herbalism_r = readDouble("Spout.HUD.Retro.Colors.Herbalism.RED", 0.3);
|
||||
herbalism_g = readDouble("Spout.HUD.Retro.Colors.Herbalism.GREEN", 0.3);
|
||||
herbalism_b = readDouble("Spout.HUD.Retro.Colors.Herbalism.BLUE", 0.75);
|
||||
mining_r = readDouble("Spout.HUD.Retro.Colors.Mining.RED", 0.3);
|
||||
mining_g = readDouble("Spout.HUD.Retro.Colors.Mining.GREEN", 0.3);
|
||||
mining_b = readDouble("Spout.HUD.Retro.Colors.Mining.BLUE", 0.75);
|
||||
repair_r = readDouble("Spout.HUD.Retro.Colors.Repair.RED", 0.3);
|
||||
repair_g = readDouble("Spout.HUD.Retro.Colors.Repair.GREEN", 0.3);
|
||||
repair_b = readDouble("Spout.HUD.Retro.Colors.Repair.BLUE", 0.75);
|
||||
swords_r = readDouble("Spout.HUD.Retro.Colors.Swords.RED", 0.3);
|
||||
swords_g = readDouble("Spout.HUD.Retro.Colors.Swords.GREEN", 0.3);
|
||||
swords_b = readDouble("Spout.HUD.Retro.Colors.Swords.BLUE", 0.75);
|
||||
taming_r = readDouble("Spout.HUD.Retro.Colors.Taming.RED", 0.3);
|
||||
taming_g = readDouble("Spout.HUD.Retro.Colors.Taming.GREEN", 0.3);
|
||||
taming_b = readDouble("Spout.HUD.Retro.Colors.Taming.BLUE", 0.75);
|
||||
unarmed_r = readDouble("Spout.HUD.Retro.Colors.Unarmed.RED", 0.3);
|
||||
unarmed_g = readDouble("Spout.HUD.Retro.Colors.Unarmed.GREEN", 0.3);
|
||||
unarmed_b = readDouble("Spout.HUD.Retro.Colors.Unarmed.BLUE", 0.75);
|
||||
woodcutting_r = readDouble("Spout.HUD.Retro.Colors.Woodcutting.RED", 0.3);
|
||||
woodcutting_g = readDouble("Spout.HUD.Retro.Colors.Woodcutting.GREEN", 0.3);
|
||||
woodcutting_b = readDouble("Spout.HUD.Retro.Colors.Woodcutting.BLUE", 0.75);
|
||||
|
||||
xpborder_r = readDouble("Spout.HUD.Retro.Colors.Border.RED", 0.0);
|
||||
xpborder_g = readDouble("Spout.HUD.Retro.Colors.Border.GREEN", 0.0);
|
||||
xpborder_b = readDouble("Spout.HUD.Retro.Colors.Border.BLUE", 0.0);
|
||||
xpbackground_r = readDouble("Spout.HUD.Retro.Colors.Background.RED", 0.75);
|
||||
xpbackground_g = readDouble("Spout.HUD.Retro.Colors.Background.GREEN", 0.75);
|
||||
xpbackground_b = readDouble("Spout.HUD.Retro.Colors.Background.BLUE", 0.75);
|
||||
|
||||
msulphur = readInteger("Experience.Excavation.Sulphur", 30);
|
||||
mbones = readInteger("Experience.Excavation.Bones", 30);
|
||||
mbase = readInteger("Experience.Excavation.Base", 40);
|
||||
@ -313,7 +416,7 @@ public class LoadProperties
|
||||
mstring = readInteger("Experience.Excavation.String", 200);
|
||||
mbucket = readInteger("Experience.Excavation.Bucket", 100);
|
||||
mweb = readInteger("Experience.Excavation.Web", 150);
|
||||
mmap = readInteger("Experience.Excavation.Map", 200);
|
||||
mwatch = readInteger("Experience.Excavation.Watch", 200);
|
||||
|
||||
msugar = readInteger("Experience.Herbalism.Sugar_Cane", 30);
|
||||
mwheat = readInteger("Experience.Herbalism.Wheat", 50);
|
||||
@ -420,7 +523,7 @@ public class LoadProperties
|
||||
netherrack = readBoolean("Excavation.Drops.Netherrack", true);
|
||||
bones = readBoolean("Excavation.Drops.Bones", true);
|
||||
slimeballs = readBoolean("Excavation.Drops.Slimeballs", true);
|
||||
map = readBoolean("Excavation.Drops.Map", true);
|
||||
watch = readBoolean("Excavation.Drops.Watch", true);
|
||||
string = readBoolean("Excavation.Drops.String", true);
|
||||
bucket = readBoolean("Excavation.Drops.Bucket", true);
|
||||
web = readBoolean("Excavation.Drops.Web", true);
|
||||
|
@ -18,10 +18,15 @@ import com.gmail.nossr50.spout.SpoutStuff;
|
||||
|
||||
public class HUDmmo
|
||||
{
|
||||
int center_x = 427/2;
|
||||
int center_y = 240/2;
|
||||
|
||||
String playerName = null;
|
||||
Widget xpbar = null;
|
||||
GenericGradient xpfill = null;
|
||||
GenericGradient xpbg = null;
|
||||
GenericGradient xpicon_bg = null;
|
||||
GenericGradient xpicon_border = null;
|
||||
GenericTexture xpicon = null;
|
||||
mcMMO plugin = (mcMMO) Bukkit.getServer().getPluginManager().getPlugin("mcMMO");
|
||||
|
||||
@ -30,6 +35,7 @@ public class HUDmmo
|
||||
playerName = player.getName();
|
||||
initializeHUD(player);
|
||||
}
|
||||
|
||||
public void initializeHUD(Player player)
|
||||
{
|
||||
HUDType type = Users.getProfile(player).getHUDType();
|
||||
@ -69,6 +75,7 @@ public class HUDmmo
|
||||
}
|
||||
case SMALL:
|
||||
{
|
||||
updateXpBarStandard(player, Users.getProfile(player));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -87,37 +94,52 @@ public class HUDmmo
|
||||
xpbg = null;
|
||||
xpicon = null;
|
||||
|
||||
if(SpoutStuff.partyHealthBars.containsKey(sPlayer))
|
||||
{
|
||||
SpoutStuff.partyHealthBars.remove(sPlayer);
|
||||
if(LoadProperties.partybar && Users.getProfile(sPlayer).inParty())
|
||||
SpoutStuff.initializePartyTracking(sPlayer);
|
||||
}
|
||||
|
||||
sPlayer.getMainScreen().setDirty(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeXpBarDisplayRetro(SpoutPlayer sPlayer)
|
||||
{
|
||||
Color black = new Color(0, 0, 0, 1f);
|
||||
Color border = new Color((float)LoadProperties.xpborder_r, (float)LoadProperties.xpborder_g, (float)LoadProperties.xpborder_b, 1f);
|
||||
Color green = new Color(0, 1f, 0, 1f);
|
||||
Color gray = new Color(0.75f, 0.75f, 0.75f, 1f);
|
||||
|
||||
Color background = new Color((float)LoadProperties.xpbackground_r, (float)LoadProperties.xpbackground_g, (float)LoadProperties.xpbackground_b, 1f);
|
||||
Color darkbg = new Color(0.2f, 0.2f, 0.2f, 1f);
|
||||
xpicon = new GenericTexture();
|
||||
xpbar = new GenericGradient();
|
||||
xpfill = new GenericGradient();
|
||||
xpbg = new GenericGradient();
|
||||
|
||||
xpicon.setWidth(6).setHeight(6).setX(149-6).setY(9).setDirty(true);
|
||||
xpicon_bg = new GenericGradient();
|
||||
xpicon_border = new GenericGradient();
|
||||
|
||||
xpicon_bg.setBottomColor(darkbg).setTopColor(darkbg).setWidth(4).setHeight(4).setPriority(RenderPriority.High).setX(142).setY(10).setDirty(true);
|
||||
xpicon_border.setBottomColor(border).setTopColor(border).setWidth(6).setHeight(6).setPriority(RenderPriority.Highest).setX(141).setY(9).setDirty(true);
|
||||
|
||||
xpicon.setWidth(6).setHeight(6).setX(141).setY(9).setPriority(RenderPriority.Normal).setDirty(true);
|
||||
xpicon.setUrl(LoadProperties.web_url+"HUD/Retro/Icon_r.png");
|
||||
|
||||
xpbar.setWidth(128).setHeight(4).setX(149).setY(10);
|
||||
((GenericGradient) xpbar).setBottomColor(black).setTopColor(black).setPriority(RenderPriority.Highest).setDirty(true);
|
||||
((GenericGradient) xpbar).setBottomColor(border).setTopColor(border).setPriority(RenderPriority.Highest).setDirty(true);
|
||||
|
||||
xpfill.setWidth(0).setHeight(2).setX(150).setY(11);
|
||||
xpfill.setBottomColor(green).setTopColor(green).setPriority(RenderPriority.Lowest).setDirty(true);
|
||||
|
||||
xpbg.setWidth(126).setHeight(2).setX(150).setY(11);
|
||||
xpbg.setBottomColor(gray).setTopColor(gray).setPriority(RenderPriority.Low).setDirty(true);
|
||||
xpbg.setBottomColor(background).setTopColor(background).setPriority(RenderPriority.Low).setDirty(true);
|
||||
|
||||
sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpbar);
|
||||
sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpfill);
|
||||
sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpbg);
|
||||
sPlayer.getMainScreen().attachWidget(plugin, (GenericTexture)xpicon);
|
||||
sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpicon_bg);
|
||||
sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpicon_border);
|
||||
|
||||
sPlayer.getMainScreen().setDirty(true);
|
||||
}
|
||||
@ -150,18 +172,26 @@ public class HUDmmo
|
||||
|
||||
private void initializeXpBarDisplaySmall(SpoutPlayer sPlayer)
|
||||
{
|
||||
//Coordinates 240, 427 are the bottom right.
|
||||
GenericTexture xpbar = new GenericTexture();
|
||||
GenericTexture xpbar_fill = new GenericTexture();
|
||||
//Setup xp bar
|
||||
xpbar = new GenericTexture();
|
||||
|
||||
xpbar.setUrl("http://dl.dropbox.com/u/18212134/xpbar/mini/bar.png");
|
||||
xpbar_fill.setUrl("http://dl.dropbox.com/u/18212134/xpbar/mini/bar_fill.png");
|
||||
if(LoadProperties.xpicon)
|
||||
{
|
||||
xpicon = new GenericTexture();
|
||||
|
||||
xpbar.setWidth(128).setHeight(4).setX(149).setY(10).setDirty(true);
|
||||
xpbar_fill.setWidth(2).setHeight(2).setX(150).setY(11).setPriority(RenderPriority.High).setDirty(true);
|
||||
xpicon.setUrl(LoadProperties.web_url+"HUD/Standard/Icon.png");
|
||||
|
||||
xpicon.setHeight(8).setWidth(16).setX(center_x-(8+64)).setY(LoadProperties.xpicon_y+2);
|
||||
|
||||
xpicon.setDirty(true);
|
||||
|
||||
sPlayer.getMainScreen().attachWidget(plugin, xpicon);
|
||||
}
|
||||
|
||||
((GenericTexture)xpbar).setUrl(LoadProperties.web_url+"HUD/Standard/xpbar_inc000.png");
|
||||
xpbar.setX(center_x-64).setY(LoadProperties.xpbar_y).setHeight(4).setWidth(128);
|
||||
|
||||
sPlayer.getMainScreen().attachWidget(plugin, xpbar);
|
||||
sPlayer.getMainScreen().attachWidget(plugin, xpbar_fill);
|
||||
|
||||
sPlayer.getMainScreen().setDirty(true);
|
||||
}
|
||||
@ -175,6 +205,9 @@ public class HUDmmo
|
||||
else
|
||||
theType=PP.getLastGained();
|
||||
|
||||
if(theType == null)
|
||||
return;
|
||||
|
||||
((GenericTexture) xpicon).setUrl(LoadProperties.web_url+"HUD/Standard/"+m.getCapitalized(theType.toString())+".png");
|
||||
xpicon.setDirty(true);
|
||||
|
||||
@ -183,6 +216,7 @@ public class HUDmmo
|
||||
|
||||
SpoutManager.getPlayer(player).getMainScreen().setDirty(true);
|
||||
}
|
||||
|
||||
private void updateXpBarRetro(Player player, PlayerProfile PP)
|
||||
{
|
||||
SkillType theType = null;
|
||||
@ -192,17 +226,13 @@ public class HUDmmo
|
||||
else
|
||||
theType=PP.getLastGained();
|
||||
|
||||
Color color = new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
if(theType == null)
|
||||
return;
|
||||
|
||||
Color color = SpoutStuff.getRetroColor(theType);
|
||||
|
||||
if(xpicon != null && theType != null)
|
||||
xpicon.setUrl(LoadProperties.web_url+"HUD/Retro/"+m.getCapitalized(theType.toString())+"_r.png");
|
||||
else
|
||||
{
|
||||
if(xpicon == null)
|
||||
System.out.println("xpicon was null!");
|
||||
if(theType == null)
|
||||
System.out.println("theType was null!");
|
||||
}
|
||||
|
||||
if(theType != null)
|
||||
xpfill.setBottomColor(color).setTopColor(color).setWidth(SpoutStuff.getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.RETRO)).setDirty(true);
|
||||
|
@ -103,6 +103,19 @@ public class PlayerProfile
|
||||
return false;
|
||||
this.userid = id;
|
||||
if (id > 0) {
|
||||
HashMap<Integer, ArrayList<String>> huds = mcMMO.database.Read("SELECT hudtype FROM "+LoadProperties.MySQLtablePrefix+"huds WHERE user_id = " + id);
|
||||
if(huds.get(1) == null)
|
||||
{
|
||||
mcMMO.database.Write("INSERT INTO "+LoadProperties.MySQLtablePrefix+"huds (user_id) VALUES ("+id+")");
|
||||
} else {
|
||||
for(HUDType x : HUDType.values())
|
||||
{
|
||||
if(x.toString().equals(huds.get(1).get(0)))
|
||||
{
|
||||
hud = x;
|
||||
}
|
||||
}
|
||||
}
|
||||
HashMap<Integer, ArrayList<String>> users = mcMMO.database.Read("SELECT lastlogin, party FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = " + id);
|
||||
//lastlogin = Integer.parseInt(users.get(1).get(0));
|
||||
party = users.get(1).get(1);
|
||||
@ -251,6 +264,16 @@ public class PlayerProfile
|
||||
skullSplitterDATS = Integer.valueOf(character[31]);
|
||||
if(character.length > 32)
|
||||
superBreakerDATS = Integer.valueOf(character[32]);
|
||||
if(character.length > 33)
|
||||
{
|
||||
for(HUDType x : HUDType.values())
|
||||
{
|
||||
if(x.toString().equals(character[33]))
|
||||
{
|
||||
hud = x;
|
||||
}
|
||||
}
|
||||
}
|
||||
in.close();
|
||||
return true;
|
||||
}
|
||||
@ -268,6 +291,8 @@ public class PlayerProfile
|
||||
// if we are using mysql save to database
|
||||
if (LoadProperties.useMySQL)
|
||||
{
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"huds SET "
|
||||
+" hudtype = '"+hud.toString()+"' WHERE user_id = "+this.userid);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"users SET lastlogin = " + timestamp.intValue() + " WHERE id = " + this.userid);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"users SET party = '"+this.party+"' WHERE id = " +this.userid);
|
||||
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"spawn SET world = '" + this.myspawnworld + "', x = " +getX()+", y = "+getY()+", z = "+getZ()+" WHERE user_id = "+this.userid);
|
||||
@ -363,6 +388,7 @@ public class PlayerProfile
|
||||
writer.append(String.valueOf(serratedStrikesDATS)+":");
|
||||
writer.append(String.valueOf(skullSplitterDATS)+":");
|
||||
writer.append(String.valueOf(superBreakerDATS)+":");
|
||||
writer.append(hud.toString()+":");
|
||||
writer.append("\r\n");
|
||||
}
|
||||
}
|
||||
@ -417,6 +443,7 @@ public class PlayerProfile
|
||||
out.append(0+":"); //DATS
|
||||
out.append(0+":"); //DATS
|
||||
out.append(0+":"); //DATS
|
||||
out.append("STANDARD"+":");//HUD
|
||||
|
||||
//Add more in the same format as the line above
|
||||
|
||||
|
13
mcMMO/com/gmail/nossr50/datatypes/buttons/ButtonEscape.java
Normal file
13
mcMMO/com/gmail/nossr50/datatypes/buttons/ButtonEscape.java
Normal file
@ -0,0 +1,13 @@
|
||||
package com.gmail.nossr50.datatypes.buttons;
|
||||
|
||||
import org.getspout.spoutapi.gui.GenericButton;
|
||||
|
||||
public class ButtonEscape extends GenericButton
|
||||
{
|
||||
public ButtonEscape()
|
||||
{
|
||||
this.setText("EXIT");
|
||||
this.setWidth(60).setHeight(20);
|
||||
this.setDirty(true);
|
||||
}
|
||||
}
|
@ -6,11 +6,13 @@ import org.getspout.spoutapi.gui.GenericLabel;
|
||||
import org.getspout.spoutapi.gui.GenericPopup;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
||||
import com.gmail.nossr50.datatypes.buttons.ButtonEscape;
|
||||
import com.gmail.nossr50.datatypes.buttons.ButtonHUDStyle;
|
||||
|
||||
public class PopupMMO extends GenericPopup
|
||||
{
|
||||
ButtonHUDStyle HUDButton = null;
|
||||
ButtonEscape EscapeButton = null;
|
||||
GenericLabel mcMMO_label = new GenericLabel();
|
||||
GenericLabel tip_escape = new GenericLabel();
|
||||
int center_x = 427/2;
|
||||
@ -28,9 +30,13 @@ public class PopupMMO extends GenericPopup
|
||||
HUDButton = new ButtonHUDStyle(PP);
|
||||
HUDButton.setX(center_x-(HUDButton.getWidth()/2)).setY(center_y/2).setDirty(true);
|
||||
|
||||
EscapeButton = new ButtonEscape();
|
||||
EscapeButton.setX(center_x-(EscapeButton.getWidth()/2)).setY((center_y/2)+HUDButton.getHeight()+5).setDirty(true);
|
||||
|
||||
this.attachWidget(plugin, HUDButton);
|
||||
this.attachWidget(plugin, mcMMO_label);
|
||||
this.attachWidget(plugin, tip_escape);
|
||||
this.attachWidget(plugin, EscapeButton);
|
||||
|
||||
this.setDirty(true);
|
||||
}
|
||||
|
@ -3,11 +3,11 @@ package com.gmail.nossr50.listeners;
|
||||
import org.getspout.spoutapi.event.input.InputListener;
|
||||
import org.getspout.spoutapi.event.input.KeyPressedEvent;
|
||||
import org.getspout.spoutapi.gui.ScreenType;
|
||||
import org.getspout.spoutapi.keyboard.Keyboard;
|
||||
import org.getspout.spoutapi.player.SpoutPlayer;
|
||||
|
||||
import com.gmail.nossr50.Users;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.config.LoadProperties;
|
||||
import com.gmail.nossr50.datatypes.popups.PopupMMO;
|
||||
import com.gmail.nossr50.spout.SpoutStuff;
|
||||
|
||||
@ -29,7 +29,7 @@ public class mcSpoutInputListener extends InputListener
|
||||
|
||||
SpoutPlayer sPlayer = event.getPlayer();
|
||||
|
||||
if(event.getKey() == Keyboard.KEY_M)
|
||||
if(event.getKey() == LoadProperties.keypress)
|
||||
{
|
||||
if(!SpoutStuff.playerScreens.containsKey(sPlayer))
|
||||
{
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.gmail.nossr50.listeners;
|
||||
|
||||
import org.getspout.spoutapi.event.screen.ButtonClickEvent;
|
||||
import org.getspout.spoutapi.event.screen.ScreenCloseEvent;
|
||||
import org.getspout.spoutapi.event.screen.ScreenListener;
|
||||
import org.getspout.spoutapi.player.SpoutPlayer;
|
||||
|
||||
@ -9,7 +10,9 @@ import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.datatypes.HUDType;
|
||||
import com.gmail.nossr50.datatypes.HUDmmo;
|
||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
||||
import com.gmail.nossr50.datatypes.buttons.ButtonEscape;
|
||||
import com.gmail.nossr50.datatypes.buttons.ButtonHUDStyle;
|
||||
import com.gmail.nossr50.datatypes.popups.PopupMMO;
|
||||
import com.gmail.nossr50.spout.SpoutStuff;
|
||||
|
||||
public class mcSpoutScreenListener extends ScreenListener
|
||||
@ -37,6 +40,9 @@ public class mcSpoutScreenListener extends ScreenListener
|
||||
PP.setHUDType(HUDType.STANDARD);
|
||||
break;
|
||||
case STANDARD:
|
||||
PP.setHUDType(HUDType.SMALL);
|
||||
break;
|
||||
case SMALL:
|
||||
PP.setHUDType(HUDType.RETRO);
|
||||
break;
|
||||
}
|
||||
@ -45,6 +51,17 @@ public class mcSpoutScreenListener extends ScreenListener
|
||||
|
||||
SpoutStuff.playerScreens.get(sPlayer).updateButtons(PP);
|
||||
}
|
||||
} else if (event.getButton() instanceof ButtonEscape)
|
||||
{
|
||||
sPlayer.getMainScreen().closePopup();
|
||||
}
|
||||
}
|
||||
|
||||
public void onScreenClose(ScreenCloseEvent event)
|
||||
{
|
||||
if(event.getScreen() instanceof PopupMMO)
|
||||
{
|
||||
SpoutStuff.playerScreens.remove(event.getPlayer());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,13 +1,11 @@
|
||||
package com.gmail.nossr50.skills;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.map.MapView;
|
||||
import com.gmail.nossr50.locale.mcLocale;
|
||||
import com.gmail.nossr50.Users;
|
||||
import com.gmail.nossr50.m;
|
||||
@ -148,9 +146,8 @@ public class Excavation
|
||||
{
|
||||
if(Math.random() * 100 > 99)
|
||||
{
|
||||
MapView mv = Bukkit.getServer().createMap(loc.getWorld());
|
||||
xp+= LoadProperties.mwatch;
|
||||
is.add(new ItemStack(Material.WATCH, 1, mv.getId()));
|
||||
is.add(new ItemStack(Material.WATCH, 1, (byte)0));
|
||||
}
|
||||
}
|
||||
if(LoadProperties.bucket && PP.getSkillLevel(SkillType.EXCAVATION) >= 500)
|
||||
|
@ -44,8 +44,6 @@ public class SpoutStuff
|
||||
public static HashMap<Player, ArrayList<HealthBarMMO>> partyHealthBars = new HashMap<Player, ArrayList<HealthBarMMO>>();
|
||||
public static HashMap<SpoutPlayer, PopupMMO> playerScreens = new HashMap<SpoutPlayer, PopupMMO>();
|
||||
|
||||
|
||||
|
||||
public static void registerCustomEvent()
|
||||
{
|
||||
Bukkit.getServer().getPluginManager().registerEvent(Event.Type.CUSTOM_EVENT, spoutListener, Priority.Normal, plugin);
|
||||
@ -58,29 +56,29 @@ public class SpoutStuff
|
||||
switch(type)
|
||||
{
|
||||
case ACROBATICS:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float) LoadProperties.acrobatics_r, (float) LoadProperties.acrobatics_g, (float) LoadProperties.acrobatics_b, 1);
|
||||
case ARCHERY:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float) LoadProperties.archery_r, (float)LoadProperties.archery_g, (float)LoadProperties.archery_b, 1f);
|
||||
case AXES:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float) LoadProperties.axes_r, (float)LoadProperties.axes_g, (float)LoadProperties.axes_b, 1f);
|
||||
case EXCAVATION:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float)LoadProperties.excavation_r, (float)LoadProperties.excavation_g, (float)LoadProperties.excavation_b, 1f);
|
||||
case HERBALISM:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float)LoadProperties.herbalism_r, (float)LoadProperties.herbalism_g, (float)LoadProperties.herbalism_b, 1f);
|
||||
case MINING:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float)LoadProperties.mining_r, (float)LoadProperties.mining_g, (float)LoadProperties.mining_b, 1f);
|
||||
case REPAIR:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float)LoadProperties.repair_r, (float)LoadProperties.repair_g, (float)LoadProperties.repair_b, 1f);
|
||||
case SORCERY:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
case SWORDS:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float)LoadProperties.swords_r, (float)LoadProperties.swords_g, (float)LoadProperties.swords_b, 1f);
|
||||
case TAMING:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float)LoadProperties.taming_r, (float)LoadProperties.taming_g, (float)LoadProperties.taming_b, 1f);
|
||||
case UNARMED:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float)LoadProperties.unarmed_r, (float)LoadProperties.unarmed_g, (float)LoadProperties.unarmed_b, 1f);
|
||||
case WOODCUTTING:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
return new Color((float)LoadProperties.woodcutting_r, (float)LoadProperties.woodcutting_g, (float)LoadProperties.woodcutting_b, 1f);
|
||||
default:
|
||||
return new Color(0.3f, 0.3f, 0.75f, 1f);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user