diff --git a/src/main/java/WayofTime/bloodmagic/ConfigHandler.java b/src/main/java/WayofTime/bloodmagic/ConfigHandler.java index 53ee7d31..2a39c5c4 100644 --- a/src/main/java/WayofTime/bloodmagic/ConfigHandler.java +++ b/src/main/java/WayofTime/bloodmagic/ConfigHandler.java @@ -142,6 +142,9 @@ public class ConfigHandler public static int wailaAltarDisplayMode; public static boolean thaumcraftGogglesUpgrade; + // IDontLikeFun + public static boolean antiHitler; + public static void init(File file) { config = new Configuration(file); @@ -286,6 +289,10 @@ public class ConfigHandler wailaAltarDisplayMode = config.getInt("wailaAltarDisplayMode", category + ".waila", 1, 0, 2, "The mode for the Waila display on Blood Altars.\n0 - Always display information\n1 - Only display when Divination/Seer sigil is in hand.\n2 - Only display when Divination/Seer sigil is in inventory"); thaumcraftGogglesUpgrade = config.getBoolean("thaumcraftGogglesUpgrade", category + ".thaumcraft", true, "Allows the Living Helmet to be upgraded with Goggles of Revealing in an Anvil."); + category = "IDontLikeFun"; + config.addCustomCategoryComment(category, "My name is Scrooge."); + antiHitler = config.get(category, "replaceNauseaWithWeakness", false).getBoolean(); + config.save(); } diff --git a/src/main/java/WayofTime/bloodmagic/api/network/SoulNetwork.java b/src/main/java/WayofTime/bloodmagic/api/network/SoulNetwork.java index 2dcf3be3..05d98b69 100644 --- a/src/main/java/WayofTime/bloodmagic/api/network/SoulNetwork.java +++ b/src/main/java/WayofTime/bloodmagic/api/network/SoulNetwork.java @@ -2,6 +2,7 @@ package WayofTime.bloodmagic.api.network; import javax.annotation.Nullable; +import WayofTime.bloodmagic.ConfigHandler; import lombok.Getter; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; @@ -177,7 +178,8 @@ public class SoulNetwork extends WorldSavedData { if (getPlayer() != null) { - getPlayer().addPotionEffect(new PotionEffect(Potion.confusion.getId(), 99)); + PotionEffect effect = ConfigHandler.antiHitler ? new PotionEffect(Potion.weakness.getId(), 99, 127) : new PotionEffect(Potion.confusion.getId(), 99); + getPlayer().addPotionEffect(effect); } } diff --git a/src/main/java/WayofTime/bloodmagic/api/util/helper/PlayerHelper.java b/src/main/java/WayofTime/bloodmagic/api/util/helper/PlayerHelper.java index e1c3d588..46edc784 100644 --- a/src/main/java/WayofTime/bloodmagic/api/util/helper/PlayerHelper.java +++ b/src/main/java/WayofTime/bloodmagic/api/util/helper/PlayerHelper.java @@ -3,6 +3,7 @@ package WayofTime.bloodmagic.api.util.helper; import java.util.ArrayList; import java.util.UUID; +import WayofTime.bloodmagic.ConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; @@ -94,6 +95,7 @@ public class PlayerHelper if (player == null) return; - player.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); + PotionEffect effect = ConfigHandler.antiHitler ? new PotionEffect(Potion.weakness.getId(), 99, 127) : new PotionEffect(Potion.confusion.getId(), 99); + player.addPotionEffect(effect); } } diff --git a/src/main/java/WayofTime/bloodmagic/client/gui/config/ConfigGui.java b/src/main/java/WayofTime/bloodmagic/client/gui/config/ConfigGui.java index c433999b..15d7b49e 100644 --- a/src/main/java/WayofTime/bloodmagic/client/gui/config/ConfigGui.java +++ b/src/main/java/WayofTime/bloodmagic/client/gui/config/ConfigGui.java @@ -34,6 +34,7 @@ public class ConfigGui extends GuiConfig list.add(new ConfigElement(ConfigHandler.getConfig().getCategory("General".toLowerCase()))); list.add(new ConfigElement(ConfigHandler.getConfig().getCategory("Rituals".toLowerCase()))); list.add(new ConfigElement(ConfigHandler.getConfig().getCategory("Blood Altar Sacrificial Values".toLowerCase()))); + list.add(new ConfigElement(ConfigHandler.getConfig().getCategory("IDontLikeFun".toLowerCase()))); return list; } diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemLavaCrystal.java b/src/main/java/WayofTime/bloodmagic/item/ItemLavaCrystal.java index 08bc84b9..60c3bedc 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemLavaCrystal.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemLavaCrystal.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.item; +import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.client.IVariantProvider; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -71,7 +72,8 @@ public class ItemLavaCrystal extends ItemBindable implements IFuelHandler, IVari EntityPlayer player = PlayerHelper.getPlayerFromUUID(getBindableOwner(fuel)); if (player != null) { - player.addPotionEffect(new PotionEffect(Potion.confusion.getId(), 99)); + PotionEffect effect = ConfigHandler.antiHitler ? new PotionEffect(Potion.weakness.getId(), 99, 127) : new PotionEffect(Potion.confusion.getId(), 99); + player.addPotionEffect(effect); } } diff --git a/src/main/java/WayofTime/bloodmagic/network/BloodMagicPacketHandler.java b/src/main/java/WayofTime/bloodmagic/network/BloodMagicPacketHandler.java index 7107c6ec..66bd7e6d 100644 --- a/src/main/java/WayofTime/bloodmagic/network/BloodMagicPacketHandler.java +++ b/src/main/java/WayofTime/bloodmagic/network/BloodMagicPacketHandler.java @@ -17,6 +17,7 @@ public class BloodMagicPacketHandler { INSTANCE.registerMessage(ChatUtil.PacketNoSpamChat.Handler.class, ChatUtil.PacketNoSpamChat.class, 0, Side.CLIENT); INSTANCE.registerMessage(ItemRouterButtonPacketProcessor.class, ItemRouterButtonPacketProcessor.class, 1, Side.SERVER); + INSTANCE.registerMessage(PacketSyncConfig.class, PacketSyncConfig.class, 2, Side.CLIENT); } public static void sendToAllAround(IMessage message, TileEntity te, int range) diff --git a/src/main/java/WayofTime/bloodmagic/network/PacketSyncConfig.java b/src/main/java/WayofTime/bloodmagic/network/PacketSyncConfig.java new file mode 100644 index 00000000..bca535dc --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/network/PacketSyncConfig.java @@ -0,0 +1,29 @@ +package WayofTime.bloodmagic.network; + +import WayofTime.bloodmagic.ConfigHandler; +import io.netty.buffer.ByteBuf; +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; + +public class PacketSyncConfig implements IMessage, IMessageHandler +{ + + @Override + public void fromBytes(ByteBuf buf) + { + ConfigHandler.wailaAltarDisplayMode = buf.readInt(); + } + + @Override + public void toBytes(ByteBuf buf) + { + buf.writeInt(ConfigHandler.wailaAltarDisplayMode); + } + + @Override + public IMessage onMessage(PacketSyncConfig message, MessageContext ctx) + { + return null; + } +} diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java index 5ecefdc9..dbb38ace 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java @@ -9,6 +9,8 @@ import java.util.concurrent.CopyOnWriteArrayList; import WayofTime.bloodmagic.api.network.SoulNetwork; import WayofTime.bloodmagic.api.orb.IBloodOrb; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; +import WayofTime.bloodmagic.network.BloodMagicPacketHandler; +import WayofTime.bloodmagic.network.PacketSyncConfig; import net.minecraft.block.Block; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -48,6 +50,7 @@ import net.minecraftforge.fml.common.eventhandler.Event.Result; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; +import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent; import net.minecraftforge.fml.relauncher.Side; import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.api.BloodMagicAPI; @@ -210,6 +213,12 @@ public class EventHandler } } + @SubscribeEvent + public void onLoggedIn(PlayerLoggedInEvent event) + { + BloodMagicPacketHandler.sendTo(new PacketSyncConfig(), (EntityPlayerMP) event.player); + } + @SubscribeEvent(priority = EventPriority.HIGHEST) public void onEntityUpdate(LivingEvent.LivingUpdateEvent event) { diff --git a/src/main/resources/assets/bloodmagic/lang/zh_CN.lang b/src/main/resources/assets/bloodmagic/lang/zh_CN.lang index ed1775eb..cf75200e 100644 --- a/src/main/resources/assets/bloodmagic/lang/zh_CN.lang +++ b/src/main/resources/assets/bloodmagic/lang/zh_CN.lang @@ -309,7 +309,7 @@ tooltip.BloodMagic.livingArmour.upgrade.poisonResist=抗毒体质 tooltip.BloodMagic.livingArmour.upgrade.selfSacrifice=结实手心 tooltip.BloodMagic.livingArmour.upgrade.knockback=强劲身躯 tooltip.BloodMagic.livingArmour.upgrade.physicalProtect=坚韧皮肤 -tooltip.BloodMagic.livingArmour.upgrade.health=健康体质 +tooltip.BloodMagic.livingArmour.upgrade.health=健壮体质 tooltip.BloodMagic.livingArmour.upgrade.meleeDamage=猛烈打击 tooltip.BloodMagic.livingArmour.upgrade.arrowShot=狙击诀窍 tooltip.BloodMagic.livingArmour.upgrade.stepAssist=步伐补助 @@ -359,6 +359,7 @@ ritual.BloodMagic.expulsionRitual=驱逐氛场 ritual.BloodMagic.zephyrRitual=和风之唤 ritual.BloodMagic.upgradeRemoveRitual=净灵之曲 ritual.BloodMagic.armourEvolveRitual=束灵进化 +ritual.BloodMagic.animalGrowthRitual=牧养仪式 ritual.BloodMagic.cobblestoneRitual=Le Vulcanos Frigius ritual.BloodMagic.placerRitual=铺设仪式 @@ -384,6 +385,64 @@ chat.BloodMagic.livingArmour.upgrade.poisonRemove=你感到已经好多了! chat.BloodMagic.livingArmour.upgrade.grimReaper=&6朦胧中一股能量使你脱离死亡边缘! chat.BloodMagic.livingArmour.newUpgrade=&4强化完成! +# Commands +commands.error.arg.invalid=无效参数 +commands.error.arg.missing=参数不足 +commands.error.arg.player.missing=你必须指定一个玩家来执行该命令. +commands.error.404=命令未找到! +commands.error.unknown=未知的命令! +commands.error.perm=你没有使用该命令的权限. + +commands.success=成功执行 + +commands.format.help=%s - %s +commands.format.error=%s - %s + +commands.help.usage=/bloodmagic help +commands.help.help=使用"/bloodmagic help"命令显示指令列表. + +commands.network.usage=/bloodmagic network [吸取(syphon)|添加(add)|查看(get)|填充(fill)|填满(cap)] <玩家> [数量] +commands.network.help=LP network utilities +commands.network.syphon.help=从指定玩家的灵魂网络中移出指定的LP值. +commands.network.syphon.success=成功从 %s 吸取出 %dLP . +commands.network.add.help=添加指定的LP值到指定玩家的灵魂网络中. 服从标准的LP增加规则. +commands.network.add.success=成功添加 %dLP 到 %s 的灵魂网络. +commands.network.set.help=将指定玩家的LP设置为所给数值. +commands.network.set.success=成功将 %s 灵魂网络中的LP设置为 %d . +commands.network.get.help=返还指定玩家灵魂网络中的LP值. +commands.network.fill.help=将指定玩家的LP填充为 %d. +commands.network.fill.success=成功填充 %s 的灵魂网络. +commands.network.cap.help=填充指定玩家的灵魂网络至其所持有的最高阶气血宝珠容量的最大值. +commands.network.cap.success=成功填满 %s 的灵魂网络. + +commands.bind.usage=/bloodmagic bind [是(true)|否(false)] [玩家] +commands.bind.help=用于设置/解除对手持物品的绑定情况. +commands.bind.success=绑定成功 +commands.bind.remove.success=解除绑定成功 + +commands.orb.usage=/bloodmagic orb [设置(set)|查看(get)] <玩家> [等级] +commands.orb.help=用于设置或查看玩家的最高血宝珠等级. + +commands.bind.usage=/bind <玩家> +commands.bind.success=物品成功绑定! +commands.bind.failed.noPlayer=没有指定玩家 +commands.bind.failed.alreadyBound=物品已经被绑定; 使用 /unbind 来解除绑定 +commands.bind.failed.notBindable=物品无法被绑定 +commands.unbind.usage=/unbind +commands.unbind.success=物品成功解除绑定! +commands.unbind.failed.notBindable=物品无法解除绑定 +commands.soulnetwork.usage=/soulnetwork <玩家> <添加(add)|减去(subtract)|填满(fill)|清空(empty)|查看(get)> [数量] +commands.soulnetwork.add.success=成功添加 %dLP 到 %s 的灵魂网络! +commands.soulnetwork.subtract.success=成功从 %s 的灵魂网络中减去 %dLP ! +commands.soulnetwork.fill.success=成功填满 %s 的灵魂网络! +commands.soulnetwork.empty.success=成功清空 %s 的灵魂网络! +commands.soulnetwork.get.success=%s 的灵魂网络中有 %dLP ! +commands.soulnetwork.noPlayer=没有指定玩家 +commands.soulnetwork.noCommand=这不符命令规定 +commands.soulnetwork.notACommand=这不是有效的命令 +commands.soulnetwork.fillMax.success=成功将 %s 的灵魂网络填满至其宝珠的最大值! +commands.soulnetwork.create.success=创建 %s 的灵魂网络成功 (宝珠等级: %d) + # JustEnoughItems jei.BloodMagic.recipe.altar=血之祭坛 jei.BloodMagic.recipe.binding=炼金矩阵 (绑定) @@ -415,5 +474,4 @@ tc.research_category.BLOODMAGIC=血红奥术 # Thaumcraft Research bloodmagic.research_name.BLOODMAGIC=血魔法 bloodmagic.research_text.BLOODMAGIC=血红奥术 - bloodmagic.research_page.BLOODMAGIC.1=The realm of the Blood Magics has always appeared to be a more solitary and "individual" art with blood mages being notoriously reclusive and a bit insane at times. However, the powers of self-sacrifice and life essence have uses even beyond a normal blood mage's sight, in fact, it is quite apparent that it may have some uses in thaumaturgy after all!