A WIP of 0.9 - Not recommended to use currently but it seems half-stable on my server.

This commit is contained in:
nossr50 2011-03-09 22:35:03 -08:00
parent 2f6dbfccfc
commit cb0960ee6e
8 changed files with 104 additions and 13 deletions

View File

@ -1,5 +1,7 @@
package com.gmail.nossr50;
import java.util.ArrayList;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
@ -69,29 +71,34 @@ public class mcBlockListener extends BlockListener {
/*
* IF PLAYER IS USING TREEFELLER
*/
/*
if(mcPermissions.getInstance().woodcuttingability(player)){
player.sendMessage(ChatColor.RED+"TIIIIIIIIIIIMBER");
mcWoodCutting.getInstance().treeFeller(block);
if(mcPermissions.getInstance().woodcuttingability(player) && mcUsers.getProfile(player).getTreeFellerMode() && block.getTypeId() == 17){
mcWoodCutting.getInstance().treeFeller(block, player);
for(Block blockx : mcConfig.getInstance().getTreeFeller()){
if(blockx != null){
Material mat = Material.getMaterial(blockx.getTypeId());
byte damage = 0;
ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
blockx.setTypeId(0);
if(item.getTypeId() == 17)
if(item.getTypeId() == 17){
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
mcWoodCutting.getInstance().woodCuttingProcCheck(player, blockx, blockx.getLocation());
mcUsers.getProfile(player).addWoodcuttingGather(7);
}
if(item.getTypeId() == 18){
mat = Material.getMaterial(6);
item = new ItemStack(mat, 1, (byte)0, damage);
if(Math.random() * 10 > 6)
if(Math.random() * 10 > 8)
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
}
}
//mcConfig.getInstance().removeTreeFeller(blockx);
}
/*
* NOTE TO SELF
* I NEED TO REMOVE TREE FELL BLOCKS FROM BEING WATCHED AFTER THIS CODE IS EXECUTED
* OR ELSE IT COULD BE A MEMORY LEAK SITUATION
*/
mcConfig.getInstance().clearTreeFeller();
}
*/
}
/*
* EXCAVATION

View File

@ -32,6 +32,9 @@ public class mcConfig {
public void removeBleedTrack(Entity entity){
bleedTracker.remove(entity);
}
public void clearTreeFeller(){
treeFeller.clear();
}
public void setBleedCount(Entity entity, Integer newvalue){
bleedTracker.add(entity);
}

View File

@ -69,6 +69,20 @@ public class mcPlayerListener extends PlayerListener {
Block block = event.getBlockClicked();
Player player = event.getPlayer();
ItemStack is = player.getItemInHand();
if(mcPermissions.getInstance().woodcuttingability(player) && mcm.getInstance().isAxes(is)){
if(block != null){
if(!mcm.getInstance().abilityBlockCheck(block))
return;
}
if(!mcUsers.getProfile(player).getTreeFellerMode() && mcUsers.getProfile(player).getTreeFellerCooldown() == 0){
player.sendMessage(ChatColor.GRAY+"You feel great strength enter you");
mcUsers.getProfile(player).setTreeFellerTicks(8);
mcUsers.getProfile(player).setTreeFellerMode(true);
}
if(!mcUsers.getProfile(player).getTreeFellerMode() && mcUsers.getProfile(player).getTreeFellerCooldown() >= 1){
player.sendMessage(ChatColor.RED+"You are too tired to use that ability again.");
}
}
if(mcPermissions.getInstance().herbalism(player)){
//BREADCHECK, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS
mcHerbalism.getInstance().breadCheck(player, is);

View File

@ -1,6 +1,8 @@
package com.gmail.nossr50;
import java.awt.Color;
import java.util.TimerTask;
import org.bukkit.ChatColor;
import org.bukkit.entity.*;
public class mcTimer extends TimerTask{
@ -13,6 +15,7 @@ public class mcTimer extends TimerTask{
public void run() {
Player[] playerlist = plugin.getServer().getOnlinePlayers();
/*
if(thecount == 5 || thecount == 10 || thecount == 15 || thecount == 20){
for(Player player : playerlist){
if(player != null &&
@ -58,5 +61,29 @@ public class mcTimer extends TimerTask{
thecount = 1;
}
mcCombat.getInstance().bleedSimulate();
*/
/*
* TREE FELLER INTERACTIONS
*/
for(Player player : playerlist){
if(mcPermissions.getInstance().woodcuttingability(player)){
//Monitor the length of TreeFeller mode
if(mcUsers.getProfile(player).getTreeFellerMode()){
mcUsers.getProfile(player).decreaseTreeFellerTicks();
if(mcUsers.getProfile(player).getTreeFellerTicks() <= 0){
mcUsers.getProfile(player).setTreeFellerMode(false);
mcUsers.getProfile(player).setTreeFellerCooldown(120);
player.sendMessage(ChatColor.GRAY+"**You feel strength leaving you**");
}
}
//Monitor the cooldown
if(!mcUsers.getProfile(player).getTreeFellerMode() && mcUsers.getProfile(player).getTreeFellerCooldown() >= 1){
mcUsers.getProfile(player).decreaseTreeFellerCooldown();
if(mcUsers.getProfile(player).getTreeFellerCooldown() == 0){
player.sendMessage(ChatColor.GREEN+"Your Tree Felling ability is refreshed!");
}
}
}
}
}
}

View File

@ -156,8 +156,8 @@ class PlayerList
protected final Logger log = Logger.getLogger("Minecraft");
private String playerName, gather, wgather, woodcutting, repair, mining, party, myspawn, myspawnworld, unarmed, herbalism, excavation,
archery, swords, axes, invite, acrobatics, repairgather, unarmedgather, herbalismgather, excavationgather, archerygather, swordsgather, axesgather, acrobaticsgather;
private boolean dead;
private int recentlyhurt = 0, bleedticks = 0;
private boolean dead, treefellermode;
private int recentlyhurt = 0, bleedticks = 0, treefellerticks = 0, treefellercooldown = 0;
Player thisplayer;
char defaultColor;
@ -206,7 +206,7 @@ class PlayerList
//gather = "0";
party = null;
dead = false;
treefellermode = false;
//Try to load the player and if they aren't found, append them
if(!load())
addPlayer();
@ -433,6 +433,34 @@ class PlayerList
public void setBleedTicks(Integer newvalue){
bleedticks = newvalue;
}
public boolean getTreeFellerMode(){
return treefellermode;
}
public void setTreeFellerMode(Boolean bool){
treefellermode = bool;
}
public Integer getTreeFellerTicks(){
return treefellerticks;
}
public void setTreeFellerTicks(Integer newvalue){
treefellerticks = newvalue;
}
public void decreaseTreeFellerTicks(){
if(treefellerticks >= 1){
treefellerticks--;
}
}
public void setTreeFellerCooldown(Integer newvalue){
treefellercooldown = newvalue;
}
public int getTreeFellerCooldown(){
return treefellercooldown;
}
public void decreaseTreeFellerCooldown(){
if(treefellercooldown >= 1){
treefellercooldown--;
}
}
public Integer getRecentlyHurt(){
return recentlyhurt;
}

View File

@ -34,8 +34,12 @@ public class mcWoodCutting {
}
}
}
public void treeFeller(Block block){
public void treeFeller(Block block, Player player){
int radius = 1;
if(mcUsers.getProfile(player).getWoodCuttingGatherInt() >= 500)
radius++;
if(mcUsers.getProfile(player).getWoodCuttingGatherInt() >= 950)
radius++;
ArrayList<Block> blocklist = new ArrayList<Block>();
ArrayList<Block> toAdd = new ArrayList<Block>();
if(block != null)

View File

@ -35,6 +35,14 @@ public class mcm {
return Math.sqrt(Math.pow(loca.getX() - locb.getX(), 2) + Math.pow(loca.getY() - locb.getY(), 2)
+ Math.pow(loca.getZ() - locb.getZ(), 2));
}
public boolean abilityBlockCheck(Block block){
int i = block.getTypeId();
if(i == 58 || i == 61 || i == 42 || i == 71 || i == 64 || i == 84 || i == 324 || i == 330){
return false;
} else {
return true;
}
}
public boolean isBlockAround(Location loc, Integer radius, Integer typeid){
Block blockx = loc.getBlock();
int ox = blockx.getX();

View File

@ -1,3 +1,3 @@
name: mcMMO
main: com.gmail.nossr50.mcMMO
version: 0.8.16
version: 0.9 WIP