Jump to content

SSKirillSS

Members
  • Posts

    10
  • Joined

  • Last visited

Everything posted by SSKirillSS

  1. Hello. I simply want to render my own texture like a regular itemstack (with 3D-effect) without creating an own item or model for it. Here is how itementity renderers: On this screenshot you can see that by default it creates something like depth effect for making it looks like an 3D-thing. And here is my example. In this case I just draw plain texture via vertexes: So, As a result I want to render my floating shields like itemstack, but this is not actually an item, this is just texture, and, as I understand, I can't use in this case something like it (because this is not an item): Minecraft.getInstance().getItemRenderer().renderItem() I've tried to analyze code of itemstack rendering, but it looks too complicated and contains a lot of references from other classes, so, I can't simply understand which part of rendering I should analyze.
  2. Thanks. It works now. Didn't know about it.
  3. Hello. Before explanation want to notice that my Eng is not good enough, sorry if I misspelled something. So, my main problem is that I can't set entity motion similar to snowball/enderpearl/etc. In a general I'm trying to catch that minimal amount of code, which I need to create a basic projectile entity. So, now I have this: public class SupernovaBowItem extends ItemBase { @Override public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) { SupernovaBurstEntity burst = new SupernovaBurstEntity(worldIn, playerIn); burst.func_234612_a_(playerIn, playerIn.rotationPitch, playerIn.rotationYaw, 0.0F, 1.5F, 1.0F); worldIn.addEntity(burst); return super.onItemRightClick(worldIn, playerIn, handIn); } } Here is just a basic item, which creates a simple entity and applies motion (via func_234612_a_()) based on player current pitch and yaw. Also tried with shoot() method, which already used by a mentioned earlier - same result. Here is my entity: public class SupernovaBurstEntity extends ProjectileItemEntity { public SupernovaBurstEntity(EntityType<? extends SupernovaBurstEntity> type, World worldIn) { super(type, worldIn); } public SupernovaBurstEntity(World worldIn, LivingEntity throwerIn) { super(EntityRegistry.SUPERNOVA_BURST.get(), throwerIn, worldIn); } public SupernovaBurstEntity(World worldIn, double x, double y, double z) { super(EntityRegistry.SUPERNOVA_BURST.get(), x, y, z, worldIn); } @Override public void tick() { if (this.ticksExisted % 200 == 0) this.remove(); SoulSparkData soulSparkData = new SoulSparkData( new Color(0.4F, 0.05F, 0.7F), 0.4, 80, 0.95F, false); world.addParticle(soulSparkData, getPosX(), getPosY(), getPosZ(), 0F, 0F, 0F); } @Override protected void onImpact(RayTraceResult result) { super.onImpact(result); } @Override protected Item getDefaultItem() { return ItemRegistry.SUPERNOVA_BOW.get(); } @Override public IPacket<?> createSpawnPacket() { return NetworkHooks.getEntitySpawningPacket(this); } } I don't rly need to use ProjectileItemEntity here, and I already make regular ProjectileEntity public (it's private by default for unknown reason), but just for example (compared to vanilla snowball/enderpearl/etc) I tried to do it via ProjectileItemEntity (also tried with ThrowableEntity, which is superclass for ProjectilItemEntity). What I get in result: My entity doesn't have any motion at all, it just spawns and floating in air like this: https://prnt.sc/xtoqrv Also noticed that I can't apply any motion to an entity at all and can move it only via move() method, but this thing makes all my previous code useless and with it I should make own implementation of movement, which is not a good thing. As a result I want to make something like an arrow that doesn't have any gravity and just moves towards one direction.
  4. So... I can't change defaultBlock without creating own world?
  5. Everything was limited to the search for methods of changing the stone through the biome, but they could not be found. The only sure way to change the value of that variable with a stone (GenerationSettings#defaultBlock), but I don't know how to change a variable without processing almost the entire generation logic. It's like creating a separate world... I have not yet considered the option of replacing the stone with my block at the generation stage, since I hope that there is a more correct way.
  6. How I can do this? Will I need make own GenerationSettings extends default, and override that's variable?
  7. So I can’t change this block without creating my own dimension?
  8. So... Any info about this? I still can't replace vanilla stone in custom biome. Maybe surfaceBuilder override be helpful, but I don't fully understand how to use it.
  9. Hello! Sorry for my Eng. I created a new biome, and now I need to replace default Minecraft stone with my custom block (AmbientBlocks.Blocks.stone.getDefaultState()). How I can do this? My biome code: public class TerraForestBiome extends Biome { public TerraForestBiome(Builder biomeBuilder) { super((new Biome.Builder() .surfaceBuilder(new ConfiguredSurfaceBuilder<SurfaceBuilderConfig>(SurfaceBuilder.DEFAULT, new SurfaceBuilderConfig( AmbientBlocks.Blocks.grass.getDefaultState(), AmbientBlocks.Blocks.dirt.getDefaultState(), AmbientBlocks.Blocks.stone.getDefaultState()))) .precipitation(RainType.RAIN) .category(Category.PLAINS) .downfall(0.25F) .depth(0.1F) .scale(0.3F) .temperature(0.8F) .waterColor(4159204) .waterFogColor(329011) .parent(null))); } }
×
×
  • Create New...

Important Information

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