Jump to content

Cyberdragon

Members
  • Posts

    16
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

Cyberdragon's Achievements

Tree Puncher

Tree Puncher (2/8)

1

Reputation

  1. I know where he got those from. There's nothing wrong with IHasModel or CommonProxy, I have a small mod running on a public server with these and it works perfectly. IHasModel is just so you don't have to register them indevidually, and CommonProxy is just a proxy that shares code between client and server, but it does not run on both. Yeah, it's weird, but it works so it's more of code preference. You don't necessarily need ObjectHolders and all that for basic items, it's not perfect but static objects work for basic items and blocks. However, it will probably break down at some point for complex stuff. Never use ItemBase though, that's just ugly.
  2. As I said, I have tried scheduled ticks and it does sort of work but yeah, it glitches. I'll try an eventbus with tick events then and see what happens.
  3. The problem is tileEntities would probably cause way too much lag for the purpose (which is why I'm avoiding them). It only needs to spawn and despawn that block above it based on conditions, nothing more or less. And there will be alot of these blocks, they are naturally generating. It also does not need to update every tick, just a few times per second. But why can plants do that (breaking when not on a solid block is an updateTick), but my block can't?
  4. I've been trying to figure this out for awhile now. I have a block with an updateTick() and setTickRandomly() on true. https://pastebin.com/u1zz4LZT However, the ticks are incredibly slow, sometimes minutes apart. I found reference to a similar issue in a really old thread elsewhere, but no answer. I have tried playing with tickRate() with no effect, and also randomTick(). I tried doing something with scheduleBlockUpdate() by forcing a tick with onBlockAdded() then again in the updateTick() (massively bad idea?), and it sort of worked but led to strange and unintended behavior. Note: It does not need to be the full tick speed, just fast enough to not be noticeable in-game. Strangely, it works fine for anything extending blockBush. Does it have to be a plant to work correctly? (I would think not)
  5. So the wisp would be a block and tile entity spawned and despawned by the swamp gas block? That could work, the gas just won't be able to be exploded. I would have to spawn new gas blocks with an event or something when a player or mob steps in shallow water.
  6. In that case the gas would be the block and the wisp would be it's tile entity that spawns above it. They would just be invisible and dormant until a random chance it gets activated. The only problem is it would have to be undetected by anything else when dormant, to prevent weird glitches. I would have to make a way to respawn the blocks though so they never run out. Maybe mobs or players walking in shallow water in swamps would spawn gas blocks.
  7. Yes, it is just a decorative effect. It will only do a few things like vanish when you get to close, and have a random chance of being hot enough to set fire to nearby vegetation. If I ever make it able to move it will just jump to a spot of gas bubbles that is touching the one its on. This won't be a smooth animation of movement though, it would literally just warp. The gas bubbles will vanish if you use a bucket on it's water block and have a random chance of exploding when you right click with flint and steel. The wisp should work as a custom particle. If necessary the effects could be driven from the gas entity in the state of having a wisp flame on it. The problem is that the gas will also spawn and despawn in the water automatically. The flame will vanish if it's gas bubble is destroyed or disturbed (ie turned into moving water), so it can be part of the gas code.
  8. It's not a mob though. It is literally just an animated 3D texture, maybe with a few effects, like Nitor from Thaumcraft. Do I really have to use mob code for something that has no features of being a mob other than controlling it's own existence?
  9. I want to add swamp gas and wisps (swamp lights, NON LIVING entities) to my mod. The swamp gas would spawn first as an entity inside of a water block. The wisp would have a random chance of spawning over it with a random size and color. Both entities would be animated so would need constant updates. I've only seen how to spawn tile entities either in connection to a block or with a player action. How can I get tile entities to spawn and despawn after awhile on their own like mobs do?
  10. I've been working on a modpack lately and I want to add custom music. Only one problem, it's 8-bit synthesizer music, which is in a weird format (.sid). I don't know if this can be converted into .ogg format for java. Are there any programs that can convert this? I've also noticed that these files can be played in strange ways. Some of the songs I want to use are actually very short (<1 min) but they can be played in an uninterrupted loop (for title screen). Any ideas?
  11. I was trying to figure out what was causing my previous crash when trying to use the inventory. I removed all the mods except NEI and it's core. This made it FAR worse, which doesn't make sense. I didn't change anything, I simply moved all the other mods out of the mods folder. Now every time I try to create a new world the save instantly corrupts with "A fatal error has occurred" Forge: 1.7.10-Forge10.13.2.1277 Core: CodeChickenCore-1.7.10-1.0.4.29-universal Library: CodeChickenLib-1.7.10-1.1.1.110-universal NEI: NotEnoughItems-1.7.10-1.0.3.56-universal And it's not just a generating error. It corrupted the existing map I was using to test for crashes. I found the log: [15:40:24] [Client thread/ERROR] [FML/]: There was a critical exception handling a packet on channel NEI java.lang.IllegalAccessError: tried to access field net.minecraft.entity.EntityList.field_75624_e from class codechicken.nei.ItemMobSpawner at codechicken.nei.ItemMobSpawner.loadSpawners(ItemMobSpawner.java:110) ~[itemMobSpawner.class:?] at codechicken.nei.api.ItemInfo.load(ItemInfo.java:99) ~[itemInfo.class:?] at codechicken.nei.NEIClientConfig.bootNEI(NEIClientConfig.java:258) ~[NEIClientConfig.class:?] at codechicken.nei.NEIClientConfig.loadWorld(NEIClientConfig.java:208) ~[NEIClientConfig.class:?] at codechicken.nei.NEICPH.handleSMPCheck(NEICPH.java:109) ~[NEICPH.class:?] at codechicken.nei.NEICPH.handlePacket(NEICPH.java:23) ~[NEICPH.class:?] at codechicken.lib.packet.PacketCustom$ClientInboundHandler.handle(PacketCustom.java:98) ~[PacketCustom$ClientInboundHandler.class:?] at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:75) ~[PacketCustom$CustomInboundHandler.class:?] at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:62) ~[PacketCustom$CustomInboundHandler.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[simpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?] at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2050) [bao.class:?] at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:962) [bao.class:?] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887) [bao.class:?] at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_11] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_11] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_11] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
  12. I'm using 1.7.10-Forge10.13.2.1277 and nei version 1.0.3.56. I don't know exactly which code chicken core I have (it's unmarked for some reason, just says 1.7.10), but I know it's at least 1.0.3 because it wouldn't launch with any lower version.
  13. I made a modpack and am testing it in creative for crashes. It's very unstable and crashes when I try to use the creative menu to spawn in items. PM Description: Updating screen eventsjava.lang.IllegalAccessError: tried to access field net.minecraft.client.gui.inventory.GuiContainer.field_147007_t from class codechicken.nei.NEIController Am I allowed to post a link to the pack? (it's non-profit, I.E. not adfly)
  14. OH GOD! Bytecode now? Also, from a performance in modpacks standpoint, some mods have large lava lakes and volcanoes, which could overload your computer. So I don't know how bad it would be to have it run every tick (since 20 ticks = 1 sec). Is there anyway I can count the ticks and have it run every, say, half second?
×
×
  • Create New...

Important Information

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