aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/plugin
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-07-01 20:41:20 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-07-01 20:41:20 +1000
commit1a9e60e4fdb194416c622d44235a931bac79e606 (patch)
treebed3439e8f87a83767071d2090dd7a8564949b08 /src/Java/gtPlusPlus/plugin
parentfe15444a942c8d2b7740246c4fdb83d3f772950e (diff)
downloadGT5-Unofficial-1a9e60e4fdb194416c622d44235a931bac79e606.tar.gz
GT5-Unofficial-1a9e60e4fdb194416c622d44235a931bac79e606.tar.bz2
GT5-Unofficial-1a9e60e4fdb194416c622d44235a931bac79e606.zip
$ Improved handling of Custom Skins for Villagers.
Diffstat (limited to 'src/Java/gtPlusPlus/plugin')
-rw-r--r--src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java8
-rw-r--r--src/Java/gtPlusPlus/plugin/villagers/VillagerObject.java21
-rw-r--r--src/Java/gtPlusPlus/plugin/villagers/VillagerUtils.java5
-rw-r--r--src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java5
4 files changed, 26 insertions, 13 deletions
diff --git a/src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java b/src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java
index 09ff48aff5..52016d7ee9 100644
--- a/src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java
+++ b/src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java
@@ -50,14 +50,14 @@ public class Core_VillagerAdditions implements IPlugin {
Utils.createNewMobSpawner(1, EntitySickBlaze.class);
Utils.createNewMobSpawner(2, EntityStaballoyConstruct.class);
- VillagerUtils.registerNewVillager(0, "TESTIFICATE", "TESTIFICATE", "TESTIFICATE", null, null);
- VillagerUtils.registerNewVillager(1, "TESTIFICATE1", "TESTIFICATE1", "TESTIFICATE1", null, null);
- VillagerUtils.registerNewVillager(2, "TESTIFICATE2", "TESTIFICATE2", "TESTIFICATE2", null, null);
+ VillagerUtils.registerNewVillager(0, "TESTIFICATE", "TESTIFICATE", "TESTIFICATE", "trackman", null);
+ VillagerUtils.registerNewVillager(1, "TESTIFICATE1", "TESTIFICATE1", "TESTIFICATE1", "trackman", null);
+ VillagerUtils.registerNewVillager(2, "TESTIFICATE2", "TESTIFICATE2", "TESTIFICATE2", "trackman", null);
if (mVillagerMap.size() > 0) {
for (VillagerObject g : mVillagerMap.values()) {
if (g != null && g.mID >= 0) {
- VillagerRegistry.instance().registerVillagerId(g.mID);
+ VillagerRegistry.instance().registerVillagerId(7735+g.mID);
log("Registered a Custom Villager with ID of "+g.mID+".");
Utils.createNewMobSpawner(10+g.mID, EntityBaseVillager.class);
if (mVillagerSkins.get(g.mID) != null) {
diff --git a/src/Java/gtPlusPlus/plugin/villagers/VillagerObject.java b/src/Java/gtPlusPlus/plugin/villagers/VillagerObject.java
index c0684b6227..8f47cb0243 100644
--- a/src/Java/gtPlusPlus/plugin/villagers/VillagerObject.java
+++ b/src/Java/gtPlusPlus/plugin/villagers/VillagerObject.java
@@ -2,28 +2,37 @@ package gtPlusPlus.plugin.villagers;
import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler;
import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.plugin.villagers.entity.EntityBaseVillager;
import net.minecraft.util.ResourceLocation;
public class VillagerObject {
-
+
public final int mID;
public final String mName;
-
- public VillagerObject(int aID, String aName, Object aProfession, Object aCareer, ResourceLocation aSkin, IVillageTradeHandler aCustomTrade) {
-
+
+ public VillagerObject(int aID, String aName, Object aProfession, Object aCareer, Object aSkin, IVillageTradeHandler aCustomTrade) {
+
mID = aID;
mName = aName;
-
+
//Register Custom Trade to Registry.
if (aCustomTrade != null) {
Core_VillagerAdditions.mVillagerTrades.put(new Pair<Integer, IVillageTradeHandler>(aID, aCustomTrade));
}
//Register Skin to Registry.
if (aSkin != null) {
- Core_VillagerAdditions.mVillagerSkins.put(aID, aSkin);
+
+ if (aSkin instanceof String) {
+ String s = (String) aSkin;
+ aSkin = new ResourceLocation(CORE.MODID+":"+"textures/entity/villager/"+s+".png");
+ }
+ if (aSkin instanceof ResourceLocation) {
+ Core_VillagerAdditions.mVillagerSkins.put(aID, (ResourceLocation) aSkin);
+ }
+
}
VillagerUtils.registerNewVillager(aID, this);
}
diff --git a/src/Java/gtPlusPlus/plugin/villagers/VillagerUtils.java b/src/Java/gtPlusPlus/plugin/villagers/VillagerUtils.java
index 848b0fcfbb..f252ad068d 100644
--- a/src/Java/gtPlusPlus/plugin/villagers/VillagerUtils.java
+++ b/src/Java/gtPlusPlus/plugin/villagers/VillagerUtils.java
@@ -3,19 +3,20 @@ package gtPlusPlus.plugin.villagers;
import java.util.HashMap;
import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler;
-import net.minecraft.util.ResourceLocation;
public class VillagerUtils {
public static final HashMap<Integer, VillagerObject> mVillagerMap = new HashMap<Integer, VillagerObject>();
- public static void registerNewVillager(int aID, String aName, Object aProfession, Object aCareer, ResourceLocation aSkin, IVillageTradeHandler aCustomTrade) {
+ public static void registerNewVillager(int aID, String aName, Object aProfession, Object aCareer, Object aSkin, IVillageTradeHandler aCustomTrade) {
registerNewVillager(aID, new VillagerObject(aID, aName, aProfession, aCareer, aSkin, aCustomTrade));
}
public static void registerNewVillager(int aID, VillagerObject aVillager) {
mVillagerMap.put(aID, aVillager);
}
+
+
diff --git a/src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java b/src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java
index 09bb65f620..5f0e0d27f0 100644
--- a/src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java
+++ b/src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java
@@ -44,6 +44,8 @@ public class EntityBaseVillager extends EntityVillager {
* interacts with buyingList and make it use your own list, or you need to not
* extend EntityVillager and just implement IMerchant instead.
*/
+
+ private final int mRoleID;
public EntityBaseVillager(World aWorld){
this(aWorld, 0);
@@ -51,6 +53,7 @@ public class EntityBaseVillager extends EntityVillager {
public EntityBaseVillager(World aWorld, int aID) {
super(aWorld, aID);
+ mRoleID = aID;
}
@Override
@@ -97,7 +100,7 @@ public class EntityBaseVillager extends EntityVillager {
@Override
public int getProfession() {
- return super.getProfession();
+ return 7735+mRoleID;
}
@Override