@Override protected void onRandomUpdate(World world, int x, int y, int z, Random r) { /* if (r.nextInt(20) == 0) this.dropDye(world, x, y, z, 0); if (!world.isRemote && r.nextInt(400) == 0 && DyeOptions.RAINBOWSPREAD.getState()) { int rx = ReikaRandomHelper.getRandomPlusMinus(x, 32); int rz = ReikaRandomHelper.getRandomPlusMinus(z, 32); ReikaWorldHelper.setBiomeForXZ(world, rx, rz, DyeTrees.forest); ReikaJavaLibrary.pConsole(rx+", "+rz); for (int i = 0; i < 256; i++) { ReikaWorldHelper.temperatureEnvironment(world, rx, i, rz, ReikaWorldHelper.getBiomeTemp(DyeTrees.forest)); world.markBlockForRenderUpdate(rx, i, rz); world.markBlockForUpdate(rx, i, rz); } }*/ if (!world.isRemote) { if (ModList.THAUMCRAFT.isLoaded()) { if (rand.nextInt(25) == 0) this.fightTaint(world, x, y, z); if (rand.nextInt(20) == 0) this.fightEerie(world, x, y, z); if (rand.nextInt(10) == 0) this.convertPureNodeMagic(world, x, y, z); } if (ModList.MYSTCRAFT.isLoaded() && ReikaMystcraftHelper.isMystAge(world)) { if (rand.nextInt(20) == 0) this.fightInstability(world, x, y, z); if (rand.nextInt(10) == 0) this.fightDecay(world, x, y, z); } if (DyeOptions.RAINBOWSPREAD.getState() && rand.nextInt(50) == 0) this.convertToRainbowForest(world, x, y, z); } }
private boolean isValid(ItemStack is) { if (ReikaItemHelper.isBlock(is)) return true; if (ModList.IC2.isLoaded() && IC2Handler.IC2Stacks.SCRAPBOX.match(is)) return true; if (is.getItem().getClass() == lootBagClass) return true; if (ModList.MYSTCRAFT.isLoaded() && is.getItem() == MystCraftHandler.getInstance().folderID) { return true; } return false; }
private boolean generateIn(World world, boolean ore) { if (world.provider.dimensionId == ExtraChromaIDs.DIMID.getValue()) return true; if (ModList.MYSTCRAFT.isLoaded() && ReikaMystcraftHelper.isMystAge(world)) { if (ore ? !MystPages.Pages.ORES.existsInWorld(world) : !MystPages.Pages.PLANTS.existsInWorld(world)) { return false; } } return (world.getWorldInfo().getTerrainType() != WorldType.FLAT || ChromaOptions.FLATGEN.getState()) && !world.provider.hasNoSky; }
private void processItem(World world, int x, int y, int z) { if (ReikaItemHelper.isBlock(inv[0])) { Block b = Block.getBlockFromItem(inv[0].getItem()); ArrayList<ItemStack> li = b.getDrops( world, x, y, z, inv[0].getItemDamage(), this.getEnchantment(Enchantment.fortune)); li = ReikaItemHelper.collateItemList(li); if (!li.isEmpty()) { inv[1] = li.remove(0); overflow.addAll(li); } } else if (ModList.IC2.isLoaded() && IC2Handler.IC2Stacks.SCRAPBOX.match(inv[0])) { inv[1] = Recipes.scrapboxDrops.getDrop(inv[0], false); } else if (ModList.MYSTCRAFT.isLoaded() && inv[0].getItem() == MystCraftHandler.getInstance().folderID) { List<ItemStack> li = ReikaMystcraftHelper.getPagesInFolder(this.getPlacer(), inv[0], true); if (!li.isEmpty()) { inv[1] = li.remove(0); overflow.addAll(li); } } else if (inv[0].getItem().getClass() == lootBagClass) { ArrayList<ItemStack> li = new ArrayList(); int n = 8 + rand.nextInt(5); for (int i = 0; i < n; i++) { try { ItemStack is = (ItemStack) generateBagLoot.invoke(null, inv[0].getItemDamage(), rand); if (is != null) { li.add(is); } } catch (Exception e) { e.printStackTrace(); this.writeError(e); } } li = ReikaItemHelper.collateItemList(li); if (!li.isEmpty()) { inv[1] = li.remove(0); overflow.addAll(li); } } ReikaInventoryHelper.decrStack(0, inv); }