Skip to content

Commit 91ea9ef

Browse files
committed
Fixed crash with christmas event, fixed a bunch of issues with it as well. Fixes #175
#releaseBuild
1 parent 181da4f commit 91ea9ef

6 files changed

Lines changed: 30 additions & 24 deletions

File tree

src/main/java/vswe/stevescarts/StevesCarts.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,17 +85,17 @@ public void preInit(final FMLPreInitializationEvent event) {
8585

8686
PluginLoader.preInit(event);
8787
MinecraftForge.EVENT_BUS.register(this);
88+
89+
if (Constants.isChristmas) {
90+
MinecraftForge.EVENT_BUS.register(new TradeHandler());
91+
MinecraftForge.EVENT_BUS.register(new EventHandlerChristmas());
92+
}
8893
}
8994

9095
@Mod.EventHandler
9196
public void load(final FMLInitializationEvent evt) {
9297
MinecraftForge.EVENT_BUS.register(new EventHandler());
9398

94-
if (Constants.isChristmas) {
95-
tradeHandler = new TradeHandler();
96-
MinecraftForge.EVENT_BUS.register(new EventHandlerChristmas());
97-
}
98-
9999
GiftItem.init();
100100
NetworkRegistry.INSTANCE.registerGuiHandler(StevesCarts.instance, StevesCarts.proxy);
101101
StevesCarts.proxy.init();

src/main/java/vswe/stevescarts/handlers/EventHandlerChristmas.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,10 @@ public void onEntityInteract(final PlayerInteractEvent.EntityInteract event) {
5555
}
5656
if (!player.world.isRemote) {
5757
villager.setProfession(TradeHandler.santaProfession);
58+
villager.getRecipes(player).clear();
5859
try {
59-
ReflectionHelper.findMethod(EntityVillager.class, "populateBuyingList", "func_175554_cu").invoke(null);
60+
ReflectionHelper.setPrivateValue(EntityVillager.class, villager, 0, "careerLevel", "field_175562_bw");
61+
ReflectionHelper.findMethod(EntityVillager.class, "populateBuyingList", "func_175554_cu").invoke(villager);
6062
} catch (Exception e) {
6163
e.printStackTrace();
6264
}
@@ -76,7 +78,6 @@ public void tickEnd(final TickEvent.PlayerTickEvent event) {
7678
final EntityPlayer player = event.player;
7779
if (Constants.isChristmas && player.isPlayerFullyAsleep()) {
7880
for (int i = 0; i < player.inventory.getSizeInventory(); ++i) {
79-
@Nonnull
8081
ItemStack item = player.inventory.getStackInSlot(i);
8182
if (!item.isEmpty() && item.getItem() == ModItems.COMPONENTS && item.getItemDamage() == 56) {
8283
item.setItemDamage(item.getItemDamage() + 1);

src/main/java/vswe/stevescarts/handlers/TradeHandler.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
import net.minecraft.item.ItemStack;
66
import net.minecraft.village.MerchantRecipe;
77
import net.minecraft.village.MerchantRecipeList;
8+
import net.minecraftforge.event.RegistryEvent;
9+
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
810
import net.minecraftforge.fml.common.registry.VillagerRegistry.VillagerCareer;
911
import net.minecraftforge.fml.common.registry.VillagerRegistry.VillagerProfession;
10-
import net.minecraftforge.registries.GameData;
1112
import vswe.stevescarts.Constants;
1213
import vswe.stevescarts.helpers.ComponentTypes;
1314
import vswe.stevescarts.helpers.ResourceHelper;
@@ -19,10 +20,12 @@ public class TradeHandler implements ITradeList {
1920

2021
public static VillagerProfession santaProfession;
2122

22-
public TradeHandler() {
23+
@SubscribeEvent
24+
public void registerVillagers(RegistryEvent.Register<VillagerProfession> event) {
2325
santaProfession = new VillagerProfession(Constants.MOD_ID + ":santa", ResourceHelper.getResource("/models/santa.png").toString(), ResourceHelper.getResource("/models/santa_zombie.png").toString());
24-
VillagerCareer career = new VillagerCareer(santaProfession, "santa");
25-
GameData.register_impl(santaProfession);
26+
event.getRegistry().register(santaProfession);
27+
28+
VillagerCareer career = new VillagerCareer(santaProfession, "sc_santa");
2629
career.addTrade(1, this);
2730
}
2831

src/main/java/vswe/stevescarts/helpers/ResourceHelper.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
import java.util.HashMap;
1010

11-
@SideOnly(Side.CLIENT)
1211
public class ResourceHelper {
1312
private static HashMap<String, ResourceLocation> resources;
1413
private static HashMap<String, ResourceLocation> pathResources;

src/main/java/vswe/stevescarts/items/ItemCartComponent.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,22 +148,22 @@ private boolean isThrowableEgg(@Nonnull ItemStack item) {
148148
public ItemStack onItemUseFinish(@Nonnull ItemStack item, World world, EntityLivingBase entity) {
149149
if (entity instanceof EntityPlayer && isEdibleEgg(item)) {
150150
EntityPlayer player = (EntityPlayer) entity;
151-
if (item.getItemDamage() == 66) {
151+
if (item.getItemDamage() == ComponentTypes.EXPLOSIVE_EASTER_EGG.getId()) {
152152
world.createExplosion(null, entity.posX, entity.posY, entity.posZ, 0.1f, false);
153-
} else if (item.getItemDamage() == 67) {
153+
} else if (item.getItemDamage() == ComponentTypes.BURNING_EASTER_EGG.getId()) {
154154
entity.setFire(5);
155155
if (!world.isRemote) {
156156
entity.addPotionEffect(new PotionEffect(MobEffects.WATER_BREATHING, 600, 0));
157157
}
158-
} else if (item.getItemDamage() == 68) {
158+
} else if (item.getItemDamage() == ComponentTypes.GLISTERING_EASTER_EGG.getId()) {
159159
if (!world.isRemote) {
160160
entity.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50, 2));
161161
}
162-
} else if (item.getItemDamage() == 69) {
162+
} else if (item.getItemDamage() == ComponentTypes.CHOCOLATE_EASTER_EGG.getId()) {
163163
if (!world.isRemote) {
164164
entity.addPotionEffect(new PotionEffect(MobEffects.SPEED, 300, 4));
165165
}
166-
} else if (item.getItemDamage() == 70) {}
166+
} else if (item.getItemDamage() == ComponentTypes.PAINTED_EASTER_EGG.getId()) {}
167167
if (!player.capabilities.isCreativeMode) {
168168
item.shrink(1);
169169
}

src/main/resources/assets/stevescarts/lang/en_us.lang

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ itemGroup.SC2Modules=Steve's Carts 2 Modules
22
itemGroup.SC2Items=Steve's Carts 2 Components
33
itemGroup.SC2Blocks=Steve's Carts 2 Blocks
44

5+
# Villager
6+
entity.Villager.sc_santa=Santa
7+
58
# ======================================
6-
BLOCK GUI
9+
# BLOCK GUI
710
# ======================================
811

912
# Cart assembler gui localization
@@ -207,7 +210,7 @@ gui.SC2:stateTankEmpty=Is there any completely empty tank
207210
gui.SC2:returnButton=Reverse cart direction
208211

209212
# ======================================
210-
ITEMS
213+
# ITEMS
211214
# ======================================
212215

213216
# Carts
@@ -403,7 +406,7 @@ item.SC2:blade_arm.name=Blade Arm
403406

404407

405408
# ======================================
406-
BLOCKS
409+
# BLOCKS
407410
# ======================================
408411

409412
tile.SC2:BlockCargoManager.name=Cargo Manager
@@ -451,7 +454,7 @@ item.SC2:BlockDetector4.name=Detector Redstone Unit
451454

452455

453456
# ======================================
454-
MODULE MISC
457+
# MODULE MISC
455458
# ======================================
456459

457460
# Categories
@@ -521,7 +524,7 @@ info.SC2:maxAddonCount=Max Addon count: [%1]
521524
# end of beta 3 requirement (remove this note)
522525

523526
# ======================================
524-
UPGRADES
527+
# UPGRADES
525528
# ======================================
526529

527530
info.SC2:effectBlueprint=Enable the use of Blueprint carts.
@@ -544,7 +547,7 @@ info.SC2:effectEfficiency=Assembling efficiency [%1]%.
544547

545548

546549
# ======================================
547-
MODULES
550+
# MODULES
548551
# ======================================
549552

550553
# Addons
@@ -684,7 +687,7 @@ modules.attachments.SC2:controlSystemReset=Reset trip-meter
684687
# end of beta 3 requirement (remove this note)
685688

686689
# ======================================
687-
Steve's Arcade
690+
# Steve's Arcade
688691
# ======================================
689692
# need beta 3 for these ones to show up (remove this note)
690693
# Ghast Invaders

0 commit comments

Comments
 (0)