mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 04:57:27 +00:00
IDBCPlayer:
-Created separate mastery functions for racial and non-racial forms.
This commit is contained in:
1 parent
ed5cfad00d
commit
8df94aaf67
1 file changed
+104
-29
@@ -1,8 +1,5 @@
|
||||
package noppes.npcs.scripted.entity;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.IProjectile;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@@ -12,9 +9,6 @@ import noppes.npcs.api.item.IItemStack;
|
||||
import noppes.npcs.scripted.CustomNPCsException;
|
||||
import noppes.npcs.scripted.NpcAPI;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class ScriptDBCPlayer<T extends EntityPlayerMP> extends ScriptPlayer<T> implements IDBCPlayer {
|
||||
public T player;
|
||||
|
||||
@@ -522,9 +516,9 @@ public class ScriptDBCPlayer<T extends EntityPlayerMP> extends ScriptPlayer<T> i
|
||||
return player.getEntityData().getCompoundTag("PlayerPersisted").getByte("jrmcState2");
|
||||
}
|
||||
|
||||
public double getFormMastery(boolean racialForm, byte form) {
|
||||
public double getRacialFormMastery(byte form) {
|
||||
try {
|
||||
String formTree = this.getFormTreeName(racialForm);
|
||||
String formTree = this.getRacialTreeName();
|
||||
if (player.getEntityData().getCompoundTag("PlayerPersisted").hasKey("jrmcFormMastery" + formTree)) {
|
||||
String[] formMasteries = player.getEntityData().getCompoundTag("PlayerPersisted").
|
||||
getString("jrmcFormMastery" + formTree).split(";");
|
||||
@@ -535,9 +529,9 @@ public class ScriptDBCPlayer<T extends EntityPlayerMP> extends ScriptPlayer<T> i
|
||||
return 0.0D;
|
||||
}
|
||||
|
||||
public void setFormMastery(boolean racialForm, byte form, double value) {
|
||||
public void setRacialFormMastery(byte form, double value) {
|
||||
try {
|
||||
String formTree = this.getFormTreeName(racialForm);
|
||||
String formTree = this.getRacialTreeName();
|
||||
if (player.getEntityData().getCompoundTag("PlayerPersisted").hasKey("jrmcFormMastery" + formTree)) {
|
||||
String[] formMasteries = player.getEntityData().getCompoundTag("PlayerPersisted").
|
||||
getString("jrmcFormMastery" + formTree).split(";");
|
||||
@@ -560,9 +554,9 @@ public class ScriptDBCPlayer<T extends EntityPlayerMP> extends ScriptPlayer<T> i
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
|
||||
public void addFormMastery(boolean racialForm, byte form, double value) {
|
||||
public void addRacialFormMastery(byte form, double value) {
|
||||
try {
|
||||
String formTree = this.getFormTreeName(racialForm);
|
||||
String formTree = this.getRacialTreeName();
|
||||
if (player.getEntityData().getCompoundTag("PlayerPersisted").hasKey("jrmcFormMastery" + formTree)) {
|
||||
String[] formMasteries = player.getEntityData().getCompoundTag("PlayerPersisted").
|
||||
getString("jrmcFormMastery" + formTree).split(";");
|
||||
@@ -586,24 +580,105 @@ public class ScriptDBCPlayer<T extends EntityPlayerMP> extends ScriptPlayer<T> i
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
|
||||
private String getFormTreeName(boolean racialForm) {
|
||||
if (racialForm) {
|
||||
switch (this.getRace()) {
|
||||
case 0:
|
||||
return "Racial_Human";
|
||||
case 1:
|
||||
return "Racial_Saiyan";
|
||||
case 2:
|
||||
return "Racial_Half-Saiyan";
|
||||
case 3:
|
||||
return "Racial_Namekian";
|
||||
case 4:
|
||||
return "Racial_Arcosian";
|
||||
case 5:
|
||||
return "Racial_Majin";
|
||||
}
|
||||
private String getRacialTreeName() {
|
||||
switch (this.getRace()) {
|
||||
case 0:
|
||||
return "Racial_Human";
|
||||
case 1:
|
||||
return "Racial_Saiyan";
|
||||
case 2:
|
||||
return "Racial_Half-Saiyan";
|
||||
case 3:
|
||||
return "Racial_Namekian";
|
||||
case 4:
|
||||
return "Racial_Arcosian";
|
||||
case 5:
|
||||
return "Racial_Majin";
|
||||
}
|
||||
return "NonRacial";
|
||||
return "Racial_Human";
|
||||
}
|
||||
|
||||
public double getOtherFormMastery(String formName) {
|
||||
try {
|
||||
if (player.getEntityData().getCompoundTag("PlayerPersisted").hasKey("jrmcFormMasteryNonRacial")) {
|
||||
String masteryData = player.getEntityData().getCompoundTag("PlayerPersisted").
|
||||
getString("jrmcFormMasteryNonRacial");
|
||||
if (!masteryData.contains(formName)) {
|
||||
return 0.0D;
|
||||
}
|
||||
|
||||
String[] formMasteries = masteryData.split(";");
|
||||
for (String masteryString : formMasteries) {
|
||||
if (masteryString.split(",")[0].equals(formName)) {
|
||||
return Double.parseDouble(masteryString.split(",")[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception ignored) {}
|
||||
return 0.0D;
|
||||
}
|
||||
|
||||
public void setOtherFormMastery(String formName, double value) {
|
||||
try {
|
||||
if (player.getEntityData().getCompoundTag("PlayerPersisted").hasKey("jrmcFormMasteryNonRacial")) {
|
||||
String masteryData = player.getEntityData().getCompoundTag("PlayerPersisted").
|
||||
getString("jrmcFormMasteryNonRacial");
|
||||
if (!masteryData.contains(formName)) {
|
||||
return;
|
||||
}
|
||||
String[] formMasteries = masteryData.split(";");
|
||||
|
||||
for (int i = 0; i < formMasteries.length; i++) {
|
||||
String name = formMasteries[i].split(",")[0];
|
||||
if (name.equals(formName)) {
|
||||
formMasteries[i] = name + "," + value;
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder masteryString = new StringBuilder();
|
||||
for (int i = 0; i < formMasteries.length; i++) {
|
||||
masteryString.append(formMasteries[i]);
|
||||
if (i < formMasteries.length - 1) {
|
||||
masteryString.append(';');
|
||||
}
|
||||
}
|
||||
|
||||
player.getEntityData().getCompoundTag("PlayerPersisted").
|
||||
setString("jrmcFormMasteryNonRacial", String.valueOf(masteryString));
|
||||
}
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
|
||||
public void addOtherFormMastery(String formName, double value) {
|
||||
try {
|
||||
if (player.getEntityData().getCompoundTag("PlayerPersisted").hasKey("jrmcFormMasteryNonRacial")) {
|
||||
String masteryData = player.getEntityData().getCompoundTag("PlayerPersisted").
|
||||
getString("jrmcFormMasteryNonRacial");
|
||||
if (!masteryData.contains(formName)) {
|
||||
return;
|
||||
}
|
||||
String[] formMasteries = masteryData.split(";");
|
||||
|
||||
for (int i = 0; i < formMasteries.length; i++) {
|
||||
String name = formMasteries[i].split(",")[0];
|
||||
if (name.equals(formName)) {
|
||||
double newMastery = Double.parseDouble(formMasteries[i].split(",")[1]) + value;
|
||||
formMasteries[i] = name + "," + newMastery;
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder masteryString = new StringBuilder();
|
||||
for (int i = 0; i < formMasteries.length; i++) {
|
||||
masteryString.append(formMasteries[i]);
|
||||
if (i < formMasteries.length - 1) {
|
||||
masteryString.append(';');
|
||||
}
|
||||
}
|
||||
|
||||
player.getEntityData().getCompoundTag("PlayerPersisted").
|
||||
setString("jrmcFormMasteryNonRacial", String.valueOf(masteryString));
|
||||
}
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
|
||||
public void setPowerPoints(int points){
|
||||
|
||||
Reference in new issue
Block a user