diff --git a/src/main/java/net/minecraft/item/ItemSkull.java b/src/main/java/net/minecraft/item/ItemSkull.java index 5b65160..85e0c88 100644 --- a/src/main/java/net/minecraft/item/ItemSkull.java +++ b/src/main/java/net/minecraft/item/ItemSkull.java @@ -36,11 +36,16 @@ public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { + if(p_77648_3_.getBlock(p_77648_4_, p_77648_5_, p_77648_6_).isReplaceable(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_) && p_77648_7_ != 0) + { + p_77648_7_ = 1; + p_77648_5_--; + } if (p_77648_7_ == 0) { return false; } - else if (!p_77648_3_.getBlock(p_77648_4_, p_77648_5_, p_77648_6_).getMaterial().isSolid()) + else if (!p_77648_3_.isSideSolid(p_77648_4_, p_77648_5_, p_77648_6_, net.minecraftforge.common.util.ForgeDirection.getOrientation(p_77648_7_))) { return false; } @@ -71,8 +76,11 @@ ++p_77648_4_; } + } + { if (!p_77648_3_.isRemote) { + if (!Blocks.skull.canPlaceBlockOnSide(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_, p_77648_7_)) return false; p_77648_3_.setBlock(p_77648_4_, p_77648_5_, p_77648_6_, Blocks.skull, p_77648_7_, 2); int i1 = 0; diff --git a/src/main/java/net/minecraftforge/common/ForgeChunkManager.java b/src/main/java/net/minecraftforge/common/ForgeChunkManager.java index 311c4cb..9cfc009 100644 --- a/src/main/java/net/minecraftforge/common/ForgeChunkManager.java +++ b/src/main/java/net/minecraftforge/common/ForgeChunkManager.java @@ -93,17 +93,17 @@ private static Configuration config; private static int playerTicketLength; private static int dormantChunkCacheSize; - + public static final List MOD_PROP_ORDER = new ArrayList(2); private static Set warnedMods = Sets.newHashSet(); - + static { MOD_PROP_ORDER.add("maximumTicketCount"); MOD_PROP_ORDER.add("maximumChunksPerTicket"); } - + /** * All mods requiring chunkloading need to implement this to handle the * re-registration of chunk tickets at world loading time @@ -833,6 +833,7 @@ forcedChunkData.setTag("TicketList", ticketList); Multimap ticketSet = tickets.get(worldServer); + if (ticketSet == null) return; for (String modId : ticketSet.keySet()) { NBTTagCompound ticketHolder = new NBTTagCompound(); @@ -943,7 +944,7 @@ } syncConfigDefaults(); } - + /** * Synchronizes the local fields with the values in the Configuration object. */ @@ -955,7 +956,7 @@ config.setCategoryComment("defaults", "Default configuration for forge chunk loading control") .setCategoryRequiresWorldRestart("defaults", true); - + Property temp = config.get("defaults", "enabled", true); temp.comment = "Are mod overrides enabled?"; temp.setLanguageKey("forge.configgui.enableModOverrides"); @@ -969,7 +970,7 @@ temp.setMinValue(0); defaultMaxChunks = temp.getInt(25); propOrder.add("maximumChunksPerTicket"); - + temp = config.get("defaults", "maximumTicketCount", 200); temp.comment = "The default maximum ticket count for a mod which does not have an override\n" + "in this file. This is the number of chunk loading requests a mod is allowed to make."; @@ -993,7 +994,7 @@ dormantChunkCacheSize = temp.getInt(0); propOrder.add("dormantChunkCacheSize"); FMLLog.info("Configured a dormant chunk cache size of %d", temp.getInt(0)); - + config.setCategoryPropertyOrder("defaults", propOrder); config.addCustomCategoryComment("Forge", "Sample mod specific control section.\n" + @@ -1014,23 +1015,23 @@ config.get(mod, "maximumTicketCount", 200).setLanguageKey("forge.configgui.maximumTicketCount").setMinValue(0); config.get(mod, "maximumChunksPerTicket", 25).setLanguageKey("forge.configgui.maximumChunksPerTicket").setMinValue(0); } - + if (config.hasChanged()) { config.save(); } } - + public static Configuration getConfig() { return config; } - + public static ConfigCategory getDefaultsCategory() { return config.getCategory("defaults"); } - + public static List getModCategories() { List list = new ArrayList(); diff --git a/src/main/resources/fmlversion.properties b/src/main/resources/fmlversion.properties index 8ee7168..ffef58b 100644 --- a/src/main/resources/fmlversion.properties +++ b/src/main/resources/fmlversion.properties @@ -1,6 +1,6 @@ fmlbuild.major.number=7 fmlbuild.minor.number=10 fmlbuild.revision.number=23 -fmlbuild.build.number=61 +fmlbuild.build.number=62 fmlbuild.mcversion=1.7.10 fmlbuild.mcpversion=9.05