Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/10/18 in all areas

  1. Hi, I am 6 years old. This is my country's flag, it is South Africa. I make it in MInecraft. South Africa is my home and I love my country. I hope you find my video as an inspiration to unite as a Rainbow Nation and love one another as brothers and sisters. Please share my videos with your loved ones and friends so we can enjoy the little things and have hope for my country. Love Skyla ❤️ https://www.youtube.com/watch?v=rP5A1nnCJPQ
    1 point
  2. Use the debugger, looks like the NBT data being deserialized doesn't have any tag by the inventory key. Did you add the inventory later after adding the TE to your world? In order to avoid these kind of errors don't use the raw getTag method, use the getter that corresponds to the type of the object you want to get. In your case NBTTagCompound#getCompoundTag. These getters will never return null. Now for the non-related issues: CommonProxy makes no sense. Proxies exist to separate sided-only code. If your code is common it goes anywhere else but your proxy. It makes even less sense in your case since you are using it as the event handler for whatever reason. And handling FML lifecycle events there. Handle the FML lifecycle events in your main mod class, and handle the other forge events in a separate handler. Don't use this overload that is marked as deprecated. Use the one that takes a ResourceLocation as it's second parameter. What on earth is a gui proxy? BaseBlock is anantipattern. There is already a BlockBase, it's called Block. Also: IHasModel is stupid. All items need models, no exception, and nothing about model registration requires access to private/protected data of the block/item. Register your models in the ModelRegistryEvent directly. And yes, this is just another variant of IHasModel, you just have a class instead of an interface. Don't ever use static initializers. Instantinate your things in the appropriate RegistryEvent directly. See above point. https://github.com/Sudwood/Cencial/blob/master/java/com/sudwood/cencial/blocks/BlockBasicPlinth.java#L98 You don't need all this awkward TE manipulations. Just override TileEntity#shouldRefresh.
    1 point
  3. That what we will be doing for 1.13, the first few builds will only have the bare bones of what we have gotten done. But we arnt working on FORGE itself right now, we're finishing up the installer, gradle, building, etc... All the NON-Forge parts of the modding ecosystem. Once those are done and good to go, then we'll start forge builds and start working on Features. As it sits there are only a few things left, the most nosed being IntelliJ run configs and TESTING. I've been public about this on my twitter, so those who wanna help can help., if they know how.
    1 point
  4. If you are new to modded minecraft please check out http://stopmodreposts.org and install their browser extension. The safest and most reliable source for mods right now is CurseForge, though some mod authors insist on using their own sites. The site you linked should not be used under any circumstances.
    1 point
  5. I'll try to break this down for you: First off, this shouldn't be handled on the client, so: if(dog.world.isRemote) return; Secondly there are the conditions for the dog to have this ability, you can add them to the same if statement: Since we reverse the conditions, we use "OR" instead of "AND", and we reverse each statement. if(dog.world.isRemote || masterOrder != 4 || dog.getHealth() <= Constants.lowHealthLevel || dog.isChild() || level < 1) return; Now, it's time to check the cooldown. First we check if the cooldown is more than 0, meaning it's still on cooldown. If it is we will return. We then reduce it by one, so that it will eventually be 0. if(cooldown > 0){ cooldown--; return; } cooldown = level == 5 ? 5 : 20; //5 will happen 4 times in a second and 20 will happen once in a second - are these really the values, you want? Then there's the damage, remember there was no reason to do this stuff, before you had even checked the cooldown: byte damage = (byte) (level == 5 ? 10 : level); //Or if 5 isn't the max level, maybe this is what you want: byte damage = (byte) (level > 4 ? level+5 : level); I don't know, if you know that operator (a ? b : c), but basically, it's like this: byte damage; if(level == 5) byte = (byte) 10; else byte = level; Now, it's time to do the action: for(EntityMob mob : list) {//There's no reason to check if the list is empty, the for loop won't be entered, if there are no elements in it //I believe all of these will run on the client as well, if called on the server dog.playSound(SoundEvents.ENTITY_WOLF_GROWL, 1f, 1f); mob.spawnExplosionParticle(); mob.attackEntityFrom(DamageSource.GENERIC, damage); } Then, that should work. I won't be posting the full code, as I want you to read all of it, and put it together yourself. It also might have some typos. One thing I am concerned about, though is the cooldown simply being a variable. I would probably store it in NBT or dataManager. You should also initialize the value.
    1 point
×
×
  • Create New...

Important Information

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