Jump to content

Draco18s

Members
  • Posts

    16559
  • Joined

  • Last visited

  • Days Won

    155

Everything posted by Draco18s

  1. or use world#scheduleBlockUpdate(...) You will need to call it at the end of your updateTick function (so each tick schedules the next) as well as on blockAddedToWorld
  2. If you're sending packets to the server (which you should be) then the one you modify is the one that sent the packet.
  3. Ok, so using the same test seed I've been playing with before: Default settings, etc. etc: 41% total tick time spent in checkLight Half volume of gas placed in the world: 20% Gas cannot burn or none in world: < 0.1% Player within 32 blocks (not moving): 7% 32 blocks is the same distance at which I scan the area around the player for lava in order to spawn semi-short-lived volcanic fumes.
  4. "The" mod? What about... iChunUtil{2.0.0} [iChunUtil] (util^iChunUtil2.0.0.zip) GraviGun{2.0.0} [GraviGun] (files^GravityGun2.0.0 (1).zip) planetguyLib{1.3} [planetguyLib] (PlanetguyLib-1.3.jar) planetguy_Gizmos{3.0} [Gizmos] (Gizmos-3.2.jar) lucky{5.0.0} [Lucky Block] ([1-7-2]_Lucky_Block_v5-0-0.jar) The first four I ask because the MC version number is not listed and the last one because it still lists 1.7.2
  5. You have a mod for 1.7.2 (or earlier?) installed that is not compatible with 1.7.10
  6. No, you don't. Go away. You're not helping. COG runs absolutely last, and then some. I had to submit a pull request to COG so I could actually run some code after it modified a chunk. AND running "even more later" doesn't even solve the problem; fucking hell. A ∩ B == B ∩ A
  7. YourContainer (InventoryPlayer inventoryPlayer, TileEntityYourTE te) Again, look at this class: https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/inventory/ContainerPedestal.java
  8. You don't have a class that extends Container
  9. Likely because the creature is spawned client side and it is not aware that the event is being canceled server side.
  10. return new YourContainer(player.inventory, (TileEntityYourTE) tileEntity); //server return new YourGuiContainer(player.inventory, (TileEntityYourTE) tileEntity); //client
  11. Oh, and by "spreads really far" I mean it. I set up a vault and passageway system. Here's how far it spread using the default ooze-like rules: Wool block on top is how far the floaty lighter-than-air flow gets (there's one in the ground for the heavier stuff). http://s16.postimg.org/c7skdqyqt/2015_01_06_16_00_22.png[/img] With my rules it escapes. Here's a shot of the surface as it flows down the tunnel, look at how uniform it is: The entire passage is filled with the heavier liquid. http://s16.postimg.org/8a5aocbxh/2015_01_07_17_20_13.png[/img] I've also got (optional) rules to allow it to slip past (open) doors, signs, and ladders. This stuff is a serious hazard while mining. And I want it to remain that way.
  12. Proxies are not involved in block GUIs.
  13. Nope. Because: # = stone 8 = quanta of fluid t = torch . = air f = fire Worlgen does this: ############ #88.......t# ############ My block isn't near a torch, your suggested code removes nothing. Block updates happen: ############ #844......t# ############ And some more: ############ #6442.....t# ############ And some more until... ############ #22222222.t# ############ Then finally ############ #222222211t# ############ Oops, now it catches fire ############ #22222221ft# ############ I don't mind that the veins occasionally intersect caves (one seed was really fucking awesome as a result). Its more a problem of frequency (and even then more a problem of running into an abandoned mineshaft, not a cave). The gas can spread really far and expand quite a lot before it encounters a torch or lava block, setting the entire system on fire (one spot I investigated had three veins all pouring into the same ravine where some lava was and there was just fire everywhere, I couldn't get a clean shot of it though showing just how massive the blaze was).
  14. I think this is all of the relevant classes https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/block/BlockPedestal.java#L126-138 https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/client/GuiContPedestal.java https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/inventory/ContainerPedestal.java There's also a custom slot class, but that's pretty secondary to making the GUI show up as it is just a filter on what items are valid to be inserted, as well as the TileEntity itself, which isn't needed, but if you want to reference it, its there. If I did forget something though, the whole project is on GitHub.
  15. I already mentioned that, but yes. Should I have put it in bold? Oops, missed the aside.
  16. You mean the COG config xml? https://github.com/Draco18s/HarderStuff/blob/master/main/resources/cog_config/UndergroundHazards.xml And actually that solution is easy. Cog does that with diamond veins: it puts lava on the inside using the same vein seed and a smaller diameter. Yeah no. Because two things: 1) the block is not collectable and 2) the 'blockB' is not dangerous and that's the whole point.
  17. (It also returns true for every Interface it implements at every point along the chain, too. So IShearable and IAnimals)
  18. "Storing data for future use: sounds really annoying." Seems legit.
  19. Except that I'm not the one placing the block. COG is. I can't say "make sure this block is surrounded on all sides." COG has a lot of rules, but no adjacency checks.
  20. I'll be blunt, while my code is at fault, its not the code that's the problem, so none of that will be here. I'll describe the behavior and give you, the reader, an opportunity to see if you can figure out what the problem is before revealing it at the bottom of this post. The situation: 1) I have a custom finite fluid block. Two actually, but the only difference between them is their fluid densities: one floats the other sinks (and a conversion from the latter to the former as it mixes with air). I've added a few extra interactions to its updateTick function, but nothing serious. A little volume balancing so that it flows farther along straight surfaces (like a real liquid would) and checking adjacent blocks for fire sources. 2) This block spawns in the word using COG in a vein formation, relatively common, but still less than COG's default coal distribution (coal was my template). 3) After only a few minutes, my frame rate drops to less than 1 FPS (more like 4 SPF) with upwards of 80% of the processing taken up in Minecraft's lighting update function. My computer is by no means a piece of junk, but it's also four years old (Phenom II 1090T). Take a minute to think about what could cause this, then take a hint if you'd like, or go straight to the answer. Hint 1: Hint 2: The actual problem and my question asking how to solve it:
  21. Aside from neither EntityJoinWorldEvent nor EntityConstructing having a entityLiving field, here's some of what I got (used EntityConstructing as I already had that event subscribed).
  22. Oh ew, don't use a for loop to detect entities. That's what world.getEntitiesWithinAABB is for. Just pass it a 25x25x25 AABB rather than checking a 1x1x1 space 15625 times.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.