You open a command line and go to the directory of your mod, like when you were setting up for the first time. Then you run "gradlew build". Proceed to navigate to build/libs and you should see your mod jar there.
- JCCDragons
- Registered Member
-
Member for 8 years, 9 months, and 20 days
Last active Sat, Jul, 24 2021 11:32:20
- 0 Followers
- 6 Total Posts
- 0 Thanks
- To post a comment, please login.
-
Mar 14, 2018That_Martin_Guy posted a message on How to Finalize My Mod (And make it into a jar file) [SOLVED]Posted in: Modification Development
-
1
SyedGamer posted a message on ActiveEffects Hide Particles?Posted in: Redstone Discussion and MechanismsI don't know if this happened to any of you, but when making a horse invisible with ShowParticles:0 in ActiveEffects tag it doesn't work. If it works, good for you but if it doesn't, try adding a b after the zero. Like this:
ShowParticles:0b
Hope it works! Also a quick note with ActiveEffects is that make sure you put Id: instead of id: (Make the i capitalized)
Here's a sample command currently in development I made for a sit-able chair:
/summon Horse ~ ~ ~ {Tame:1,ActiveEffects:[{Id:14,Duration:100000,ShowParticles:0b}],Attributes:[{Name:generic.maxHealth,Base:999}],Invulnerable:1,NoAI:1,Silent:1,PersistenceRequired:1,Health:999.0f,CustomName:Chair}
-
2
20firebird posted a message on Your most common death.So, how do you usually die on your worlds?Posted in: Survival Mode
I don't really play on survival lately, but in my last long survival world, falling. See, after some exploration, I moved my house to a rather safe desert to the mountains; specifically on top of a mountain. There just so happened to be a small lake in the valley in front of it, and since it was a long climb down (I never got around to installing stairs) I tended to just jump down into the lake. I couldn't tell you how many times I fell just short or missed entirely. -
85
coolAlias posted a message on [Forge][1.6.4 - 1.8] EventHandler and IExtendedEntityPropertiesEvent Handler and Events: How to set up and use Forge EventsPosted in: Mapping and Modding Tutorials
Updating to 1.8
As far as events go, the change is simple: change EVERY import with 'cpw.mods.fml...' to 'net.minecraftforge.fml...'
That's it, but they need to be changed in EVERY file, which can be tedious, though if you're smart rather than hard-working, you could write a script.
(Don't forget to check out POST#2 for the tutorial on IExtendedEntityProperties!)
Preamble: If you're looking to have armor do something special every tick, there is a much easier way than using either Tick or Event Handlers. See my post here if that's what you're trying to do. It will be worth your time, trust me
Tutorial:
If you want to change any type of default Minecraft behavior, chances are there is a Forge Event that handles it.
There are Player Events, Living Events, Item Events, World Events, TerrainGenEvents, Minecart Events... there's just so much you can do with these it's incredible.
I personally prefer using EventHandler over TickHandler for this very reason - most things you could ever want to do already have a framework built to handle it, whereas Tick Handler you have to build it all yourself.
Creating and Using Your Event Handler:
IMPORTANT!!! Do NOT name your EventHandler 'EventHandler' - that's already the name of a Forge class. Also, do NOT edit any of the Forge classes. You need to create a new class to handle events.
Step 1: Create TutEventHandler class
// Note that this step is the same in both 1.6.4 and 1.7.2. public class TutEventHandler { }
Step 2: Register your event handler class to EVENT_BUS either in 'load' or 'postInit' methods in your main mod. Note that this step is the same in both 1.6.4 and 1.7.2.
@EventHandler public void load(FMLInitializationEvent event) { // IMPORTANT: Be sure to register your handler on the correct bus!!! (see below) // the majority of events use the MinecraftForge event bus: MinecraftForge.EVENT_BUS.register(new TutEventHandler()); // but some are on the FML bus: FMLCommonHandler.instance().bus().register(new YourFMLEventHandler()); }
Registering to the Correct BUS
You have followed all the steps and your event handling methods just do not seem to be working, what could possibly be going on? Well, each event is posted to a different event bus, and if your event handler is registered to the incorrect bus, then your method will never get called. The vast majority of events are posted to the MinecraftForge.EVENT_BUS, but there are several other event buses:You're finished! That was easy But it doesn't do anything right now, so on to step 3.
1. MinecraftForge.EVENT_BUS: Most events get posted to this bus.
2. MinecraftForge.TERRAIN_GEN_BUS: Most world generation events happen here, such as Populate, Decorate, etc., with the strange exception that Pre and Post events are on the regular EVENT_BUS
3. MinecraftForge.ORE_GEN_BUS: Ore generation, obviously
4. FML Events: these become very important in 1.7.2, as this is where TickEvents and KeyInputEvents are posted, with TickHandler and KeyHandler no longer existing.
FMLCommonHandler.instance().bus().register(new YourFMLEventHandler());
It is very important to register your event handler to the correct event bus, and only put those events that get posted to a certain event bus in a handler registered to that bus, or your event handling will fail.
Step 3: Add events to your event handler (an example)
Look through MinecraftForge event types for ones you want to use and add them to your EventHandler by creating a new method with the appropriate Event as a parameter.
1.6.4: It must be prefaced by "@ForgeSubscribe" so that it gets called automatically at the right times.
1.7.2: It must be prefaced by "@SubscribeEvent" so that it gets called automatically at the right times.
Do not, I repeat do NOT edit the event classes directly. Also, you do NOT need to make a class extending the Event class.
// In your TutEventHandler class - the name of the method doesn't matter // Only the Event type parameter is what's important (see below for explanations of some types) @ForgeSubscribe public void onLivingUpdateEvent(LivingUpdateEvent event) { // This event has an Entity variable, access it like this: event.entity; // do something to player every update tick: if (event.entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entity; ItemStack heldItem = player.getHeldItem(); if (heldItem != null && heldItem.itemID == Item.arrow.itemID) { player.capabilities.allowFlying = true; } else { player.capabilities.allowFlying = player.capabilities.isCreativeMode ? true : false; } }
If you're ever curious what variables the Event stores, type ' event. ' in Eclipse and it will bring up a menu of all the methods and variables. Or go to the implementation by ctrl-clicking on the class name.
Step 4: Using Events in your custom classes
Forge Events are all hooked into automatically from vanilla code, but say you made a custom Bow and want it to use ArrowNock and ArrowLoose events? You need to post them to the event bus in your item code.
/** ArrowNockEvent should be placed in 'onItemRightClick' */ @Override public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player) { // Create the event and post it ArrowNockEvent event = new ArrowNockEvent(player, itemstack); MinecraftForge.EVENT_BUS.post(event); if (event.isCanceled()) { // you could do other stuff here as well return event.result; } player.setItemInUse(itemstack, this.getMaxItemUseDuration(itemstack)); } return itemstack; } /** ArrowLooseEvent should be placed in 'onPlayerStoppedUsing' */ @Override public void onPlayerStoppedUsing(ItemStack itemstack, World world, EntityPlayer player, int par4) { // Ticks in use is max duration minus par4, which is equal to max duration - 1 for every tick in use int ticksInUse = this.getMaxItemUseDuration(itemstack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(player, itemstack, ticksInUse); MinecraftForge.EVENT_BUS.post(event); if (event.isCanceled()) { return; } // ticksInUse might be modified by the Event in your EventHandler, so reassign it here: ticksInUse = event.charge; // Do whatever else you want with the itemstack like fire an arrow or cast a spell }
Step 5: Adding events to your EventHandler
Look through MinecraftForge event types for ones you want to use and add them to your EventHandler by creating a new method with the appropriate Event as a parameter.
1.6.4: It must be prefaced by "@ForgeSubscribe" so that it gets called automatically at the right times.
1.7.2: It must be prefaced by "@SubscribeEvent" so that it gets called automatically at the right times.
Do not, I repeat do NOT edit the event classes directly. Also, you do NOT need to make a class extending the Event class.
The following is a template for whatever event method you want to make. Name it whatever you want, but use the correct Event Type from above.
Event variables are accessed by using 'event.variableName' I give the variable names for many Events below.
@ForgeSubscribe public void methodName(EventType event) { // do whatever you want here }
A Sampling of Different Forge Events and Some Potential Uses
First, a word of warning: many of these events ONLY get called on one side or the other, so if something is not working as expected, check which side(s) the event is being called on and it may surprise you.
An easy way to check is to put a line of debugging code at the beginning of each event method, so long as that event has access to some kind of entity:
@ForgeSubscribe public void someEventMethod(SomeEvent event) { System.out.println("Some event called; is this the client side? " + event.entity.worldObj.isRemote); }
// IMPORTANT: The following were for 1.6.4; while many have not changed, some most certainly have.
// Always check the net.minecraftforge.event package for the available events, no matter what version
// of Minecraft you are modding for.
1. ArrowNockEvent
Variables: EntityPlayer player, ItemStack result
Usually called from 'onItemRightClick'.
Uses:It is cancelable, so if some conditions are not met (e.g. no arrows in inventory) you could cancel it and stop the player from setting the item in use. One thing I use it for is to set a boolean 'isAiming', which I can then interrupt if the player takes damage or some such (using another boolean 'wasInterrupted')
2. ArrowLooseEvent
Variables: EntityPlayer player, ItemStack bow, int charge
Usually called from 'onPlayerStoppedUsing'. It is also cancelable.
Uses: I use it in tandem with the above to check if the player was interrupted, and if so, cancel the event.
3. EntityConstructing
Variables: Entity entity
Called for every Entity when its constructor is called.
Uses: Useful if you need to add ExtendedEntityProperties.
4. EntityJoinWorldEvent
Variables: Entity entity, World world
Called when an entity joins the world for the first time.
Uses: Useful for synchronizing ExtendedEntityProperties, giving your player an item when spawned or any other number of things.
5. LivingUpdateEvent
Variables: EntityLivingBase entity
Called every tick at the beginning of the entity's onUpdate method.
Uses: This is probably the most useful Event. You can allow players to fly if holding an item or wearing your armor set, you can modify a player's fall speed here, add potion effects or anything else you can imagine. It's really really handy.
6. LivingDropsEvent
Variables: EntityLivingBase entity, DamageSource source, ArrayList drops, int lootingLevel, boolean recentlyHit, int specialDropValue
Called when an entity is killed and drops items.
Uses: Handy if you want to modify a vanilla mobs drops or only drop your custom item if it was killed from your custom DamageSource. You can also remove items from drops, adjust it based on the looting enchantment level of the item used to kill it, etc. Pretty useful.
7. LivingFallEvent
Variables: EntityLivingBase entity, float distance
Called when the entity hits the ground after a fall, but before damage is calculated.
SPECIAL NOTE: This event is NOT called while in Creative Mode; PlayerFlyableFallEvent is called instead
Uses: It is cancelable, so 'event.setCanceled(true)' will preclude further processing of the fall.
You can also modify the distance fallen here, but keep in mind this is ONLY on impact. If you want
to modify fall distance only while certain conditions are met, better to do it in LivingUpdateEvent.
Also, be sure you are modifying 'event.distance' and NOT 'entity.fallDistance' or you won't change the outcome of the fall
8. LivingJumpEvent
Variables: EntityLivingBase entity
Called whenever entity jumps.
Uses: Useful for entity.motionY += 10.0D. Just give it a try
9. LivingAttackEvent
Variables: EntityLivingBase entity, DamageSource source, float ammount
Called when an entity is attacked, but before any damage is applied
Uses: Cancelable. Here you can do pre-processing of an attack before LivingHurtEvent is called. The source entity of the attack is stored in DamageSource, and you can adjust the damage to be dealt however you see fit. Basically the same uses as LivingHurtEvent, but done sooner.
NOTE: This method is only called on the server side EXCEPT when an EntityPlayer is the source of the attack, in which case it is called on both sides.
10. LivingHurtEvent
Variables: EntityLivingBase entity, DamageSource source, float ammount
Called when an entity is damaged, but before any damage is applied
Uses: Another super useful one if you have custom armor that reduces fire damage, increases damage taken from magic, do something if ammount is greater than current health or whatever.
11. LivingDeathEvent
Variables: EntityLivingBase entity, DamageSource source
Called when an entity dies; cancelable!
Uses: Recall that DamageSource has lots of variables, too, such as getEntity() that returns the entity that caused the damage and thus that killed the current entity. All sorts of things you could do with that. This is also the place to cancel death and resurrect yourself, or set a timer for resurrection. If you have data you want to persist through player death, such as IExtendedEntityProperties, you can save that here as well.
12. EntityInteractEvent
Variables: EntityPlayer player, Entity target
Called when the player right-clicks on an entity, such as a cow
Uses: Gee, you could do anything with this. One use could be getting milk into your custom bucket...
13. EntityItemPickupEvent
Variables: EntityPlayer player, EntityItem item
Called when the player picks up an item
Uses: This one is useful for special items that need handling on pickup; an example would be if you made
something similar to experience orbs, mana orbs for instance, that replenish mana rather than adding an item to inventory
14. HarvestCheck
Variables: EntityPlayer player, Block block, boolean success
Called when the player breaks a block before the block releases its drops
Uses: Coupled with the BreakSpeed event, this is perhaps the best way to change the behavior of mining.
Advanced Information
Setting Priority
Note that event priority works exactly the same in 1.7.2, other than the primary annotation changing to @SubscribeEvent.
Priority is the order in which all listeners listening to a posted event are called. A listener is a method with the @ForgeSubscribe annotation, and is said to be actively listening if the class containing the method was registered to the MinecraftForge EVENT_BUS. Whenever an event is posted matching the parameters of the listener, the listener's method is called.
When there are multiple listeners listening to a single event, the order in which they are called is important if one listener's functionality relies on having first or last access to the event in process, or if it relies on information set by a prior listener. This can be especially useful with Cancelable events.
A single Event can be handled multiple times by different handlers or even within the same handler provided the methods have different names:
@ForgeSubscribe public void onLivingHurt(LivingHurtEvent event) {} @ForgeSubscribe public void onPlayerHurt(LivingHurtEvent event) {}
Both methods will be called each time a LivingHurtEvent is posted to the EVENT_BUS in the order they are added to the event listener (see IEventListener), which in the case above is simply their order in the code. The order can be controlled by appending (priority=VALUE) to the @ForgeSubscribe annotation, where VALUE is defined in the EventPriority enum class. HIGHEST priority is always called first, while LOWEST priority is called last.
// this method will now be called after 'onPlayerHurt()' @ForgeSubscribe(priority=LOWEST) public void onLivingHurt(LivingHurtEvent event) {} @ForgeSubscribe(priority=HIGHEST) public void onPlayerHurt(LivingHurtEvent event) {}
If two listeners have the same priority level, then the order is again controlled by the order in which they are added. In order to control the flow for such a case within a mod, the methods can be placed in separate 'event handler' classes to be registered in the order desired:
// In the case of identical priority levels, PlayerHurtHandler will process first MinecraftForge.EVENT_BUS.register(new PlayerHurtHandler()); MinecraftForge.EVENT_BUS.register(new LivingHurtHandler());
For multiple Mods that affect the same events, the order of mod registration would have the same effect.
Cancelable Events
Events with the @Cancelable annotation have the special quality of being cancelable. Once an event is canceled, subsequent listeners will not process the event unless provided with special annotation:
@ForgeSubscribe // default priority, so it will be called first public void onLivingHurt(LivingHurtEvent event) { event.setCanceled(true); } @ForgeSubscribe(priority=LOWEST, receiveCanceled=true) public void onPlayerHurt(LivingHurtEvent event) { // un-cancel the event event.setCanceled(false); }
By controlling the order in which each listener method is called, it is usually possible to avoid un-canceling a previously canceled event, although exceptional circumstances do arise; in those cases, extra care must be taken to avoid making logical errors.
More will be added as I learn. Thanks to GotoLink for his excellent explanations regarding priority.
1.7.2 TickEvents and Creating a TickHandler
!!! STOP !!!Well, I hope that was helpful! If you have any other creative ways of using Events that you'd like to share, or you'd like an explanation of a specific event I didn't cover, leave a comment below and I'll add it in.
Chances are, you do NOT need to create a tick handler for whatever it is you are doing. There are many methods built-in to Minecraft that already act as tick handlers, and it is ALWAYS better to use them when you can. Why? Because they tick only when the object in question actually exists, whereas a generic tick handler processes every tick no matter what. Here are some of the pre-made tickers at your disposal:
Entity#onUpdate: called every tick for each Entity; to manipulate vanilla entities, use LivingUpdateEvent
TileEntity#onUpdate: called for tile entities every tick unless you tell it not to tick
Item#onUpdate: called every tick while the specific item is in a player's inventory
Item#onArmorTick: called only for armor each tick that it is equipped
Block#updateTick: may be called randomly based on the block's tick rate, or it may be scheduled
As you can see, nearly everything you could ever want to tick already has that capability. If what you want to do simply cannot be handled using one of the built-in tick methods, then and ONLY THEN should you consider creating a tick handler. Here's how to do so.
In 1.7.2, as I'm sure many of you have noticed, the TickHandler class is gone, replaced by what appears to be a single TickEvent that we must now subscribe to in order to achieve the same functionality. Below, I will break it down and explain what exactly is going on and how to use it effectively.
Step 1: Determine Which TickEvent to Use
There are actually five different subclasses of TickEvent, each called on a specific in-game tick and on a specific side or sides. It is very important to understand the difference between these events and to use the appropriate one:Step 2: Create a TickHandler
ServerTickEvent: called on the server side only
ClientTickEvent: called on the client side only
WorldTickEvent: both sides
PlayerTickEvent: both sides
RenderTickEvent: client side only and called each render tick
When creating a TickHandler, be sure NOT to subscribe to the generic "TickEvent", as that will listen to every single tick type on every single tick, which is just wasting processing time.
Once you decide which tick you need, then it is time to create a new TickHandler class.
For now, we are just going to use the old name TickHandler, though we are really creating an event handler to listen to a specific tick. As an example, I will create a RenderTickEvent handler, since that is what I used in Zelda Sword Skills to make the spin attack motion smooth.Step 3: Registering Your TickHandler
// RenderTick is client side only, so we can place the SideOnly annotation here if we want: @SideOnly(Side.CLIENT) public class RenderTickHandler { // we only need one method here, and you can name it whatever you want, but // I like to name it according to the tick to which I am listening: @SubscribeEvent public void onRenderTick(RenderTickEvent event) { // now you can do whatever you want during each render tick, such as rotate the player's view } }
If you need to do different things at the beginning of the tick than at the end of the tick, you can check the tick event's phase in your onWhateverTick method; this is applicable for all TickEvents.
if (event.phase == Phase.START) { // this is the equivalent of tickStart } if (event.phase == Phase.END) { // and this is the equivalent of tickEnd } // if you have a lot of stuff going on in each of those, you could separate them into separate methods: @SubscribeEvent public void onRenderTick(RenderTickEvent event) { if (event.phase == Phase.START) { onTickStart(); } else { onTickEnd(); } }
One other thing to mention here is that since we are on the client side, we might be using Minecraft.getMinecraft() quite a lot to access things like the world, player, etc. Since it would be very wasteful to have to do this each and every tick, a better way is to store the instance of Minecraft when you construct your tick handler:
@SideOnly(Side.CLIENT) public class RenderTickHandler { /** Stores an instance of Minecraft for easy access */ private Minecraft mc; // create a constructor that takes a Minecraft argument; now we have it whenever we need it public RenderTickHandler(Minecraft mc) { this.mc = mc; } @SubscribeEvent public void onRenderTick(RenderTickEvent event) { if (event.phase == Phase.START) { // we will make the player spin constantly in circles: mc.thePlayer.rotationYaw += 10.0F; } } }
All TickEvents need to be registered to the FMLCommonHandler event bus, NOT the MinecraftForge EVENT_BUS. For our client-sided render tick handler, we will do this in the ClientProxy, because we will crash the game if we try to register it in a method that is run on the server.That should be all you need to use TickEvents successfully and efficiently. Remember, NEVER subscribe to TickEvent, ONLY subscribe to the specific type of tick event that you really need, just as you would never subscribe to Event...
public class CommonProxy { /** * We will call this method from our main mod class' FMLPreInitializationEvent method */ public void initialize() { // since we are not registering a tick handler that ticks on the server, we will not put anything here for now // but if you had a WorldTickEvent or PlayerTickEvent, for example, this is where you should register it // if you try to register the RenderTickHandler here, your game WILL crash } } public class ClientProxy extends CommonProxy { // Our ClientProxy method only gets run on the client side, so it is safe to register our RenderTickHandler here @Override public void initialize() { // calling super will register any 2-sided tick handlers you have that are registered in the CommonProxy // this is important since the CommonProxy will only register it on the server side, and you will need it // registered on the client as well; however, we do not have any at this point super.initialize(); // here we register our RenderTickHandler - be sure to pass in the instance of Minecraft! FMLCommonHandler.instance().bus().register(new RenderTickHandler(Minecraft.getMinecraft())); // this is also an ideal place to register things like KeyBindings } }
Good luck with 1.7.2!
Be sure to check out my other tutorials as well:
- Modding With APIs
- EventHandler and IExtendedEntityProperties
- Custom Inventories in Items and Players
- Multi-Input/Output Furnace
- Rendering Your Custom Item Texture
- Overriding shift-click in custom Containers
- Using Potions in Crafting Recipes
- Enchanted Books and Crafting Recipes
And here are some other useful tutorials:
- DataWatcher: another way to keep data synchronized between client/server
- Adding Custom Sounds, Fluids, etc. by Mazetar: http://www.minecraft...undpool-190713/
- See Mazetar's List for the best tutorials from around the web!
Lastly, don't forget to up the green arrow on any posts that help you!
-
13
aperson12345678919 posted a message on in-depth study of minecraft-music-disc 11 and related theoriesSince its original addition on September 29th, 2011, disc 11 has acquired many different awed researchers and theories as to its creation, ranging from Herobrine to Enderman dropping 'stal' in the water. This thread, however, will serve as a full explanation of the different theories, associations, and the true origin of the mysterious disk:Posted in: Discussion
Disc 11 associated with 13?
While the that plays discs 11 and 13 together seems convincing, in truth, it's not actually that accurate. If listened to intently, you can tell that disk 13 is sped-up from its original speed to become as long as 11 is. Plus, even though 13 stops while 11 flips something, that's not that significant, because it could just as well stop while the wierd music is played at the end, or while the player coughs.
Plus, even while 13 is played at the same time as 11, it doesn't even become quiet while 11 is playing. It becomes quiet after 11 is finished.
Play the following videos below at exactly the same time, and look for any similarities in timing:
(sorry I don't know how to embed videos)
You may notice that, while water is dropping, he coughs directly in-between, or some other small detail. The funny thing is how intent people are on finding a connection between little, unconnected things. For all I care, this case is busted.
Hidden Easter egg in disc 11?
Fortunately, this theory holds more ground. In 2012, a minecraft wiki contributor ran disc 11 through a spectrogram and found a couple of odd formations:
While it can't be seen in this image, to the right is an 8. This series of numbers is easily explained as a special signature by the creator of the music, C418. In hexadecimal, 12 is C.
Then there is also an odd face in the image:
The nature of the face is unknown, but there are 3 leading theories:
Steve, a creeper, or herobrine.
Well, let's analyze it!
All of them seem likely. A creeper is practically a logo of minecraft. If a person sees a creeper face, they'll automatically think of minecraft. But creeper faces usually have 2-block-high eyes, so that theory has been eliminated.
Now for Steve.
First of all, the original Steve had a beard going down to his chin. However, this was changed in Beta 1.0. If 11 was made before that, then it's most likely Herobrine.
So, let's see. Beta 1.0 was released on December 20th, 2010, and 11 was released nearly a year later, so it could still be Steve.
What about Herobrine?
The earliest mention of a haunting spirit in Minecraft was sometime during early 2010. Within days, probably, the name stuck. So certainly he would have been heard of by disk 11. But Herobrine still has the old Steve beard, and this image clearly shows a lack of a 'beard' but rather Steve's current face. The basic evidence is pointing to steve
But this is where things get complicated:
The song doesn't exactly sound like a 'Steve' song. It sounds like a Herobrine song. Plus, if C418 took enough care to eliminate Herobrine's beard, he would have put in Steve's eyes. But he didn't, so it's most likely Herobrine in the image.
But what is 11 about?
Seriously, despite all this extra stuff, I'm just dodging the question. Seriously, what is the song about? Here are a few of the leading theories:
Endermen?
Sure, Endermen seem like a good idea for anyone who wants to have an idea other than the boring-old-Herobrine idea, so let's look for some details of it:
At, you can hear a sound similar to an Enderman teleporting, and right before the sound goes suddenly to static, you can hear a sound like the long, drawn out, static-y sound a ed-off Enderman makes. Plus, Endermen were added to minecraft a mere 14 days before 11 was released, hinting at the fact that this was made for them. Before looking at the validity of this, however, let's look at the stuff going for Herobrine:
Herobrine?
Many players like to think that Herobrine is the secret behind the video. You can hear an odd sound that Endermen can't make at 0:50, and certainly Endermen don't cause mining to speed up, as it did right before it went suddenly to static. Plus, the long Enderman-static noise wasn't added until over a month after 11 was released. As some evidence points either way, let's just go to the final section: what we DO know.
What I can get out of 11 for sure/a transcript of the events of the odd disc:
Okay, before you even play the disc, you can obviously see the disc is ripped and torn up, implying it was through a tumble. Before playing it even, you know something is up.
When you start to play it, you can hear static for a little while, and then a player running over stone away from (or to) something, or even just running. He is panting all the while, implying he is either frightened/scared, or is tired out from running fast/for a long time. You can hear the distorted sound a dog nearby repeatedly, although it's impossible to tell if it's been tamed by him, or is simply a nearby wild dog. He then slows down, maybe at his house, and you can hear shuffling with him fumbling around for something. He then takes something and starts making clicking sounds with it. This could be flint and steel with him lighting fires around him to either block off whatever is chasing him, or to see where he is. It could also be a mechanical device, such as a clock or compass, that he's trying to configure, which he unsuccessfully does and gets out a manual or something. He frantically flips through a few pages to read about something. He then returns to his mechanical device and again attempts to configure it. After supposedly doing it, he begins to close the book when odd sounds start to appear. He quickly finishes configuring the object and begins running away. His pace speeds up as the sound gets louder, and then begins running over grass. He suddenly stops as the sound gets extremely loud, and right before the sound stops, he's not saying 'herobri-'. Its just a dog (presumably his) angrily barking before being silenced. Then comes a long period of static with intermittent, odd sounds which are C418's signature.
Personally, after listening to the record numerous times, I've deduced that the location of the record isn't in some dark cave, but rather aboveground near a shack someone recently built, probably during the night. The 'it' in question is probably an Enderman (my own opinion, but theres more evidence for it) and it was certainly made by C418 as a little easter egg, whether it be one of Herobrine or one of the release of Endermen in the game and his hidden signature.
Any comments, questions, complaints, alternative ideas & backup? Post below! I'd love to hear feedback! -
3
JSPRINGY posted a message on does a loose wither boss despawn (overworld)Haha, can you imagine. Some months down the road, minding your own business chopping some wood and BAM! Wither boss comes out of nowhere and starts kicking the crap out of youPosted in: Survival Mode -
5
ghost_warlock posted a message on ULTIMATE POST: 555 things to make in survival mode!5 - A 200-block-high statue of Batman.Posted in: Survival Mode -
2
A4V_Atomic posted a message on What Are All The (Best?) Ways To Hide Chests?Posted in: Survival ModeQuote from aranamor
Hide the most valuable things like diamonds or gold in furnaces. X-ray doesn't pick them up, nobody thinks to check them, and you can stick it in a wall.
i always check the furnaces lol -
3
Reikos posted a message on [Creating Mods]Modding Tutorials: Absolute Beginner [9/3/11]Looking forward to this. I love creating content for games like MC, but I always need that first shove to get things rolling.Posted in: Tutorials - To post a comment, please login.
1