welcome to super cancer world

This commit is contained in:
Boblet 2024-07-17 16:38:05 +02:00
parent efee0706af
commit b3047c875e
6 changed files with 25 additions and 5 deletions

View File

@ -106,7 +106,9 @@ One of the most common "performance" mods on 1.7.10, Optifine, achieves an incre
* Entity "optimization" has a tendency to break chunkloading, this is especially noticeable with missiles which rely heavily on chunkloading to work, causing them to freeze mid-air. It's unclear what setting might fix this, and analysis of Optifine's source code (or rather, lack thereof) has not proven useful either.
### Angelica
In older versions, Angelica caused issues regarding model rendering, often times making 3D models transparent. Ever since the switch to VBOs, models work fine. Another issue was blocks with connected textures not rendering at all, but this too was fixed, meaning as of time of writing there are no major incompatibilities known with Angelica.
In older versions, Angelica caused issues regarding model rendering, often times making 3D models transparent. Ever since the switch to VBOs, models work fine. Another issue was blocks with connected textures not rendering at all, but this too was fixed, meaning as of time of writing there are no major incompatibilities known with Angelica. However there a few minor issues that persist, but those can be fixed:
* Often times when making a new world, all items appear as white squares. Somehow, scrolling though the NEI pages fixes this permanently
* Reeds will render weirdly, this is an incompatibility with the "Compact Vertex Format" feature. Disabling it will make reeds look normal
### Skybox chainloader
NTM adds a few small things to the skybox using a custom skybox renderer. Minecraft can only have a single skybox renderer loaded, so setting the skybox to the NTM custom one would break compatibility with other mods' skyboxes. To mend this, NTM employs a **chainloader**. This chainloader will detect if a different skybox is loaded, save a reference to that skybox and then use NTM's skybox, which when used will also make sure to run the previous modded skybox renderer. In the event that NTM's skybox were to cause trouble, it can be disabled with the config option `1.31_enableSkyboxes`.

View File

@ -1,3 +1,5 @@
## Fixed
* Fixed automatic crafting table filters being broken
* Fixed missing localization for black lung death messages
* Fixed missing localization for black lung death messages
* Fixed disconnect caused by using a filter on the autocrafter's template output slot
* Fixed sentry turret "Brown" being uncraftable

View File

@ -66,6 +66,9 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_chip_4, 1), new Object[] { "P", "C", "S", 'P', ANY_RUBBER.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'S', ModBlocks.steel_scaffold });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_chip_5, 1), new Object[] { "P", "C", "S", 'P', ANY_RUBBER.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'S', ModBlocks.steel_scaffold });
//Turrets
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.turret_sentry, 1), new Object[] { "PPL", " MD", " SC", 'P', STEEL.plate(), 'M', ModItems.motor, 'L', ModItems.mechanism_rifle_1, 'S', ModBlocks.steel_scaffold, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'D', ModItems.crt_display });
//Guns
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_rpg, 1), new Object[] { "SSW", " MW", 'S', STEEL.shell(), 'W', IRON.plate(), 'M', ModItems.mechanism_launcher_1 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_panzerschreck, 1), new Object[] { "SSS", " MW", 'S', STEEL.shell(), 'W', CU.plate(), 'M', ModItems.mechanism_launcher_1 });

View File

@ -71,7 +71,7 @@ public class ParticleDebris extends EntityFX {
this.moveEntity(this.motionX, this.motionY, this.motionZ);
this.particleAge++;
if(this.onGround) this.setDead();
if(this.onGround || this.isInWeb) this.setDead();
}
@Override
@ -112,7 +112,7 @@ public class ParticleDebris extends EntityFX {
for(int ix = 0; ix < world.sizeX; ix++) {
for(int iy = 0; iy < world.sizeY; iy++) {
for(int iz = 0; iz < world.sizeZ; iz++) {
renderer.renderBlockByRenderType(world.getBlock(ix, iy, iz), ix, iy, iz);
try { renderer.renderBlockByRenderType(world.getBlock(ix, iy, iz), ix, iy, iz); } catch(Exception ex) { }
}
}
}

View File

@ -63,7 +63,7 @@ public class RendererObjTester extends TileEntitySpecialRenderer {
for(int ix = 0; ix < world.sizeX; ix++) {
for(int iy = 0; iy < world.sizeY; iy++) {
for(int iz = 0; iz < world.sizeZ; iz++) {
renderer.renderBlockByRenderType(world.getBlock(ix, iy, iz), ix, iy, iz);
try { renderer.renderBlockByRenderType(world.getBlock(ix, iy, iz), ix, iy, iz); } catch(Exception ex) { }
}
}
}

View File

@ -20,10 +20,12 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@ -342,4 +344,15 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen
public boolean hasPermission(EntityPlayer player) {
return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20;
}
@Override
public void setFilterContents(NBTTagCompound nbt) {
TileEntity tile = (TileEntity) this;
IInventory inv = (IInventory) this;
int slot = nbt.getInteger("slot");
if(slot > 8) return;
inv.setInventorySlotContents(slot, new ItemStack(Item.getItemById(nbt.getInteger("id")), 1, nbt.getInteger("meta")));
nextMode(slot);
tile.getWorldObj().markTileEntityChunkModified(tile.xCoord, tile.yCoord, tile.zCoord, tile);
}
}