diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-07-01 23:40:28 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-07-01 23:40:28 +1000 |
commit | afa03ba1b0475ad6b2caeeb1af6f7ed2f8a76e0a (patch) | |
tree | 46165ab699e36dff217fb4ee5cd083c57d42ba6b /src/Java/gtPlusPlus | |
parent | 1a9e60e4fdb194416c622d44235a931bac79e606 (diff) | |
download | GT5-Unofficial-afa03ba1b0475ad6b2caeeb1af6f7ed2f8a76e0a.tar.gz GT5-Unofficial-afa03ba1b0475ad6b2caeeb1af6f7ed2f8a76e0a.tar.bz2 GT5-Unofficial-afa03ba1b0475ad6b2caeeb1af6f7ed2f8a76e0a.zip |
+ Added 3 villager types with custom skins.
+ Added some trade templates to all three villagers.
+ Added localization for all new villagers.
Diffstat (limited to 'src/Java/gtPlusPlus')
6 files changed, 109 insertions, 5 deletions
diff --git a/src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java b/src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java index 52016d7ee9..a74578cef4 100644 --- a/src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java +++ b/src/Java/gtPlusPlus/plugin/villagers/Core_VillagerAdditions.java @@ -20,6 +20,9 @@ import gtPlusPlus.core.util.Utils; import gtPlusPlus.plugin.manager.Core_Manager; import gtPlusPlus.plugin.villagers.block.BlockGenericSpawner; import gtPlusPlus.plugin.villagers.entity.EntityBaseVillager; +import gtPlusPlus.plugin.villagers.trade.TradeHandlerBanker; +import gtPlusPlus.plugin.villagers.trade.TradeHandlerTechnician; +import gtPlusPlus.plugin.villagers.trade.TradeHandlerTrader; import net.minecraft.util.ResourceLocation; public class Core_VillagerAdditions implements IPlugin { @@ -50,9 +53,9 @@ public class Core_VillagerAdditions implements IPlugin { Utils.createNewMobSpawner(1, EntitySickBlaze.class); Utils.createNewMobSpawner(2, EntityStaballoyConstruct.class); - VillagerUtils.registerNewVillager(0, "TESTIFICATE", "TESTIFICATE", "TESTIFICATE", "trackman", null); - VillagerUtils.registerNewVillager(1, "TESTIFICATE1", "TESTIFICATE1", "TESTIFICATE1", "trackman", null); - VillagerUtils.registerNewVillager(2, "TESTIFICATE2", "TESTIFICATE2", "TESTIFICATE2", "trackman", null); + VillagerUtils.registerNewVillager(0, "Banker", "Banker", "Banker", "banker", new TradeHandlerBanker()); + VillagerUtils.registerNewVillager(1, "Technician", "Technician", "Technician", "technician", new TradeHandlerTechnician()); + VillagerUtils.registerNewVillager(2, "Trader", "Trader", "Trader", "trader", new TradeHandlerTrader()); if (mVillagerMap.size() > 0) { for (VillagerObject g : mVillagerMap.values()) { @@ -61,7 +64,7 @@ public class Core_VillagerAdditions implements IPlugin { log("Registered a Custom Villager with ID of "+g.mID+"."); Utils.createNewMobSpawner(10+g.mID, EntityBaseVillager.class); if (mVillagerSkins.get(g.mID) != null) { - VillagerRegistry.instance().registerVillagerSkin(g.mID, mVillagerSkins.get(g.mID)); + VillagerRegistry.instance().registerVillagerSkin(7735+g.mID, mVillagerSkins.get(g.mID)); log("Registered a Custom Skin for Villager with ID of "+g.mID+"."); } } diff --git a/src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java b/src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java index 5f0e0d27f0..2bc3c1f6a2 100644 --- a/src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java +++ b/src/Java/gtPlusPlus/plugin/villagers/entity/EntityBaseVillager.java @@ -100,7 +100,7 @@ public class EntityBaseVillager extends EntityVillager { @Override public int getProfession() { - return 7735+mRoleID; + return super.getProfession(); } @Override diff --git a/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerBanker.java b/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerBanker.java new file mode 100644 index 0000000000..1b08d90978 --- /dev/null +++ b/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerBanker.java @@ -0,0 +1,25 @@ +package gtPlusPlus.plugin.villagers.trade; + +import java.util.Collections; +import java.util.Random; + +import gtPlusPlus.core.recipe.common.CI; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.village.MerchantRecipe; +import net.minecraft.village.MerchantRecipeList; + +public class TradeHandlerBanker extends TradeHandlerBase { + + + @SuppressWarnings("unchecked") + @Override + public void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random random) { + recipeList.add(new MerchantRecipe(CI.electricMotor_LV, CI.electricPiston_LV, CI.robotArm_LV)); + recipeList.add(new MerchantRecipe(CI.electricMotor_MV, CI.electricPiston_MV, CI.robotArm_MV)); + recipeList.add(new MerchantRecipe(CI.electricMotor_HV, CI.electricPiston_HV, CI.robotArm_HV)); + recipeList.add(new MerchantRecipe(CI.electricMotor_EV, CI.electricPiston_EV, CI.robotArm_EV)); + recipeList.add(new MerchantRecipe(CI.electricMotor_IV, CI.electricPiston_IV, CI.robotArm_IV)); + Collections.shuffle(recipeList); + } + +} diff --git a/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerBase.java b/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerBase.java new file mode 100644 index 0000000000..b726ebefff --- /dev/null +++ b/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerBase.java @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package gtPlusPlus.plugin.villagers.trade; + +import java.util.Random; + +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.village.MerchantRecipeList; +import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler; + +public abstract class TradeHandlerBase implements IVillageTradeHandler { + + @SuppressWarnings("unchecked") + @Override + public abstract void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random random); + +} diff --git a/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerTechnician.java b/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerTechnician.java new file mode 100644 index 0000000000..9d27962f22 --- /dev/null +++ b/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerTechnician.java @@ -0,0 +1,25 @@ +package gtPlusPlus.plugin.villagers.trade; + +import java.util.Collections; +import java.util.Random; + +import gtPlusPlus.core.recipe.common.CI; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.village.MerchantRecipe; +import net.minecraft.village.MerchantRecipeList; + +public class TradeHandlerTechnician extends TradeHandlerBase { + + + @SuppressWarnings("unchecked") + @Override + public void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random random) { + recipeList.add(new MerchantRecipe(CI.machineHull_LV, CI.electricMotor_LV, CI.machineHull_LV)); + recipeList.add(new MerchantRecipe(CI.machineHull_MV, CI.electricMotor_MV, CI.machineHull_MV)); + recipeList.add(new MerchantRecipe(CI.machineHull_HV, CI.electricMotor_HV, CI.machineHull_HV)); + recipeList.add(new MerchantRecipe(CI.machineHull_EV, CI.electricMotor_EV, CI.machineHull_EV)); + recipeList.add(new MerchantRecipe(CI.machineHull_IV, CI.electricMotor_IV, CI.machineHull_IV)); + Collections.shuffle(recipeList); + } + +} diff --git a/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerTrader.java b/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerTrader.java new file mode 100644 index 0000000000..885c0400d8 --- /dev/null +++ b/src/Java/gtPlusPlus/plugin/villagers/trade/TradeHandlerTrader.java @@ -0,0 +1,26 @@ +package gtPlusPlus.plugin.villagers.trade; + +import java.util.Collections; +import java.util.Random; + +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.init.Blocks; +import net.minecraft.village.MerchantRecipe; +import net.minecraft.village.MerchantRecipeList; + +public class TradeHandlerTrader extends TradeHandlerBase { + + @SuppressWarnings("unchecked") + @Override + public void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random random) { + recipeList.add(new MerchantRecipe(ItemUtils.getItemStackOfAmountFromOreDict("logWood", 32), ELEMENT.getInstance().IRON.getOre(1))); + recipeList.add(new MerchantRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustRawMeat", 32), ELEMENT.getInstance().COPPER.getOre(1))); + recipeList.add(new MerchantRecipe(ItemUtils.getSimpleStack(Blocks.obsidian, 6), ELEMENT.getInstance().TIN.getOre(1))); + recipeList.add(new MerchantRecipe(ItemUtils.getSimpleStack(Blocks.glowstone, 32), ELEMENT.getInstance().SILICON.getOre(1))); + recipeList.add(new MerchantRecipe(ItemUtils.getSimpleStack(Blocks.piston, 32), ELEMENT.getInstance().ALUMINIUM.getOre(1))); + Collections.shuffle(recipeList); + } + +} |