
MineModder2000
Members-
Posts
298 -
Joined
-
Last visited
Everything posted by MineModder2000
-
[1.14.4] Modifying Vanilla Content
MineModder2000 replied to MineModder2000's topic in Modder Support
I did already google it prior to posting, but I found that gamepedia link to be information-ally inadequate. I put a pack.mcmeta in the .minecraft folder and it doesn't get detected. -
[1.14.4] Modifying Vanilla Content
MineModder2000 replied to MineModder2000's topic in Modder Support
Nope, console doesn't scream at me (that would be terrifying ?). A different vanilla texture also fails to appear in game. Any good tutorials on how to make resource packs? Basically I want to replace some tool textures like the stone axe, because they are so blocky by default. -
[1.14.4] Modifying Vanilla Content
MineModder2000 replied to MineModder2000's topic in Modder Support
Next question, how to replace vanilla textures? I tried putting a json model file inside assets.minecraft.models.item, which points to a texture in assets.mymod.textures.item, but the vanilla default is still used. I'm trying to replace the ugly blocky 16 x 16 files with much sharper 32 x 32 files that I made. -
(SOLVED) [1.14.4] Surface Ore Generation
MineModder2000 replied to MineModder2000's topic in Modder Support
Got it, I copied this from DefaultBiomeFeatures : biomeIn.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Biome.createDecoratedFeature(Feature.FOREST_ROCK, new BlockBlobConfig(Blocks.MOSSY_COBBLESTONE.getDefaultState(), 0), Placement.FOREST_ROCK, new FrequencyConfig(3))); Of course I changed a couple things to have my own custom generation, and wallah here is my ore spawning with temporary obsidian texture https://pasteboard.co/Iv2ceN7.png -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
Well I learned the basics of generics and got the jist of it. This is my Spear_Entity class now : package mymod.spear; import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType.IFactory; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.projectile.TridentEntity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class Spear_Entity extends TridentEntity implements IFactory<Spear_Entity> { public Spear_Entity(EntityType<? extends TridentEntity> p_i50148_1_, World p_i50148_2_) { super(p_i50148_1_, p_i50148_2_); } public Spear_Entity(World worldIn, PlayerEntity playerentity, ItemStack stack) { super(worldIn, playerentity, stack); } @Override public Spear_Entity create(EntityType<Spear_Entity> p_create_1_, World p_create_2_) { return null; } } But now I don't know which parameters to pass to the first constructor that is invoked here (the second one is called from my Spear extends Item class) : @SubscribeEvent public static void registerEntities(final RegistryEvent.Register<EntityType<?>> event) { LOGGER.debug("Hello from Register Entities"); event.getRegistry().registerAll( EntityType.Builder.create(new Spear_Entity(null, null), EntityClassification.MISC).build("spear").setRegistryName("mymod", "spear") //EntityType.Builder.create(EntityClassification.MISC).build("spear").setRegistryName("mymod", "spear") ); RenderingRegistry.registerEntityRenderingHandler(Spear_Entity.class, Spear_Factory.INSTANCE); } -
(SOLVED) [1.14.4] Surface Ore Generation
MineModder2000 replied to MineModder2000's topic in Modder Support
Yeah I figured things out looking at the Feature class and all the forge registries for all the other various feature classes (trees, outposts, melons, etc.) I think I am getting the hay of things : -
(SOLVED) [1.14.4] Surface Ore Generation
MineModder2000 replied to MineModder2000's topic in Modder Support
I have followed 2 or 3 of his to success, his item and block tutorials particularly. Anyways i am a bit stuck here, I tried the following (from a class called from main @mod file) : public void setUp() { for (Biome biome : Biome.BIOMES) { biome.addFeature(Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.CACTUS, IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(128))); } It's just to test to see if it works or not. And it does, but only for biomes that already have cactus in them. The desert biome gets cactus galore with this code, but non cactus biomes still don't have them. So yeah, help needed.... Cool results though : d20 online dice -
[1.14.4] Modifying Vanilla Content
MineModder2000 replied to MineModder2000's topic in Modder Support
Thanks, I was looking at the wrong object (event.getState()), since that is the block. Feel a little embarrassed... -
(SOLVED) [1.14.4] Surface Ore Generation
MineModder2000 replied to MineModder2000's topic in Modder Support
Thanks the Biome classes were really helpful, as was this video guide : -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
You are right, I shouldn't have asked that here. -
I made a harvest-able block that drops a vanilla item. All I need to know how to do know is to make it generate on top of dirt and other ground type blocks, rather than in caves as with traditional ores. Think of "Terrafirmacraft" type ores, that's what I want.
-
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
Bump -
[1.14.4] Modifying Vanilla Content
MineModder2000 replied to MineModder2000's topic in Modder Support
Bump @SubscribeEvent @SuppressWarnings("deprecation") public void breakSpeed(BreakSpeed event) { event.getEntityPlayer().posX } I can get the player's position as seen above, but I need to know the block's position too, so I can cancel the BreakSpeed event if the range is to great (preventing mining at a distance). -
[1.14.4] Making Custom Trident not working
MineModder2000 replied to clearcut's topic in Modder Support
Join the party, I started it a week ago here : I am getting close, or at least I hope I am, but no cigar yet. Trident has special modeling and what not when held, and becomes an entity when thrown, this involves many different classes. I have 6 in total right now, including the Item class. The others are the Entity, Model, Factory, Renderer, and TEISR classes. -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
Oh right it had trident entities in that method, I changed all of that which required me to update my "Spear_Entity" class and include another super constructor : package mymod; import net.minecraft.entity.EntityType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.projectile.TridentEntity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class Spear_Entity extends TridentEntity { public Spear_Entity(EntityType<? extends TridentEntity> p_i50148_1_, World p_i50148_2_) { super(p_i50148_1_, p_i50148_2_); } public Spear_Entity(World worldIn, PlayerEntity playerentity, ItemStack stack) { super(worldIn, playerentity, stack); } } However this causes a problem inside of a line of code that previously worked fine : @SubscribeEvent public static void registerEntities(final RegistryEvent.Register<EntityType<?>> event) { LOGGER.debug("Hello from Register Entities"); event.getRegistry().registerAll( EntityType.Builder.create(Spear_Entity::new, EntityClassification.AMBIENT).build("spear").setRegistryName("mymod", "spear") ); RenderingRegistry.registerEntityRenderingHandler(Spear_Entity.class, Spear_Factory.INSTANCE); } The "EntityType.Builder.create(Spear_Entity::new, EntityClassification.AMBIENT)" part is underlined in red in Eclipse with the following message : "Cannot infer type argument(s) for <T> create(EntityType.IFactory<T>, EntityClassification)". But this only happens when I have that second constructor in the entity class. -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
Oh right, my bad, new to making entities and rendering... package mymod; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererManager; import net.minecraftforge.fml.client.registry.IRenderFactory; public class Spear_Factory implements IRenderFactory<Spear_Entity> { public static final Spear_Factory INSTANCE = new Spear_Factory(); private Spear_Renderer spear_Renderer = new Spear_Renderer(null); @Override public EntityRenderer<? super Spear_Entity> createRenderFor(EntityRendererManager manager) { spear_Renderer = new Spear_Renderer(manager); return spear_Renderer; } } Still chucking tridents.... -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
I moved the line there but still, my renderer is not being used. The parameters for that call are as follows : RenderingRegistry.registerEntityRenderingHandler(Spear_Entity.class, Spear_Factory.INSTANCE); So the question remains, where does Spear_Renderer fit in? I am guessing it has to be linked to the Spear_Factory, as of right now that class does nothing other than "implement IRenderFactory<Spear_Entity>" : package mymod; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererManager; import net.minecraftforge.fml.client.registry.IRenderFactory; public class Spear_Factory implements IRenderFactory<Spear_Entity> { public static final Spear_Factory INSTANCE = new Spear_Factory(); @Override public EntityRenderer<? super Spear_Entity> createRenderFor(EntityRendererManager manager) { return null; } } There has to be more. -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
Yes I did, I got it now, i had to implement some thing in the "Spear" class, and then pass it in to the method. The Renderer piece is still missing though, see the above post. -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
i apologize, I totally missed this reply of yours. I have indeed seen those files, there are three actually, another is trident_throwing.json. Anyways i have done the following : @Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD) public static class RegistryEvents { @SubscribeEvent public static void registerEntities(final RegistryEvent.Register<EntityType<?>> event) { LOGGER.debug("Hello from Register Entities"); event.getRegistry().registerAll( EntityType.Builder.create(Spear_Entity::new, EntityClassification.AMBIENT).build("spear").setRegistryName("mymod", "spear") ); RenderingRegistry.registerEntityRenderingHandler(Spear_Entity.class, Spear_Factory.INSTANCE); } } Something is still amiss, how is my actual "SpearRender" class linked to my "SpearEntity" class? So I made this "Spear_Factory" class great, where does the important stuff hook in? Thanks btw. -
[1.14.4] Modifying Vanilla Content
MineModder2000 replied to MineModder2000's topic in Modder Support
Oh yikes, that is another kind of evil. I have messed around with the reflection but I can't really get it to work. I think I would rather just use forge hooks to make the target-able block range artificially different than what it is. So basically if the targeted block is greater than X distance from player, then BreakSpeed is canceled / set to zero, then I would need to do something similar with placing blocks. I am having trouble however, with getting positions of the targeted block (BreakSpeed.getState()) and comparing them to where the player is. -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
Yes indeed, as stated in previous post, the method does not accept extended classes of "ItemStackTileEntityRendererB". -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
Excuse me no need to be rude, a better question is why you don't fully read / understand what I am typing to you. I already tried making my own "ItemStackTileEntityRenderer", hence "copied version of that class". There is no use as the method "Item.Properties#setTEISR" only accepts "import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer", specifically. No other path is accepted, so there is nothing I can do here it seems. I have been looking at "TridentEntity" already, and have had my own renderer class for a while, mind you I have been programming Java for some time and have made other mods (non-forge), and even android applications, I am not foreign to these concepts. I can do steps 4 - 6 but it would be pointless since I can't set any other "ItemStackTileEntityRenderer" than the vanilla one. -
[1.14.4] Modifying Vanilla Content
MineModder2000 replied to MineModder2000's topic in Modder Support
Ah hell no, I just learned how to do but it's so ugly. Guess I'll bite the bullet. -
[1.14.4] Modifying Vanilla Content
MineModder2000 replied to MineModder2000's topic in Modder Support
I see a REACH_DISTANCE variable but its in a vanilla class (PlayerEntity) and it's final. Where is the reach variable you are referring to? -
[1.14.4] Making a Trident like item
MineModder2000 replied to MineModder2000's topic in Modder Support
Great what am I suppose to do with it? There is a private final trident (TridentModel()) in there. There is also an if statement that checks if it's a trident, and if it is, it sets the texture to the trident one, so know I see why that is. But I change this stuff..... When I said extended Renderer class, I mean the TridentRenderer class. The setTEISR method in Item.Properties only accepts : Supplier<Callable<ItemStackTileEntityRenderer>>, can't pass an extended or copied version of that class.