mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-04-04 18:56:23 +02:00
96 lines
3.3 KiB
Java
96 lines
3.3 KiB
Java
package com.gmail.nossr50.runnables;
|
|
|
|
import org.bukkit.CropState;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.block.Block;
|
|
|
|
import com.gmail.nossr50.config.AdvancedConfig;
|
|
import com.gmail.nossr50.datatypes.AbilityType;
|
|
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
import com.gmail.nossr50.datatypes.SkillType;
|
|
|
|
public class GreenThumbTimer implements Runnable {
|
|
AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
|
private Block block;
|
|
private PlayerProfile profile;
|
|
private Material type;
|
|
|
|
public GreenThumbTimer(Block block, PlayerProfile profile, Material material) {
|
|
this.block = block;
|
|
this.profile = profile;
|
|
this.type = material;
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
if(this.block.getType() != this.type)
|
|
this.block.setType(this.type);
|
|
|
|
int skillLevel = this.profile.getSkillLevel(SkillType.HERBALISM);
|
|
|
|
final int STAGE_CHANGE = advancedConfig.getGreenThumbStageChange();
|
|
|
|
int greenThumbStage = (int) ((double) skillLevel / (double) STAGE_CHANGE);
|
|
if (greenThumbStage > 4) greenThumbStage = 4;
|
|
|
|
switch(this.type) {
|
|
case CROPS:
|
|
case CARROT:
|
|
case POTATO:
|
|
//This replants the wheat at a certain stage in development based on Herbalism Skill
|
|
if (!this.profile.getAbilityMode(AbilityType.GREEN_TERRA)) {
|
|
if (greenThumbStage == 3) {
|
|
this.block.setData(CropState.MEDIUM.getData());
|
|
}
|
|
else if (greenThumbStage == 2) {
|
|
this.block.setData(CropState.SMALL.getData());
|
|
}
|
|
else if (greenThumbStage == 1) {
|
|
this.block.setData(CropState.VERY_SMALL.getData());
|
|
}
|
|
else {
|
|
this.block.setData(CropState.GERMINATED.getData());
|
|
}
|
|
}
|
|
else {
|
|
this.block.setData(CropState.MEDIUM.getData());
|
|
}
|
|
break;
|
|
case NETHER_WARTS:
|
|
if (!this.profile.getAbilityMode(AbilityType.GREEN_TERRA)) {
|
|
if (greenThumbStage == 3) {
|
|
this.block.setData((byte) 2);
|
|
}
|
|
else if (greenThumbStage == 2) {
|
|
this.block.setData((byte) 1);
|
|
}
|
|
else {
|
|
this.block.setData((byte) 0);
|
|
}
|
|
}
|
|
else {
|
|
this.block.setData((byte) 2);
|
|
}
|
|
break;
|
|
case COCOA:
|
|
if (!this.profile.getAbilityMode(AbilityType.GREEN_TERRA)) {
|
|
if (greenThumbStage == 3) {
|
|
this.block.setData((byte) ((this.block.getData() ^ ((byte) 0xc)) | ((byte) 4)));
|
|
}
|
|
else if (greenThumbStage == 2) {
|
|
this.block.setData((byte) ((this.block.getData() ^ ((byte) 0xc)) | ((byte) 4)));
|
|
}
|
|
else {
|
|
this.block.setData((byte) (this.block.getData() ^ ((byte) 0xc)));
|
|
}
|
|
}
|
|
else {
|
|
this.block.setData((byte) ((this.block.getData() ^ ((byte) 0xc)) | ((byte) 4)));
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|